#!/bin/sh

set -e

if [ ! $# = 1 ]; then
    printf >&2 "Usage: %s <path> [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 "- <span>$postdate</span> [$title](${name}.html)"
done
