39 lines
510 B
Bash
Executable file
39 lines
510 B
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
render() {
|
|
NOTITLE="$1"
|
|
LASTLINE=""
|
|
TITLE=""
|
|
|
|
while read -r line ; do
|
|
if [[ "$line" =~ ^Subject:\ .*$ ]]; then
|
|
TITLE="${line#* }"
|
|
fi
|
|
if [[ ! "$line" =~ ^[^\ ]*:\ .*$ ]]; then
|
|
LASTLINE="$line"
|
|
break
|
|
fi
|
|
done
|
|
|
|
{
|
|
[ "$NOTITLE" == "0" ] && echo "# $TITLE";
|
|
echo "$LASTLINE";
|
|
cat
|
|
} | awk -f markdown.awk | ./page.sh "$TITLE"
|
|
|
|
}
|
|
|
|
NOTITLE=0
|
|
|
|
if [ "$1" == "--notitle" ]; then
|
|
NOTITLE=1
|
|
fi
|
|
|
|
if [ -t 0 ]; then
|
|
echo "Missing Markdown body"
|
|
exit 1
|
|
fi
|
|
|
|
render "$NOTITLE"
|