#!/bin/sh set -e if [ ! $# = 1 ]; then printf >&2 "Usage: %s [ext]\n" "$(basename "$0")" exit 0 fi _path="$1" ext="${2:-md}" if [ ! -d "$_path" ]; then printf >&2 "error: path %s not found\n" "$_path" exit 1 fi find "$_path" -type f -name "*.$ext" | sort -r | while read -r file; do name="${file#"$_path"}" name="${name#"/"}" name="${name%.*}" # skip indices 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" || true) fi echo "- $postdate [$title](${name}.html)" done