diff options
author | Steph Enders <steph@senders.io> | 2024-02-29 09:31:15 -0500 |
---|---|---|
committer | Steph Enders <steph@senders.io> | 2024-02-29 09:31:15 -0500 |
commit | 2b39175011422a0d8f96d7f598f46e2a781dd28f (patch) | |
tree | dd896a1e35e2ec194bfce829afd61f553652464a /old/compile-md.sh | |
parent | 350a5058cf383733a7e75f753abdcd1cb7aae2c5 (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-x | old/compile-md.sh | 41 |
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 |