aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rwxr-xr-xaux/workflow/manpages2html.sh40
-rwxr-xr-xdoc/manpages.sh28
3 files changed, 44 insertions, 26 deletions
diff --git a/Makefile b/Makefile
index 2d094a0..cd93af9 100644
--- a/Makefile
+++ b/Makefile
@@ -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" \