From cd9b2fac69f62f7bec652cd394fabe97e788b283 Mon Sep 17 00:00:00 2001 From: Jonathan Dahan Date: Wed, 15 May 2024 01:00:21 -0400 Subject: [PATCH] /writing: classic blog posts --- .zs/embed.html | 3 +++ .zs/index | 39 +++++++++++++++++++++++++++++++++++++++ .zs/latest | 19 +++++++++++++++++++ writing/index.md | 7 ++++++- 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 .zs/embed.html create mode 100755 .zs/index create mode 100755 .zs/latest diff --git a/.zs/embed.html b/.zs/embed.html new file mode 100644 index 0000000..8b3cf50 --- /dev/null +++ b/.zs/embed.html @@ -0,0 +1,3 @@ +# {{ title }} + +{{ content }} diff --git a/.zs/index b/.zs/index new file mode 100755 index 0000000..e08838c --- /dev/null +++ b/.zs/index @@ -0,0 +1,39 @@ +#!/bin/sh + +#set -e + +if [ ! $# = 1 ]; then + printf >&2 "Usage: %s [ext]\n" "$(basename "$0")" + exit 0 +fi + +printf >&2 "hello world from %s" "$p" + +p="$1" +t="${2:-md}" + +if [ ! -d "$p" ]; then + printf >&2 "error: path %s not found\n" "$p" + exit 1 +fi + +find "$p" -type f -name "*.$t" | sort -r | while read -r file; do + name="${file#"$p"}" + name="${name#"/"}" + name="${name%.*}" + # skip the index + if [ "$name" = "index" ]; then continue; fi + + title="$(zs vars "$file" title)" + if [ -z "$title" ]; then + title="$name" + fi + + postdate="$(zs vars "$file" postdate)" + if [ -z "$postdate" ]; then + inputdate=$(basename $file | cut -d- -f1-3) + postdate=$(date -j -f "%Y-%m-%d" "$inputdate" "+%h %Y") + fi + + echo "- $postdate [$title](${p}/${name}.html)" +done diff --git a/.zs/latest b/.zs/latest new file mode 100755 index 0000000..fcde272 --- /dev/null +++ b/.zs/latest @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +if [ ! $# = 1 ]; then + printf >&2 "Usage: %s [ext]\n" "$(basename "$0")" + exit 0 +fi + +p="$1" +t="${2:-md}" + +if [ ! -d "$p" ]; then + printf >&2 "error: path %s not found\n" "$p" + exit 1 +fi + +find "$p" -type f -name "*.$t" | grep -v 'index.md$' | sort -r | head -n1 | while read -r file; do + ZS_LAYOUT=embed.html zs build $file +done diff --git a/writing/index.md b/writing/index.md index 631ee76..e3c4df0 100644 --- a/writing/index.md +++ b/writing/index.md @@ -1 +1,6 @@ -writing +all posts (rss feed in the works...) + +{{ latest writing }} + +### all posts +{{ index writing }}