#!/usr/bin/env bash
set -ex
if [ $# -ne 4 ]; then
echo "./compile-md.sh [page|blog] [title] [in.md] [out.html]"
exit 1
fi
ptype=$1
title=$2
in=$3
out=$4
if [ $ptype == "blog" ]; then
cat templates/blog-header.html > $out
else
if [ $ptype == "page" ]; then
cat templates/page-header.html > $out
else
echo "Missing first parameter: [page|blog]"
exit 1
fi
fi
pclass=$(echo "$title" | tr [:upper:] [:lower:])
sed -i "s/PAGE_TITLE/$title/" $out # replace title
sed -i "s/PAGE_CLASS/$pclass/" $out # replace class
markdown -f fencedcode $in >> $out
if [ $1 == "blog" ]; then
cat templates/blog-footer.html >> $out
else
cat templates/page-footer.html >> $out
fi
# update tags that are external vs internal - assumes all internal links us relative routes
sed -E -i "s/()/\1 rel=\"external noopener noreferrer\" target=\"_blank\" \2/g" $out
./tidy.sh $out