Author bio and support
Ruben Schade is a technical writer and infrastructure architect in Sydney, Australia who refers to himself in the third person. Hi!
The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite bespoke cloud infrastructure provider.
If you found this post helpful or entertaining, you can shout me a coffee or send a comment. Thanks ☺️.
Last Thursday I put out an RFC on comment systems, and how I’d include them again on this statically-generated blog. I got some great feedback!
Here’s the thing: don’t do it
I sensed a theme in many of the comments. I’ll let Daniel W. summarise much of the sentiment:
His argument was that the world has become even less civil and more spammy since I turned off blog comments here years ago, and that I’m not missing much.
At the time I argued spam had got too much, but I also disabled comments for all the unhelpful people who couldn’t see the forest for the trees. It was frustrating getting mired down in pointless minutea when the broader point of a post was being ignored.
Specifically about anime, Daniel continued:
Anime/otaku/weeb stuff was always a side show here, so I never had the noteriety or internet fame to attract those sort of comments. But who knows now?
Your comments have been heeded! Thank you for putting some perspective on this.
The third way
But what if I want to go in full tilt and enable comments here? My concern was I had two choices: go back to a dynamic CMS, or include a JavaScript client like Disqus. I didn’t like either.
Turns out, there’s a third way I hadn’t considered: accept comments with a web form, backed by a script that appends them to the right post, and regenerates the site. Huge thanks to Jim Kloss from Whole Wheat Radio, and William Hales from Halestrom for cluing me into this now obvious idea, and for taking the time to dive into it.
I love it for a few reasons:
It keeps the site static, which means fast and easy.
I can write the scripts I need in Perl, still my first love after all these years and many other languages later. Or even shell scripts, as William suggests.
I can use a FreeBSD jail and rate-limit on IPs to keep spam down, or even queue posts for me to release manually every few days.
From Jim’s email:
Merci! He’s in France right now :). It would require me to generate the site on the server, rather than locally and push with rsync. But that’s a long overdue change anyway, so I could see this working.
For those who didn’t know Whole Wheat Radio, Jim knows all to well the idea of a drop box system; WWR had this awesome feature where you could call in phonegrams that would be queued and played live on the air.
William’s blog post was similarly amazing, with screenshots and stores of hidden bodies. He implemented a static site comment system on Haelstrom, and even thought through the issues with spam and abuse. The whole thing is worth a read, but these were my favourite lines:
Using this as an exercise
I realised while writing this post that soliciting comments and getting email had been a fun exercise itself. Maybe I’m overthinking this, and I should just keep it there.
The main downside there is people may not be enthusiastic about commenting if they either need their own blog to link back to mine, or to write me an email. But as Jim says:
I don’t think there was ever a risk of that :).