Blogging with Gleam, Org-Mode and Pandoc
A developer details a static site publishing pipeline using Emacs, Org-mode, Pandoc, Blogatto, Gleam, Lustre, and Nix.
summary is enough An interesting over-engineered Emacs/Gleam setup, but the specific toolchain choices are mostly a personal preference exercise rather than generally applicable architectural advice.
summary
The author describes their personal blogging setup, which centers on writing posts in Emacs using Org-mode with D2 diagrams and Babel blocks. To publish the site, a custom pipeline converts Org files via Pandoc to Markdown, which is then processed by a type-checked Gleam and Lustre static-site generator called Blogatto. The entire build environment is pinned and managed using Nix flakes and devenv. Commenters question why standard tools like Org-publish or pure Emacs Lisp weren't used instead of adding Gleam and Pandoc.
key points
- Org-mode is used as the primary authoring format inside Emacs, supporting literate programming blocks and inline D2 diagrams.
- Pandoc acts as the bridge, converting Org-mode source files into GitHub Flavored Markdown along with Lua filters for citations and images.
- Blogatto, written in Gleam and using Lustre for HTML templating, compiles the generated Markdown into a static site with type safety.
- Nix and devenv ensure a fully reproducible build and development environment across systems.
who should read it
Emacs enthusiasts, functional programmers, and developers interested in custom static site pipelines.
discussion mixed
consensus
Commenters generally point out that this setup is heavily over-engineered, noting that native Emacs tools like org-publish or a few lines of Elisp could achieve the same blogging workflow with far less friction.
pushback
One commenter highlights that for someone whose muscle memory is entirely rooted in Emacs, a custom pipeline provides the same seamless writing comfort that simpler platforms like WordPress offer non-technical users.
Someone who spends his day in emacs writing code and org-mode for work will have the muscle-memory and lisp knowledge to make emacs and org-mode as easy for him as WordPress is for you.
I've been subscribed to a mailing list for many years, of which perhaps half I actively participated in the mailing list. Almost the entire time I used alpine, a terminal mail client, hosted on a remote server, getting its mail from and sending it through gmail. A stupid setup, perhaps, but it was productive, and I wrote. Since giving up that setup (I wiped and repurposed the server) and trying to use gmail's …
Explains why seemingly arcane custom setups are worth it for dedicated users, comparing the comfort of Emacs muscle memory to standard CMS platforms.
Generated by an LLM from the article and thread. Check the sources before relying on it.