#!/usr/bin/env sh set -eu if [ "$#" -lt 1 ]; then printf 'usage: blog-new "Title" [directory]\n' >&2 exit 2 fi title=$1 dir=${2:-content/drafts} date=$(date +%F) slug=$(printf '%s' "$title" | tr '[:upper:]' '[:lower:]' | sed -e 's/[^a-z0-9]/-/g' -e 's/-\{2,\}/-/g' -e 's/^-//' -e 's/-$//') file="$dir/$date-$slug.md" mkdir -p "$dir" if [ -e "$file" ]; then printf 'exists: %s\n' "$file" >&2 exit 1 fi { printf '%s\n' '---' printf 'title: "%s"\n' "$title" printf 'date: %s\n' "$date" printf 'status: draft\n' printf 'tags: []\n' printf '%s\n\n' '---' printf '# %s\n\n' "$title" } > "$file" printf '%s\n' "$file"