Blog Setup
This article is a quick description of the software stack used to publish this blog.
Octopress
The blog uses the 2.5 branch of the Octopress static blog generator.
I have set up the Octopress repository as a remote called up
(upstream), and
my 2.5
branch mirrors the matching Octopress branch. This means that I can
adopt updates with the following commands.
I followed the official guides for Initial Setup, Configuration, and Blogging. Although they are written for Octopress 2.0, they still apply to 2.5.
Heroku
The blog is deployed on the Heroku platform, and using their generous free tier. I use one dyno and no plugins.
I did not follow the Octopress deployment guide for Heroku, because I did not agree with the approach of checking in the generated static pages.
Instead, I used an Octopress buildpack, which generates the static pages when I push to Heroku's git repository.
This build pack is basically Heroku's official Ruby buildpack, with the Octopress logic borrowed from jgarber's Octopress buildpack. I'm betting that Heroku will update their buildpack much more frequently than I'll have to update the Octopress bits, so I'm using a rebasing workflow for the buildpack.
I followed jgarber's setup guide for the Octopress buildpack, with the exception of the Pygments setup, which is no longer required
Also, since I'm using my own buildpack, the command for setting it up is different from the command in the guide I followed.
Discussion
I really like that I have my contents in a portable form (Markdown), so I can migrate to a different blogging system, such as ghost, if I want to.
I don't really like the Octopress theme. I like the styling in ghost and the typography in medium. Octopress won because of its simple setup (Ghost stores images in the filesystem, so it doesn't work well on Heroku), because it's not restrictive (medium requires draft reviewers to log in with Twitter). Good support for code highlighting doesn't hurt.
Given an unlimited amount of time, I would have used the middleman static site generator with its support for blogs and syntax highlighting.