#!/bin/sh -v

INF="$1"
if [ -z "$INF" ]
then
    INF="$HOME/perennial/general_notes/arbitrary_notes.txt"
fi
DATE="$2"
if [ -z "$DATE" ]
then
    DATE=`date '+%Y-%j'`
fi

if [ -z "$1" ] || [ -z "$2" ]
then
    :
    #echo "${0}: expected path to raw text notes and date"
    #exit 1
fi

BOUND_PATT='/^@[0-9]+\./,/^$/'
SANITISE='s/</\&lt;/g; s/>/\&gt;/g;'
LINKIFY='s|[a-z]+://[^ "]+|<a href="&">&</a>|g;'
LINEBREAK='/^@[0-9]+\./ s/$/<br>/;'
CROSSREF='s|([ (])(#[0-9]+)|\1<a href="\2">\2</a>|g;'
FRAGMENT='s|^@([0-9]+)\.|<a name="\1" href="#\1">&</a>|;'
PARAGRAPHS='s|^$|</p><p>|;'

sed "s/DATE/$DATE/" header.html >index.html
sed -E "${BOUND_PATT}{${SANITISE} ${LINKIFY} ${LINEBREAK} ${CROSSREF} ${FRAGMENT} ${PARAGRAPHS} p}; d" <"$INF" >>index.html
cat footer.html >>index.html
