From 3bceeb4da5ec953309bbc3e61d04f078198966d2 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Tue, 27 Jul 2021 12:51:36 -0300 Subject: aux/: Update, adjust Makefile --- aux/workflow/TODOs.sh | 72 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 54 insertions(+), 18 deletions(-) (limited to 'aux/workflow/TODOs.sh') diff --git a/aux/workflow/TODOs.sh b/aux/workflow/TODOs.sh index 80059ee..efc0b04 100755 --- a/aux/workflow/TODOs.sh +++ b/aux/workflow/TODOs.sh @@ -1,26 +1,59 @@ #!/bin/sh set -eu -mkdir -p public - -PROJECT_UC="$1" -PROJECT="$2" -MAILING_LIST="$3" 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 -TODOS_REGEX='s/^## (TODO|DOING|WAITING|MEETING|INACTIVE|NEXT|CANCELLED|DONE) (.*) \{#(.*?)\}$/## \1<\/span> \2<\/a>\n#\3<\/span>\n/' -TAGS_REGEX='s/tag:([\w-]+)/\1<\/span>/g' +# shellcheck disable=1004 +IDS_REGEX='s:^## \(TODO\|DOING\|WAITING\|MEETING\|INACTIVE\|NEXT\|CANCELLED\|DONE\|WONTFIX\) \(.*\) {#\(.*\)}\(.*\)$:## \1 \2\4\ +
#\3
\ +:g' +TAGS_REGEX='s|tag:\([a-z0-9-]*\)|\1|g' -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" \ - < aux/workflow/preamble.md | \ - printf \ - '%s\n\n%s' \ - "$(cat -)" \ - "$(perl -pe "$TODOS_REGEX" TODOs.md | perl -pe "$TAGS_REGEX")" | \ +cat aux/workflow/preamble.md TODOs.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" \ + -e "$IDS_REGEX" \ + -e "$TAGS_REGEX" | pandoc \ --toc \ --highlight-style pygments \ @@ -31,5 +64,8 @@ sed -e "s:@PROJECT_UC@:$PROJECT_UC:g" \ -r commonmark \ -w html \ -H aux/workflow/favicon.html \ - -H aux/workflow/style.css \ - > public/TODOs.html + -H aux/workflow/style.css | + sed \ + -e 's:::g' \ + > "$OUTDIR/TODOs.html" -- cgit v1.2.3