Moving to a Pure Emacs Setup for Blogging

2025-05-25

I finally moved my blog to a pure Emacs implemented static website generator.

It's built on a subset of functionalities from Org-Publish and ox-html. Content is picked with the help of Org-Roam and org-roam-ql. The code currently is surprisingly short, and is open-source as part of my my dotfiles.

As mentioned in the previous blog post, until yesterday I had generated my blog with a Haskell library called slick, which is a thin wrapper around Pandoc and friends. However, since I heavily depend on org-roam's features to maintain my blog, I have a personal wrapper glues all things together. Maintaining this wrapper was a fun project for me as I had never written any serious Haskell code, but it was also a burden for me as I needed to implement the same functionalities twice in both Emacs Lisp and Haskell. Hence the migration.

Reference