Back to templates

Template details

Jekyll Org

Org-mode converter for Jekyll — write posts and pages in Org syntax.

About this template

Jekyll Org is a Jekyll plugin that converts Org-mode files into static HTML posts and pages, letting you author your site in Emacs Org syntax instead of Markdown or YAML front matter.

What is Jekyll Org?

Jekyll Org is a Ruby gem created by eggcaker that adds Org mode support to Jekyll (version 3.0.0 and newer). It takes .org files placed in Jekyll's content directories (such as _posts) and converts them to HTML using the org-ruby library during the normal site build. The plugin is distributed under the MIT license and is currently looking for a new maintainer.

Key Features

  • Org-mode front matter — Use Org headers like #+TITLE, #+LAYOUT, and #+TAGS instead of YAML; tags are parsed by splitting on spaces, and tags with spaces can be wrapped in quotes.
  • Liquid templating — Enable Liquid tags per file with #+liquid: enabled, or site-wide by setting org: liquid: true in _config.yml, allowing dynamic output like the site date.
  • Source code highlighting — Works with pygments.rb; add a pygments-compatible CSS file to /assets/css/ and use #+BEGIN_SRC blocks for highlighted code.
  • Org tables and formatting — Standard Org-mode tables, headers, and markup are converted to HTML, as demonstrated in the included example post.
  • Simple installation — Add gem 'jekyll-org', '>= 1.1.0' to your Gemfile, run bundle install, and list jekyll-org under plugins in _config.yml (or gems for Jekyll versions before 3.5.0).

Who is it for?

  • Emacs and Org-mode users — Writers who already compose in Org and want to publish with Jekyll without switching to Markdown or YAML.
  • Jekyll bloggers — Anyone who prefers Org's header-based metadata and rich markup for blog posts and static pages.
  • Developers — Those who want to combine Liquid templating with Org-authored content for dynamic site features.
  • Technical writers — People maintaining documentation sites that rely on Jekyll and require code blocks, tables, and cross-references in Org syntax.

What can you do with Jekyll Org?

  • Org-native blogging — Write a post as a .org file in _posts; the plugin converts it to HTML during jekyll build.
  • Dynamic content — Enable Liquid with #+liquid: enabled and use variables like the current site time or custom header values for personalized output.
  • Highlighted code — Add pygments.rb and a CSS theme, then use #+BEGIN_SRC blocks to get syntax-highlighted output in your posts.
  • Work without external scripts — Unlike the happyblogger alternative, no separate Ruby script is needed; everything runs through Jekyll's converter pipeline.

How does Jekyll Org work?

To use it, first add the gem to your Gemfile and run bundle install. Then register the plugin by adding plugins: [jekyll-org] to _config.yml (older Jekyll uses gems:). Finally, create a .org file in a content directory with Org headers for metadata, and the plugin will convert it automatically when you build the site.

Pros and cons

Pros:

  • No YAML front matter; metadata lives directly in Org headers.
  • Org tables, tags, and markup are supported out of the box.
  • Liquid is optionally enabled per file or globally.
  • MIT licensed and free to use.

Cons:

  • The project is currently seeking a new maintainer, so future updates are uncertain.
  • Requires the org-ruby gem and is tied to Jekyll's Ruby ecosystem.

Alternatives

The README compares Jekyll Org with three similar projects: org2jekyll, which requires you to configure an org-publish-project-alist before writing posts; org-jekyll, which expects YAML front matter in Org files; and happyblogger, which uses an external Ruby script for conversion. Jekyll Org avoids these extra requirements by being a native Jekyll converter.

FAQ

Is Jekyll Org free?

Yes, Jekyll Org is open source under the MIT license, so you can use, modify, and redistribute it freely.

What do I need to install Jekyll Org?

You need Jekyll (version 3.0.0 or newer) and the org-ruby gem. Add jekyll-org to your Gemfile and plugins in _config.yml.

How do I enable Liquid templating?

Add #+liquid: enabled to an Org file's header, or set org: liquid: true in _config.yml to enable it for all Org files.

How do I get syntax highlighting?

Run bundle add pygments.rb, add a pygments-compatible CSS file to /assets/css/, and use #+BEGIN_SRC blocks in your Org files.

Is the project actively maintained?

As of the README, the original author is looking for someone to take over maintenance because they are no longer actively using Ruby and Jekyll.

screenshot of Jekyll Org on template0.com