#!/bin/bash
O_LINK=0
O_PLAIN=0
if command -v multimarkdown >> /dev/null ; then
	MKD="multimarkdown"
elif command -v markdown >> /dev/null ; then
	MKD="markdown"
else
	echo "Markdown not found!"
	exit 2
fi
usage() {
	echo "Usage:"
	echo "  $0 [options] "
	echo "Options:"
	if [ "$MKD" = "markdown" ] ; then
		echo "  -l           Make Headers clickable (Only with multimarkdown)"
	else
		echo "  -l           Make Headers clickable"
	fi
	echo "  -o     Specify an outfile"
	echo "  -t   Specify a title"
	echo "  -p           Plain HTML, no css"
	exit 1
}
OUTFILE=""
TITLE=""
# Read options
while getopts lphHo:t: opt ; do
	case "$opt" in
		\-) break;;
		l) O_LINK=1 ;;
		p) O_PLAIN=1 ;;
		o) OUTFILE="$OPTARG";;
		t) TITLE="$OPTARG";;
		[hH]) usage ;;
	esac
done
shift $(expr $OPTIND - 1)
INFILE="$1"
if [ ! -f "$INFILE" ] ; then
	usage
fi
BASENAME="$(basename $INFILE)"
T_="$(echo -n $BASENAME|sed -re 's/\.(markdown|mkd|mk|md)$//')"
[ "$OUTFILE" = "" ] && OUTFILE="${T_}.html"
[ "$TITLE" = "" ] && TITLE="$(echo -n ${T_}|tr '_' ' ')"
echo "" > $OUTFILE
echo "" >> $OUTFILE
echo "	" >> $OUTFILE
echo "		$TITLE" >> $OUTFILE
if [ $O_PLAIN -eq 0 ] ; then
	echo "		" >> $OUTFILE
fi
if [ "$MKD" = "multimarkdown" -a $O_LINK -eq 1 ] ; then
	echo "		" >> $OUTFILE
	echo "		" >> $OUTFILE
fi
echo "	" >> $OUTFILE
echo "	" >> $OUTFILE
$MKD $INFILE >> $OUTFILE
echo "	" >> $OUTFILE
echo "" >> $OUTFILE