You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
830 B
40 lines
830 B
#!/bin/sh
|
|
|
|
#set -e
|
|
|
|
if [ ! $# = 1 ]; then
|
|
printf >&2 "Usage: %s <path> [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 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")
|
|
fi
|
|
|
|
echo "- <span>$postdate</span> [$title](${p}/${name}.html)"
|
|
done
|