1 Blog in Org2jekyll - 1. Motivation
This post is part 1 of a short series about writing in org mode.
I love Emacs, and Emacs's org-mode. It would be hard to list everything great about org-mode - it is an incredible tool - it replaces a word processor, spreadsheet, organizer and note taker for my design and coding. I often write code in Emacs, but living in debugger, coding for example in Groovy recently, makes Emacs not practical at some point (for debugging, but living in a debugger .. ). Netbeans and IntelliJ are my IDEs there, but I digress.
In the past, I used to do a (scarcely updated) blog at https://mzimmerm.blogspot.ca/. Blogspot felt unwieldy for some things; I wanted to find a better way; ideally be able to use Org mode to keep notes and comments on things I am interested in, and potentially share it in a blog format.
Having said that, history proves my "blogging" was so scarce, it should not be called that :) - maybe having a simple blog publishing workflow where I can share code snippets, equations (hopefully), and graphics relatively easily, it will motivate me.
So for a while, I was thinking about available blogging and home page options with a few criteria
- Be able to write pages and blog in org mode
- The platform should be more flexible than Blogspot
A few weekends ago I figured the reasonably best approach was github.io.
Once I decided to switch over from Blogspot to github.io (which uses Jekyll), I started to look for options to use Org to web page creation and blogging.
1.1 Selecting a package to blog in Org mode in Jekyll
Jekyll is by default, using Markdown to write blog posts. There seem to be three ways to blog in org-mode with Jekyll:
- Ian Barton's example site which is also given most room on org's Using org to Blog with Jekyll. One has to still use some amount of Jekyll's Yaml "front matter" in blogs
- jekyll-org adds ability to use Org mode settings in the "front matter". But to me there seems to be a disadvantage - this package uses Ruby to convert Org to html (rather than org-publish, as the other two packages). While I do not doubt Ruby's Org to html converter is good, I am not sure it completely supports Org syntax.
- Antoine Dumont's org2jekyll. In my books, this is the best package integrating Jekyll and Org mode posting. I decided to use this package.
The reasons I like org2jekyll the most:
- Only emacs dependencies are used.
- It is fairly easy to configure, although some configuration is still required.
- There is a nice straightforward workflow of pages and blog creating and publishing, all using Org.
In a future post, I will write more on the workflow of blogging using org2jekyll.
1.1.1 Selecting a Jekyll theme for my site and blog.
Next, was looking for a Jekyll theme. There is a huge number of Jekyll Themes, the two that I liked the most is the theme used by org2jekyll - as I decided to use Org2Jekyll anyway that was a great match. This theme is created using the "new Jekyll way", as a Ruby Gem; but I could not get it working. So I decided to use next best, a clean theme named as such - "jekyll clean".
1.2 Literate programming and live(ly) environments
Of course if there was a site supporting a kind of literate, live environment such as Lively Web, I would much prefer that! :)
Apart from lively, security is important. I thought Google Sites would be great for secure web thanks to Mark Miller's object-capabilities through Caja, but I lost track how that is used on Google Sites. I found Google Sites a bit restrictive - maybe I did not give it due time, and should revisit.
1.3 Conclusion
This is a first post in this blog on github.io, using Jekyll with the theme jekyll clean, the post written in the amazing Emacs's org-mode, using org2jekyll.
I hope the simplicity of Org mode and publishing on github.io will inspire me to write here more often.
The next step is to document how I installed all this, and the workflow of writing a blog in this Org mode + Jekyll environment.