diff --git a/engine/new-post.sh b/engine/new-post.sh new file mode 100755 index 0000000..26e5f92 --- /dev/null +++ b/engine/new-post.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env zsh + +postsdir=src/posts +title="$*" +scrub=$(echo "$title" | tr '[:upper:]' '[:lower:]' | perl -pe 's/[^a-z0-9_]+/-/g;s/-+$//') + +lastnumber () { +for d in "$postsdir"/*; do + number=$(echo "${d:t}" | sed 's/-.*$//') + echo "$number" +done | sort -n | tail -n 1 +} + +n=$(lastnumber) +newdir=$(printf "%04d-%s" $((n+1)) "$scrub") +dst="$postsdir/$newdir/index.org" +today=$(date +"[%Y-%m-%d %a]") + +mkdir "${dst:h}" +cat > "$dst" <