aboutsummaryrefslogtreecommitdiff
path: root/share/aux-repo/aux/workflow/md2html.sh
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-03-25 17:43:52 -0300
committerEuAndreh <eu@euandre.org>2023-03-25 17:43:52 -0300
commit4641e27bda25c6a85ddc0d3b35f1b58fe4ec2e49 (patch)
tree6e0633f2345996772a6591ea024c6f0bfe1fff04 /share/aux-repo/aux/workflow/md2html.sh
parentbin/aux: Allow files to be copied to be parameterized (diff)
downloaddotfiles-4641e27bda25c6a85ddc0d3b35f1b58fe4ec2e49.tar.gz
dotfiles-4641e27bda25c6a85ddc0d3b35f1b58fe4ec2e49.tar.xz
share/aux-repo/: Add existing files AS-IS
Diffstat (limited to 'share/aux-repo/aux/workflow/md2html.sh')
-rwxr-xr-xshare/aux-repo/aux/workflow/md2html.sh87
1 files changed, 87 insertions, 0 deletions
diff --git a/share/aux-repo/aux/workflow/md2html.sh b/share/aux-repo/aux/workflow/md2html.sh
new file mode 100755
index 0000000..957bfc2
--- /dev/null
+++ b/share/aux-repo/aux/workflow/md2html.sh
@@ -0,0 +1,87 @@
+#!/bin/sh
+set -eu
+
+. aux/lib.sh
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ aux/workflow/md2html.sh -N NAME_UC -T TITLE [-D TOC_DEPTH] < FILE.md
+ aux/workflow/md2html.sh -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+ Options:
+ -N NAME_UC the uppercased name of the project
+ -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 'N:T:D:h' flag; do
+ case "$flag" in
+ N)
+ NAME_UC="$OPTARG"
+ ;;
+ T)
+ TITLE="$OPTARG"
+ ;;
+ D)
+ TOC_DEPTH="$OPTARG"
+ ;;
+ h)
+ usage
+ help
+ exit
+ ;;
+ *)
+ usage >&2
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
+
+eval "$(assert_arg "${NAME_UC:-}" '-T TITLE')"
+eval "$(assert_arg "${TITLE:-}" '-T TITLE')"
+
+THE_LANG='en'
+
+ALTERNATES=/dev/null
+
+pandoc \
+ -s \
+ --toc \
+ --toc-depth="$TOC_DEPTH" \
+ --highlight-style=pygments \
+ --metadata lang="$THE_LANG" \
+ --metadata title="$TITLE - $NAME_UC" \
+ -r commonmark \
+ -w html \
+ -H aux/workflow/head.html \
+ -H "$ALTERNATES"