#!/bin/sh set -eu usage() { cat <<-'EOF' Usage: md2html.sh -T TITLE [-D TOC_DEPTH] < FILE.md md2html.sh -h EOF } help() { cat <<-'EOF' Options: -T TITLE the required title of the generated HTML document -D TOC_DEPTH the depth of the generated table of contents (default: 2) -h, --help show this message Read markdown text from STDIN and emit HTML to STDOUT. EOF } for flag in "$@"; do case "$flag" in --) break ;; --help) usage help exit ;; *) ;; esac done TOC_DEPTH=2 while getopts 'T:D:h' flag; do case "$flag" in T) TITLE="$OPTARG" ;; D) TOC_DEPTH="$OPTARG" ;; h) usage help exit ;; *) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) eval "$(assert-arg "${TITLE:-}" '-T TITLE')" pandoc \ -s \ --toc \ --toc-depth="$TOC_DEPTH" \ --metadata lang=en \ --metadata title="$TITLE" \ -H src/doc/head.html