|
|
|
@ -3,36 +3,26 @@
|
|
|
|
|
# by: Jay/nq4t/@music_onhold
|
|
|
|
|
|
|
|
|
|
# usage: ./compose.sh [category] [title]
|
|
|
|
|
# example: /compose.sh blog MY AWESOME BLOG TITLE NO YOU DON'T NEED TO ENCLOSE IT!
|
|
|
|
|
# example: /compose.sh blog MY AWESOME POST TITLE NO YOU DON'T NEED TO ENCLOSE IT!
|
|
|
|
|
# run in the root of your site files/repository
|
|
|
|
|
# assumes categories are directories in root
|
|
|
|
|
|
|
|
|
|
# Arguments and Variables
|
|
|
|
|
# Variables and category argument
|
|
|
|
|
category=$1
|
|
|
|
|
pd=$(date +'%Y-%m-%d')
|
|
|
|
|
pt=$(date +'%T')
|
|
|
|
|
file=blog$$.md
|
|
|
|
|
title=$2
|
|
|
|
|
# I'm lazy. I want every indvidual word after
|
|
|
|
|
# the first one to be the title. No special
|
|
|
|
|
# characters. Just cycle through them.
|
|
|
|
|
shift 2
|
|
|
|
|
for word in "$@"
|
|
|
|
|
do
|
|
|
|
|
title="$title $1";
|
|
|
|
|
shift 1;
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# Let's write the front matter to our file.
|
|
|
|
|
|
|
|
|
|
printf -- "---\ntitle: $title\nlayout: post\ndate: $pd $pt\nexcerpt_separator: <!--more-->\n---\n" >> $file
|
|
|
|
|
|
|
|
|
|
# Write the post in nano.
|
|
|
|
|
|
|
|
|
|
# Ditch the category argument
|
|
|
|
|
shift 1
|
|
|
|
|
# Read everything else as title.
|
|
|
|
|
title=$@
|
|
|
|
|
# Let's write the front matter to our temp file.
|
|
|
|
|
printf -- "---\ntitle: $title\nlayout: post\ndate: $pd $pt\nexcerpt_separator: <!--more-->\n---\n\n" >> $file
|
|
|
|
|
# Write the post in whatever editor you want.
|
|
|
|
|
nano + $file
|
|
|
|
|
|
|
|
|
|
# Rename the file and copy the post to the right directory.
|
|
|
|
|
|
|
|
|
|
# Make a lowercase copy of title.
|
|
|
|
|
t=${title,,}
|
|
|
|
|
# Move the file to category/_posts replacing spaces with hyphen
|
|
|
|
|
mv $file $category/_posts/$pd-${t// /-}.md
|
|
|
|
|
# Display some output to verify it's done.
|
|
|
|
|
printf "\nPost $title created in $category: $category/_posts/$pd-${t// /-}.md\n\n"
|
|
|
|
|