37 lines
629 B
Bash
37 lines
629 B
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
render() {
|
||
|
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
|
||
|
|
||
|
}
|
||
|
|
||
|
if [ -t 0 ]; then
|
||
|
echo "Missing Markdown body"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
render "$NOTITLE"
|