Avatar Image
GitHub
rprospero
SourceHut
rprospero
Keybase
rprospero

Move to Hakyll

Reading Time
2 Minutes
Word Count
307 Words
Published
Feb 26, 2022

So 75% of the posts on this blog are now about the tech I'm using to write the blog. However, I'm hoping to have fewer comments on the topic going forward, because I'm abandoning my custom ShakeFile generator and just moving over to Hakyll. This was brought about by two circumstances.

  1. I became less committed to the Gemini ecosystem. Sorry, folks, I know that you're doing good work out there and I wish you all the best, but I never found a good in road, so it didn't become a place I visited regularly. Besides, no one is going to read this blog, no matter where I put it, so expending the extra effort to put it on Gemini was just feeling depressing.
  2. I could never get a good RSS/Atom solution for my custom build. Obviously, since it's a custom build, I'd have to write it from scratch. Now, since it's a ShakeFile, I have the entire Haskell ecosystem at my disposal and they have some excellent utilities for producing RSS, I would need to perform all the plumbing to get that data into the right place. This would be a good bit of duplicate effort with what the Hakyll devs had already accomplished.

Moving to Hakyll will greatly simplify the RSS work and will still leave the Gemini as eventually possible (I've seen other people include it), so it seemed like the better solution, with one massive, annoying caveat.

Hakyll insists on yaml headers on org files

I guess the idea of a yaml style header is hard coded deeply into the Hakyll structure, so, even though Pandoc can parse all the metadata out of the org files, Hakyll will fail to read the files unless an additional, redundant yaml header is added.

I may need to make some open source contributions to correct for this.