knazarov.com/bin/mdpage.sh

43 lines
724 B
Bash
Raw Normal View History

2023-06-12 12:40:15 +00:00
#!/usr/bin/env bash
2021-08-08 09:37:53 +00:00
set -e
render() {
2023-08-17 22:59:22 +00:00
NOTITLE="$1"
LASTLINE=""
TITLE=""
while read -r line ; do
if [[ "$line" =~ ^Subject:\ .*$ ]]; then
TITLE="${line#* }"
fi
if [[ "$line" =~ ^X-Date:\ .*$ ]]; then
DATE="${line#* }"
fi
if [[ ! "$line" =~ ^[^\ ]*:\ .*$ ]]; then
LASTLINE="$line"
break
fi
done
{
[ "$NOTITLE" == "0" ] && echo "# $TITLE";
echo "$LASTLINE";
cat
} | awk -f ./bin/markdown.awk | ./bin/page.sh "$TITLE" "$DATE"
2021-08-08 09:37:53 +00:00
}
NOTITLE=0
if [ "$1" == "--notitle" ]; then
2023-08-17 22:59:22 +00:00
NOTITLE=1
2021-08-08 09:37:53 +00:00
fi
if [ -t 0 ]; then
2023-08-17 22:59:22 +00:00
echo "Missing Markdown body"
exit 1
2021-08-08 09:37:53 +00:00
fi
render "$NOTITLE"