This article is a quick description of the software stack used to publish this blog.
I have set up the Octopress repository as a remote called
up (upstream), and
2.5 branch mirrors the matching Octopress branch. This means that I can
adopt updates with the following commands.
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.
Also, since I’m using my own buildpack, the command for setting it up is different from the command in the guide I followed.
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.