Everything Burns

Re-ignited


Obligatory Colophon

Wednesday, 21 Dec 2022 Tags: elixirmeta

A few notes on history and how this site is put together.

In 2001, I discovered and embraced the weblog phenomenon, and maintained a personal blog, running on a dusty linux box under my desk, likely in violation of my DSL terms of service. I ran that blog until 2005, when ne’er-do-wells exploited a zero-day vulnerability in the wiki software I was running on the same box, and trashed the system. “Certainly, you had backups,” you might be asking. Well, allow me to retort. I did not. So, I moved on with my life, and embraced Twitter instead, leaving that platform in 2016 for obvious reasons.

That blog, Everything Burns, is still more or less archived on archive.org. Here are some screenshots of the header over time:

Original Everything Burns headerOriginal Everything Burns headerOriginal Everything Burns header

When I retired from software development, I decided that I wanted to have a place to write again, but on my terms.

  • Not self-hosted, but I have full control of the content in neutral format, like Markdown.
  • Movable. I can re-host if needed.
  • Customizable, so that I can add features if need be
  • Supports blog posts and other non-blog type content (plain pages)

In terms of hosting, I don’t really want to have a personal domain. I settled on github pages as the hosting solution, and started looking for a suitable, extensible static website generation tool. Jekyll seemed pretty powerful and theme-able, but I rejected it out of hand because Ruby. If I was going to reject a solution based on language, I thought I might search for a solution based on language, and started looking for an Elixir-based static site generator. I found Serum, which should look familiar.

Even though serum supports themes, I haven’t yet been arsed to change from the default theme. This is a contrast from the previous incarnation when I would spend hours editing MovableType templates and piddling around in The Gimp. I did end up adding RSS support, via the event hooks facility, and that was really straightforward.

The workflow for creating a post involves using a mix task that comes with serum:

$ mix serum.gen.blog --title "Obligatory Colophon" --output obligatory-colophon

Then editing the resulting Markdown file (I am using the Helix editor, which may deserve a separate post in itself.)

---
title: Obligatory Colophon
date: 2022-12-21 09:05:48
tags: meta
---

A few notes on history and how this site is put together. 

I can view the whole site locally as I edit with another mix task that runs a server on localhost.

To publish, I just

$ mix serum.build 
$ cd site
$ git add .
$ git commit -m "I wrote a thing"
$ git push origin main  

and a few minutes later the post appears and is in the RSS feed.

I can operate this setup from any desktop operating system. Presently I am using MacOS.

And yes, I have backups.