From Octopress to Jekyll
After 4 months' idleness, I've come back to my blog and decide to take another look at the blogging tools.
What do I need for blogging tools?
As a developer using Emacs, I've taken the following as prerequisites:
- Blog source in
Github Pageor similar static blog hosting sites (e.g.
And what actually makes a blog site?
Articles linked in a website-way: uniform theme, front page, navigator, catogories and etc.
So naturally a static site generator would be sufficient. For the record, one
year ago I used my own self-hosted
wordpress, which is easier to use but as a
developer I found I know too little and it was an overkill solution for a blog.
About choosing the right static site generator, I've found StaticGen, which is a
ranking site to static site generators as DistroWatch.com to
distributions. I was using Octopress. Two potential candidates are Jekyll, which
is what's used by
Github Page and Hexo, ranked as the third, a
generator that seems to be compatible with
Octopress. I'm interested in
as recently I've started a project using
nodejs-webkit, another story.
Other successful stories on
org-mode-related blogs have suggested: Blogofile,
Pelican and Nikola.
Octopress/Rails is NOT KISS.
This site was using
Octopress and some of my posts here are about configuring
Octopress is not hard to use. As a complete beginner, it took me
about two days to setup up the blog (with Org-octopress), and by the third I was
able to play with the source to add some small new features. The issue with
Octopress is that it feels like
Rails: convenient, powerful and
highly-customizable, but as a newbie the learning curve is steep. I don't feel I
understand the structure at all and lost in features…
So maybe another time for
Octopress. To learn more, I decided to go with the
KISS: use simple/single-purpose tools and chain them together.
Notes on the migration.
The choice is
Octopress claims to base on. This article is
very helpful in making this decision. The breakdown steps in that article help
me understand the missing pieces from
Org files to
Markdownnatively, but it also can deal with HTML with special headers (
Org-publishexport org files to HTML format.
- Insert the required header to the exported HTML files and put the result
Jekylldirectory. It's DONE!
And it turns out there are many Emacs packages deal with these steps. I choose
org2jekyll for its simplicity and separation of
Org header and
An afternoon is all it takes to finish the migration. Yep, I lose some features like comments, tag cloud and etc, but I also understand the insides much clearer. I plan to add back features step by step with more confidence!
More to desire.
org2jekyll is the bridge between
Jekyll. There are some issues I'd
like to see fixed and features to be implemented. Now I can focus on "simple"
org-publish. This kind of clarity
and confidence didn't come out from many weeks working with
Org-octopress: too many levels of abstractions impede understanding. Maybe
some day I'll be back to
Octopress for its strength, but surely after I've
learned more with the KISS ^_^