| newpost() { |
| |
| # 'cd' into the local jekyll root |
| |
| cd "$JEKYLL_LOCAL_ROOT/_posts" |
| |
| # Get the date for the new post's filename |
| |
| FNAME_DATE=$(date "+%Y-%m-%d") |
| |
| # Get the title for the new post |
| |
| read -p "Enter title of the new post: " POST_TITLE |
| |
| # Convert the spaces in the title to hyphens for use in the filename |
| |
| FNAME_POST_TITLE=`echo $POST_TITLE | tr ' ' "-"` |
| |
| # Now, put it all together for the full filename |
| |
| FNAME="$FNAME_DATE-$FNAME_POST_TITLE.$JEKYLL_FORMATTING" |
| |
| # And, finally, create the actual post file. But we're not done yet... |
| |
| touch "$FNAME" |
| |
| # Write a little stuff to the file for the YAML Front Matter |
| |
| echo "---" >> $FNAME |
| |
| # Now we have to get the date, again. But this time for in the header (YAML Front Matter) of |
| # the file |
| |
| YAML_DATE=$(date "+%B %d %X") |
| |
| # Echo the YAML Formatted date to the post file |
| |
| echo "date: $YAML_DATE" >> $FNAME |
| |
| # Echo the original post title to the YAML Front Matter header |
| |
| echo "title: $POST_TITLE" >> $FNAME |
| |
| # And, now, echo the "post" layout to the YAML Front Matter header |
| |
| echo "layout: post" >> $FNAME |
| |
| # Close the YAML Front Matter Header |
| |
| echo "---" >> $FNAME |
| echo >> $FNAME |
| |
| # Open the file in your favorite editor |
| |
| $EDITOR $FNAME |
| } |