diff options
Diffstat (limited to 'share/aux-repo/aux/workflow/TODOs.sh')
-rwxr-xr-x | share/aux-repo/aux/workflow/TODOs.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/share/aux-repo/aux/workflow/TODOs.sh b/share/aux-repo/aux/workflow/TODOs.sh new file mode 100755 index 0000000..8b06d15 --- /dev/null +++ b/share/aux-repo/aux/workflow/TODOs.sh @@ -0,0 +1,65 @@ +#!/bin/sh +set -eu + +TLD="$(cat aux/tld.txt)" +PROJECT_UC= +while getopts 'n:N:m:o:' flag; do + case "$flag" in + n) + PROJECT="$OPTARG" + ;; + N) + PROJECT_UC="$OPTARG" + ;; + m) + MAILING_LIST="$OPTARG" + ;; + o) + OUTDIR="$OPTARG" + ;; + *) + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) + +assert_arg() { + if [ -z "$1" ]; then + echo "Missing $2" >&2 + exit 2 + fi +} + +assert_arg "${PROJECT:-}" '-n PROJECT' +assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST' +assert_arg "${OUTDIR:-}" '-o OUTDIR' + +if [ -z "${PROJECT_UC:-}" ]; then + PROJECT_UC="$PROJECT" +fi + + +td -H | + cat aux/workflow/preamble.md - | + sed \ + -e "s:@PROJECT_UC@:$PROJECT_UC:g" \ + -e "s:@PROJECT@:$PROJECT:g" \ + -e "s:@MAILING_LIST@:$MAILING_LIST:g" \ + -e "s:@TLD@:$TLD:g" | + pandoc \ + --toc \ + --highlight-style pygments \ + --toc-depth=2 \ + -s \ + --metadata title="$PROJECT_UC - TODOs" \ + --metadata lang=en \ + -r commonmark \ + -w html \ + -H aux/workflow/favicon.html \ + -H aux/workflow/style.css | + sed \ + -e 's:<a><a:<a:g' \ + -e 's:</a></a>:</a>:g' + +# FIXME: check TODOs.sh from euandre.org |