diff options
author | EuAndreh <eu@euandre.org> | 2022-02-19 17:38:21 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2022-02-19 17:40:30 -0300 |
commit | bbcf49ac9abe7b4bdbc616ccd8ae8b8b0ac63bb5 (patch) | |
tree | de39968bb152098961b8beaeb2bf326d2bcdebf9 | |
parent | aux/workflow/style.css: Customize <pre> and <code> tag colors for dark mode (diff) | |
download | git-permalink-bbcf49ac9abe7b4bdbc616ccd8ae8b8b0ac63bb5.tar.gz git-permalink-bbcf49ac9abe7b4bdbc616ccd8ae8b8b0ac63bb5.tar.xz |
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | aux/workflow/manpages2html.sh | 40 | ||||
-rwxr-xr-x | doc/manpages.sh | 28 |
3 files changed, 44 insertions, 26 deletions
@@ -121,7 +121,7 @@ l10n-gen: README.en.md CHANGELOG.en.md $(manpages.en.in) public: l10n-gen all TODOs.md $(manpages) sh aux/workflow/public.sh -l '$(TRANSLATIONS) $(CONTRIBLANGS) en' \ -n '$(NAME)' -m '$(MAILING_LIST)' -o public - sh doc/manpages.sh -Ho public $(manpages) + sh aux/workflow/manpages2html.sh -o public $(manpages) spellcheck: public sh aux/workflow/assert-spelling.sh -l '$(TRANSLATIONS) en' \ diff --git a/aux/workflow/manpages2html.sh b/aux/workflow/manpages2html.sh new file mode 100755 index 0000000..2498b5c --- /dev/null +++ b/aux/workflow/manpages2html.sh @@ -0,0 +1,40 @@ +#!/bin/sh +set -eu + +while getopts 'o:' flag; do + case "$flag" in + 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 "${OUTDIR:-}" '-o OUTDIR' + +for f in "$@"; do + l="$(echo "$f" | awk -F. '{print $(NF-1)}')" + n="$(echo "$f" | awk -F. '{print $NF}')" + to_name="$(basename "${f%."$l"."$n"}.$n.html")" + mkdir -p "$OUTDIR/$l" + pandoc \ + --toc \ + --toc-depth=2 \ + -s \ + -r man \ + -w html \ + -H aux/workflow/favicon.html \ + -H aux/workflow/style.css \ + --metadata "lang=$l" \ + < "$f" > "$OUTDIR/$l/$to_name" +done diff --git a/doc/manpages.sh b/doc/manpages.sh index 983a83a..8b30c0f 100755 --- a/doc/manpages.sh +++ b/doc/manpages.sh @@ -1,7 +1,7 @@ #!/bin/sh set -eu -while getopts 'iuHo:p:' flag; do +while getopts 'iup:' flag; do case "$flag" in i) ACTION=install @@ -9,12 +9,6 @@ while getopts 'iuHo:p:' flag; do u) ACTION=uninstall ;; - H) - ACTION=html - ;; - o) - OUTDIR="$OPTARG" - ;; p) MANPREFIX="$OPTARG" ;; @@ -32,29 +26,14 @@ assert_arg() { fi } -assert_arg "${ACTION:-}" '-[iuH] for choosing action' +assert_arg "${ACTION:-}" '-[iu] for choosing action' +assert_arg "${MANPREFIX:-}" '-p MANPREFIX' for f in "$@"; do l="$(echo "$f" | awk -F. '{print $(NF-1)}')" n="$(echo "$f" | awk -F. '{print $NF}')" case "$ACTION" in - html) - assert_arg "${OUTDIR:-}" '-o OUTDIR' - to_name="$(basename "${f%."$l"."$n"}.$n.html")" - mkdir -p "$OUTDIR/$l" - pandoc \ - --toc \ - --toc-depth=2 \ - -s \ - -r man \ - -w html \ - -H aux/workflow/favicon.html \ - -H aux/workflow/style.css \ - --metadata "lang=$l" \ - < "$f" > "$OUTDIR/$l/$to_name" - ;; install) - assert_arg "${MANPREFIX:-}" '-p MANPREFIX' to_name="$(basename "${f%."$l"."$n"}.$n")" mkdir -p "$MANPREFIX/$l/man$n" "$MANPREFIX/man$n" cp "$f" "$MANPREFIX/$l/man$n/$to_name" @@ -62,7 +41,6 @@ for f in "$@"; do "$MANPREFIX/man$n/$to_name" ;; uninstall) - assert_arg "${MANPREFIX:-}" '-p MANPREFIX' to_name="$(basename "${f%."$l"."$n"}.$n")" rm -f \ "$MANPREFIX/$l/man$n/$to_name" \ |