Once More Around The Wheel
Wishing something—anything—supported my particular and peculiar needs for static site generation.
I very much wish my publishing needs were not so… complicated. Academic writing—though that’s done for a while—poetry, code, and a strong preference for semantic HTML to be generated by it along with an equally strong preference for plain text authoring…
Nothing works for me.
The only Markdown parser out there which does the right thing with all of those is Pandoc. The options for using Pandoc directly are not great. Shelling out to it via Pelican (my current strategy) works but is slow. The implemented-in-Rust Gutenberg generator looks like exactly what I want performance-wise, but its underlying Markdown engine doesn’t support citations or poetry.
I keep coming back to the conclusion that I’m basically going to have to build whatever I want myself, if I want my desired publishing flow to exist. I don’t really want to do that, though. It’s a boatload of work, even “just”—just!—to do something like (a) learn Haskell well enough to build on top of Pandoc directly or (b) build a good C-based API wrapper in Rust so that I can do it that way or (c) extend pulldown-cmark to support poetry and citation management.
For lots of reasons (c) is probably what I’ll ultimately end up doing; I want that for more than just blogging. More on that eventually, I hope.
But in the meantime I really just… want someone else to have the same weird needs I do and build this for me. I just know full well at this point that that’s not going to happen, and accordingly am basically resigned to muddling along with Pelican and Pandoc until such a time as I can actually buckle down and build what I want and need.1 C’est la vie.
As an aside: the prospect of buckling down and building things like that in my spare time is much less appealing given my current struggles with burnout, and as I’ll write about at some point in the future I feel a (perhaps-surprising to you, my reader) lack of confidence about my ability to accomplish those things.↩