diff options
author | EuAndreh <eu@euandre.org> | 2021-06-06 10:11:14 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2021-06-06 10:11:14 -0300 |
commit | eef3c3e516c1b89f4a30d068a672dd00dd59f7b5 (patch) | |
tree | 1cad065719ae9e1149944e3f8a9a94c12189145c /aux/workflow/assert-readme.sh | |
parent | aux/: Use tabs over spaces for .sh files (diff) | |
download | remembering-eef3c3e516c1b89f4a30d068a672dd00dd59f7b5.tar.gz remembering-eef3c3e516c1b89f4a30d068a672dd00dd59f7b5.tar.xz |
README.md: Add explicit "Links" and "Releases" sections
Instead of generating the "Links" and "Releases" sections on the fly
and adding them to the end of the README.md before processing it with
aux/workflow/README.sh, embed those sections directly and use
aux/workflow/assert-readme.sh to make sure the metadata is there.
Before we had:
1. generate "Links" and "Releases" on the fly inside
aux/workflow/README.sh;
2. add those sections to the end of the README.md;
3. use the custom pandoc build command inside the
aux/workflow/README.sh file.
Now we have:
1. embed "Links" and "Releases" in the README.md directly;
2. use aux/workflow/assert-readme.sh to validate the correct metadata;
3. use the vanilla aux/workflow/commonmark.sh to generate the HTML.
Diffstat (limited to 'aux/workflow/assert-readme.sh')
-rwxr-xr-x | aux/workflow/assert-readme.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/aux/workflow/assert-readme.sh b/aux/workflow/assert-readme.sh new file mode 100755 index 0000000..47f7e25 --- /dev/null +++ b/aux/workflow/assert-readme.sh @@ -0,0 +1,36 @@ +#!/bin/sh +set -eu + +mkdir -p public + +PROJECT="$1" +MAILING_LIST="$2" + +EXPECTED="$(mktemp)" +cat <<EOF >> "$EXPECTED" + + +# Links + +- [home page](https://$PROJECT.euandreh.xyz) +- [source code](https://git.euandreh.xyz/$PROJECT/) +- [bug tracking](https://$PROJECT.euandreh.xyz/TODOs.html) +- [mailing list](https://lists.sr.ht/~euandreh/$MAILING_LIST?search=%5B$PROJECT%5D) +- [CI logs](https://$PROJECT.euandreh.xyz/ci.html) +- [CHANGELOG](https://$PROJECT.euandreh.xyz/CHANGELOG.html) +EOF + +RELEASES_LIST="$(mktemp)" +for version in $(git tag | perl -e 'print reverse <>'); do + echo "- version [$version](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$version.tar.gz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$version.tar.gz.asc)), released in $(git log -1 --format=%cd --date=short "$version")" >> "$RELEASES_LIST" +done + +if [ -s "$RELEASES_LIST" ]; then + printf '\n\n# Releases\n\n' >> "$EXPECTED" + cat "$RELEASES_LIST" >> "$EXPECTED" +fi + +if ! tail -n "$(wc -l < "$EXPECTED")" README.md | diff - "$EXPECTED"; then + echo 'Missing metadata at the end of README.md file' + exit 1 +fi |