blob: b0760aed7f9814a271576ddeec0e4496c1e66f75 (
plain) (
tree)
|
|
#!/bin/sh
set -eu
usage() {
cat <<-'EOF'
Usage:
xmlentry FILENAME
xmlentry -h
EOF
}
help() {
cat <<-'EOF'
Options:
-h, --help show this message
FILENAME the name of the input .md file
Process FILE, and generate an Atom feed entry.
Examples:
Generate the XML entry for a TIL:
$ xmlentry src/tils/a-til.md > src/tils/a-til.xml
EOF
}
for flag in "$@"; do
case "$flag" in
--)
break
;;
--help)
usage
help
exit
;;
*)
;;
esac
done
while getopts 'h' flag; do
case "$flag" in
h)
usage
help
exit
;;
*)
usage >&2
exit 2
;;
esac
done
shift $((OPTIND - 1))
. src/lib.sh
FILENAME="${1:-}"
eval "$(assert_arg "$FILENAME" 'FILENAME')"
# shellcheck source=/dev/null
. "${FILENAME%.md}.conf"
envsubst < src/lib/entry.xml
head -n1 < "${FILENAME%.md}.htmlbody" | htmlesc
printf ' </summary>\n'
printf ' <content type="html" xml:base="%s">\n' "${url:?}"
htmlesc < "${FILENAME%.md}.htmlbody"
printf ' </content>\n'
printf ' </entry>\n'
|