A few years ago I introduced opel - an Emacs package that allows one to write all their Pelican posts in one Org file. It was inspired by ox-hugo. I’ve since made significant updates.

Motivation

Why would one want this as opposed to writing one post per file?

  • You can easily add images to your post and view them within Emacs.
  • It is much easier to internally link between posts. With one post per file you would have to know the linked post’s filename.
  • You can write equations and view them in Emacs.
  • Organization (the “org” in Org mode). You are free to structure your posts any way you wish. As an example, if I’m writing a series of posts on how flux capacitors work, I can put all the posts under a heading called Flux Capacitors.
  • Along the same lines, you can utilize tag inheritance. To tag all my flux capacitor posts with the tag metaphysics, I simply tag the top level node. This is more convenient than it sounds.
  • You can have extra information/text in your master org file that will not be exported.
  • Sometimes I’m browsing old posts of mine and I find a typo. I now simply search for that typo in one file and fix it, as opposed to figuring out which file corresponded with which post and opening that and fixing it. This is also more convenient than it sounds.

Screenshot

Below is a screenshot of my master org file.

Screenshot

Repository

You can get the code at sourcehut. To download it, run

hg clone https://hg.sr.ht/~beetle_b/opel

Or simply download the opel.el file from the site.

The documentation can be found here.

I know it says to treat the code as unmaintained, but for the next month or two I’ll probably respond to serious bugs that are found. Contact me on Mastodon.