diff --git a/.zs/index b/.zs/index index e08838c..1444c2b 100755 --- a/.zs/index +++ b/.zs/index @@ -21,8 +21,8 @@ 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 + # skip indices + if [[ "$name" == *index ]]; then continue; fi title="$(zs vars "$file" title)" if [ -z "$title" ]; then diff --git a/.zs/single-page b/.zs/single-page new file mode 100755 index 0000000..045f38f --- /dev/null +++ b/.zs/single-page @@ -0,0 +1,41 @@ +#!/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" + ZS_LAYOUT=embed.html zs build $file + echo "---" +done diff --git a/writing/all/index.md b/writing/all/index.md new file mode 100644 index 0000000..381c722 --- /dev/null +++ b/writing/all/index.md @@ -0,0 +1 @@ +{{ single-page writing }} diff --git a/writing/index.md b/writing/index.md index e3c4df0..aa664d1 100644 --- a/writing/index.md +++ b/writing/index.md @@ -1,6 +1,8 @@ -all posts (rss feed in the works...) +[post index](#post-index) +[all on one page](all) +[rss feed](#) {{ latest writing }} -### all posts +### post index {{ index writing }}