Tonλ's blog May the λ be with you

org2jekyll - blog with org & jekyll

by @ardumont on

1 Rationale

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 https://github.com/ardumont/org2jekyll

2 Setup

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

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

4 Install

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

Install from melpa-stable or from github releases.

4.1 Melpa-stable

(require 'package)
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)

M-x package-install RET org2jekyll RET

Note: You could also use the melpa version which follows more closely the repository's master branch. I do cut release as soon as possible so there should not be much advantage over melpa-stable.

4.2 Marmalade

I used to do the work of releasing there as well but I stopped around May 2020 as melpa is way less work to maintain.

4.3 github

I do use the github release mechanism so you can install from there:

wget https://github.com/ardumont/org2jekyll/releases/download/0.2.4/org2jekyll-0.2.4.tar

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

Or simply clone the repository and load the org2jekyll.el file.

5 Contribution/Issues

I intend to continue maintaining org2jekyll.

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

I will do my best to answer to issues but that could take some time.

6 Inspiration

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

Latest posts