aboutsummaryrefslogtreecommitdiff
#!/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