Using org-mode with Jekyll
Since my journey into Google Docs’s Hell I have been getting more reacquainted with org-mode for other purposes as well. Traditionally, I have been writing this blog using Markdown and publishing it with Jekyll. I love Markdown, and while it is fine for most cases, but what better way to gain more experience with org-mode than to blog with it! The best tutorial that I have found so far is this one from the org mode web site: Using org to Blog with Jekyll. One “gotcha” that I have ran into so far, is everything breaking if I include a table of contents (which happens by default when you export to HTML). The simplest solution for this is to add the following to the top of your org flavored file.
#+OPTIONS: toc:nil
This allows the front-matter to be exported properly. I am also choosing not to include section numbering for my posts. So the complete front-matter for this post looks like this:
#+OPTIONS: toc:nil num:nil
#+BEGIN_HTML
---
layout: post
title: "Using org-mode with Jekyll"
permalink: /:title/
tags: hacking
---
#+END_HTML
Configuration
;; File ~/.emacs.d/customizations/setup-org.el
;; ...
;;;;
;; Projects
;;;;
;; levlaz.org Blog
(setq org-publish-project-alist
'(("levlaz"
;; Path to org files.
:base-directory "~/git/levlaz.org/_org"
:base-extension "org"
;; Path to Jekyll Posts
:publishing-directory "~/git/levlaz.org/_posts/2016/"
:recursive t
:publishing-function org-html-publish-to-html
:headline-levels 4
:html-extension "html"
:body-only t
)))
Workflow
- Add a new file to
git/levlaz.org/_org/$DATE-$TITLE.org - Add the front matter shown above
- Blog my heart out
- Check my spelling with
ispell - Publish the org file with
C-c C-e P p, this moves the file fromgit/levlaz.org/_org/to/git/levlaz.org/_posts/2016/$DATE-$TITLE.html - Build and Deploy my site with my Rakefile:
rake deploy.
Conclusion
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- SQLite DB Migrations with PRAGMA user_version
- Lev Lazinskiy
- Edge Detection with Inkscape
- Org Mode To Google Docs and Beyond
- Spring Security, Webjars, and MIME type error
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Deeper dive: Were Touch Bar’s problems software rather than hardware? from Unsung
- Joining Cursor from Fatih Arslan
- Pluralistic: Digital sewer socialism (08 Aug 2026) from Pluralistic: Daily links from Cory Doctorow
- Pluralistic: Enshittification and Reverse Centaurs go global (29 Jul 2026) from Pluralistic: Daily links from Cory Doctorow
- AI Mania Is Eviscerating Global Decision-Making from Ludicity
- The default person from https://popagandhi.com/
- No-One Escapes the Permanent Underclass from Fernando Borretti
- Is it ethical to use AI? from charity.wtf
Articles from blogs I follow around the net
So Long Relayd, and Thanks for All the Fish
So Long Relayd, and Thanks for All the Fish 2026-08-17 Running relayd alongside httpd on your OpenBSD web servers is no longer necessary for injecting HTTP security headers. Thanks to the incredible work by rsadowski@ we now have the ability to set our sec...
via btxx.org RSS Feed August 23, 2026YouTube’s right click relay
An interesting mechanism in YouTube I just learned of. If you right click once, you get their context menu: If you right click again, you get the native browser menu: This is clunky and not discoverable, but I can see YouTube team’s bind here. As far as I...
via Unsung August 22, 2026Generated by openring