summaryrefslogtreecommitdiff
path: root/old/compile-md.sh
diff options
context:
space:
mode:
authorSteph Enders <steph@senders.io>2024-02-29 09:31:15 -0500
committerSteph Enders <steph@senders.io>2024-02-29 09:31:15 -0500
commit2b39175011422a0d8f96d7f598f46e2a781dd28f (patch)
treedd896a1e35e2ec194bfce829afd61f553652464a /old/compile-md.sh
parent350a5058cf383733a7e75f753abdcd1cb7aae2c5 (diff)
Initial rework commit: Build Script POC and CSS done
I've created the main CSS layout and a proof of concept for the build script: this will actually build any "done" _post/ file and generate it as a workable HTML file. However, no index file generate, rss, or gemini is implemented
Diffstat (limited to 'old/compile-md.sh')
-rwxr-xr-xold/compile-md.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/old/compile-md.sh b/old/compile-md.sh
new file mode 100755
index 0000000..e0277eb
--- /dev/null
+++ b/old/compile-md.sh
@@ -0,0 +1,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 -f autolink $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