diff --git a/blog/builder.sh b/blog/builder.sh index 6a5fe67..6d3cf9f 100644 --- a/blog/builder.sh +++ b/blog/builder.sh @@ -7,6 +7,13 @@ cp -r $src/* . # We have to manually edit the configuration. sed -i "$urlSub" config.toml +# Run the submodule command in the source .git +# repo, amending the config. +cwdir=$(pwd) +cd $src +ruby $submodules >> $cwdir/config.toml +cd $cwdir + # Build site with Hugo hugo $extraFlags diff --git a/blog/submodule-links.rb b/blog/submodule-links.rb new file mode 100644 index 0000000..5bc5bb8 --- /dev/null +++ b/blog/submodule-links.rb @@ -0,0 +1,19 @@ +puts "[params]" +puts " [params.submoduleLinks]" + +`git submodule status --recursive`.lines do |line| + hash, path = line[1..].split " " + next unless path.start_with? "code/" + code_path = path.delete_prefix "code/" + url = `git config --file .gitmodules --get 'submodule.#{path}.url'`.chomp.delete_suffix(".git") + safe_name = code_path.gsub(/\/|-|_/, "") + + if url =~ /dev.danilafe.com/ + file_url = "#{url}/src/commit/#{hash}" + else + raise "Submodule URL not in a known format!" + end + puts " [params.submoduleLinks.#{safe_name}]" + puts " path = #{code_path.dump}" + puts " url = #{file_url.dump}" +end