#!/bin/bash

#
# Generate new content.
#
# Usage:
#   bin/new [post|article] SLUG
#
# Examples:
#   # create new post with slug "great-news" and title "Great News"
#   bin/new post great-news
#
#   # create new article with slug "some-stuff" and title "Some Stuff"
#   bin/new article some-stuff
#
#   # print help
#   bin/new help
#

# set sane error handling
set -eu

# switch on type
if [ "$1" = 'post' ]; then
  DATE=$(date +%Y-%m-%d)
  exec hugo new --editor $EDITOR posts/"$DATE"-"$2".md
elif [ "$1" = 'project' ]; then
  # disabled, use projects.yaml instead
  # exec hugo new --editor $EDITOR projects/"$2".md
  echo "Error: Populate data/projects.yaml instead."
elif [ "$1" = 'article' ]; then
  # create article
  exec hugo new --editor $EDITOR articles/"$2".md
elif [ "$1" = 'help' -o "x$1" = 'x' ]; then
  # print usage
  echo "Usage: $0 [post|article]"
else
  echo "unknown type: $1"
fi