summaryrefslogtreecommitdiff
path: root/compile-md.sh
blob: 5b5580c79b49d06fa1569708087d28c30c740c0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/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 <a> tags that are external vs internal - assumes all internal links us relative routes
sed -E -i "s/(<a)(.+href=\"http.+\".+>)/\1 rel=\"external noopener noreferrer\" target=\"_blank\" \2/g" $out

./tidy.sh $out