Easy Jekyll post drafting
Jekyll, the static site compiler powering this blog, comes with a nice draft
feature for some time now. Draft posts are placed into the _drafts
directory
instead of the normal _posts
directory and built and served only if a special
flag is passed to Jekyll. After using this for some time now, it became a real
chore to name and rename the files according to the proper Jekyll conventions
(e.g. _posts/2013-23-12-foo-bar-baz.md
). Of course, I had to do something
about it …
Using this tiny script, I can now create regular posts or drafts with the YAML header simply by writing
$ jk post A post about this
$ jk draft A draft about that
Furthermore, I can move posts between both directories, identifying the file in question via a simple fuzzy search1, e.g.
$ jk switch about that
Moved _drafts/2013-12-30-a-draft-about-that.md -> _posts/2014-01-08-a-draft-about-that.md
moves the post to the drafts directory. The same mechanics is used to edit a file, e.g. Vim is launched for the draft if, I run
$ jk edit about that
That’s it.
The implementation is questionable but it works fine for me.