Superloopy Logo

How I Blog (This Week)

I share my Emacs & Org-mode setup for blogging with Jekyll.

I've long used Jekyll to assemble my blog, and Emacs two write all my content and templates. I've been wanting to use jekyll-org to write my blog entries directly in Org format, but that is unfortunately not possible yet, in the way I want it to work. However, I have found a work-around I am happy with for now.

Recently I've started exploring Org-mode's Capture templates, and I've now set up a new template for capturing the outline of a blog post. The template is called and lives in my ~/org folder. It looks like this:

* NEXT %^{Title}
  :EXPORT_FILE_NAME: ~/play/<%Y-%m-%d>-draft-blog-post
#+OPTIONS: toc:nil
title: %\1
layout: post
abstract: %^{Abstract}
tags: %^{Tags (comma separated)}



In my Emacs config I add an entry like this:

(add-to-list 'org-capture-templates
             '("b" "Blog Post" entry (file+headline "" "Blog")
               (file "") :empty-lines-before 1))

This means I can hit C-c c b and a buffer opens up prompting me for Title, Abstract and Tags, and have these inserted into a new entry. I can then type a rough draft of my post. Hitting C-c C-c saves the draft to my file under the Blog heading.

When I've had a chance to review the nascent blog post I can export it to HTML, from the Org Export Dispatcher: C-c C-e. I have to remember to select Body only by hitting C-b and usually Export scope: Subtree by hitting C-s, before I export to HTML with h h. Because of the EXPORT_FILE_NAME property, Org puts the exported file directly into my Jekyll _posts directory, where it will be picked up.

Because I end up checking in HTML source, rather than Org source it is not entirely ideal if I then need to go back editing blog posts. But in my experience I don't do that a lot. And if I do then I should be able to find my old source in my ~/org/ file, where most deleted from ~/org/ ends up. This directory is in iCloud Drive.

Date: 2016-10-06

Author: Stig Brautaset

Created: 2017-06-10 Sat 21:59