#!/bin/sh set -euo pipefail usage() { echo 'Usage: htmlbody FILENAME.adoc' } FILENAME="${1:-}" eval "$(assert-arg -- "$FILENAME" 'FILENAME.adoc')" plaintext_links() { awk -v BASE="$(basename "$FILENAME" .adoc)".html l' { print } /^----$/ { in_block = !in_block if (in_block) { next } file = BASE "." count++ ".txt" print "[role=plaintext]" print "link:" file "[plaintext]" }' "$1" } indent_4_blocks() { printf '
%s
' "$(cat -)" | tidy -quiet -indent -xml | head -n -4 | tail -n +5 } plaintext_links "$FILENAME" | asciidoctor -s - | indent_4_blocks