diff options
Diffstat (limited to '')
-rw-r--r-- | post.sh | 45 |
1 files changed, 45 insertions, 0 deletions
@@ -0,0 +1,45 @@ +#!/bin/sh + +set -e + +find_next_id() { + last_id=$(fd -td '\d+' content/ -x echo '{/}' | sort -nr | head -n1) + printf '%d\n' $((last_id + 1)) +} + +print_front_matter() { + cat <<-EOF + +++ + # title = "" + + [taxonomies] + tags = [] + + [extra] + mentions = [] + +++ + EOF +} + +add_date() { + sed -i "1a date = $(date -Iseconds)" "$1" +} + +cleanup() { + rm -f "$tmpfile" + exit 1 +} + +tmpfile=$(mktemp --suffix=.md) + +trap "{ rm -f $tmpfile; }" EXIT + +print_front_matter > "$tmpfile" +$EDITOR "$tmpfile" + +add_date "$tmpfile" + +dir="content/$(find_next_id)" + +mkdir "$dir/" +cp "$tmpfile" "$dir/index.md" |