Table of Contents
1 Rationale
After reading existing tutorials about org-mode and jekyll:
- http://orgmode.org/worg/org-tutorials/org-jekyll.html
- http://www.gorgnegre.com/linux/using-emacs-orgmode-to-blog-with-jekyll.html
- https://pavpanchekha.com/blog/org-mode-publish.html
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
3 Example
Here is my working setup:
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.