#!/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 $((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 "" echo "" echo " " echo " $TITLE" if [ $O_PLAIN -eq 0 ] ; then echo " " fi if [ "$MKD" = "multimarkdown" ] && [ $O_LINK -eq 1 ] ; then echo " " echo " " fi echo " " echo " " $MKD "$INFILE" echo " " echo "" ) > "$OUTFILE"