Cronspam

Trials and Tribulations with Technology


Blogging technology I've tried

I've been poking around at running my blog(s) for a while, and I've tried various approaches with limited success.

Wordpress

I've used Wordpress in the past, and I while I love having lots of knobs to tune and plugins to install, that's not what I want to spend my time doing.

I want to keep it simple this time -- no databases, no comments, no plugins. Just a blog engine that's lightweight, fast, and simple to use.

HTML

I thought I'd go old-school and write my websites in hand-coded HTML, maintain the Table of Contents manually, and inject various tidbits of Javascript as needed. This didn't last long, as I soon realized after the Nth "edit the header of every file" task that there's a reason everyone uses a templating system and life's too short not to use one myself.

Pandocomatic

I spent a lot of time getting something working using pandocomatic, as it was appealing to write my blog articles once in Markdown and then be able to generate many types of content -- HTML, PDF, LaTeX, and so on. I had a crazy idea that every blog post/article would have an automatic "view as PDF" link because I could.

But it was too much to learn, with too many moving parts (pandoc, pandocomatic, pandoc-sidenote), and required having a terminal window open to regenerate the website after every edit.

I'd read about people a lot of success using pandoc for their scientific papers for publishing, and while I do think it's well suited for that, that's a much different type of writing than blogging.

Yes, you can use various tools to simplify things, like entr to automatically detect file changes and regenerate the website. But the point is that you're still having to do those things even after you've wrapped them in various homegrown scripts and digital-duct tape. And that doesn't include all the effort to then publish to your website.

Github Pages

Why not let someone else take care of the publishing, and static-site generation, so I can focus on content?

Nope. I was still working in a terminal, writing Markdown (which isn't a problem), and then doing git add -A && git commit -m "added blog entry" && git push.

I realized I didn't like the constraint of only being able to blog when "working" at my computer. I already do plenty of Git for my normal job, I don't need to add it to my writing.

And it's not self-hosted anymore, which is scary to give up that much control of your website. All it takes is Github not liking something I do and my account becomes suspended and my website is gone.

Zola

zola is a very lightweight and fast static-site generator. It's written in Rust, which compiles into a single binary so it's trivial to install. I was going to commit it directly into my websites' Git repo so it would always be available to build the website no matter where I cloned the repo to.

But then I realized, no matter how awesome zola may be, I was still doing what I hated -- working in a terminal, doing git commands, and using homegrown scripts to publish.