Tonλ's blog May the λ be with you

org2jekyll - blog with org & jekyll

by @ardumont on


After reading existing tutorials about org-mode and jekyll:

And making them work…

I was not satisfied with the existing solution.

Why? Because we need to adapt the org-mode file with specific jekyll yaml settings inside an org-mode html block code.

But here is my thing, I don't want to adapt org with alien yaml or any other strange metadata. I'd like to have some standard org metadata, for example:

#+LAYOUT: post
#+AUTHOR: ardumont
#+DATE: 2014-12-19 Fri 23:49
#+STARTUP: showall
#+STARTUP: hidestars
#+OPTIONS: H:2 num:nil tags:nil toc:1 timestamps:t
#+TITLE: hello
#+DESCRIPTION: some description
#+CATEGORIES: some-category

Then publish the blog post (M-x org2jekyll/publish!).

Using some emacs-lisp incantation, we can make org-publish and jekyll work together.

So, here comes


For this to work, you need to have this ready:

  • jekyll
  • org-publish (ox-publish since 24.4)
  • org2jekyll


Ok, I'm sold! How do I install org2jekyll?

Install from marmalade available or from github releases.


(require 'package)
(add-to-list 'package-archives '("marmalade" . "") t)

M-x package-install RET org2jekyll RET



M-x package-install-file RET org2jekyll.tar


I intend to maintain this as the other solution referenced are no longer.

As usual, feel free to open issues on the tracker or pull requests.

As all of you, I have other things to attend to but I'll do my best to answer.


I used a lot the great org2blog (org -> wordpress bridge) and was inspired by the name and the org headers approach.

Latest posts