I love figuring things out and solving problems using computers, which is part of why I’ve been at my current job for almost 20 years. When I’m reasearching a problem, I often scour the web looking for blog articles, mailing list posts, and other resources that can help me. As I’m also a teacher as part of my job, I like explaining things that I’ve done, and I hoped that maybe I could help someone else on the internet in the same way that random strangers had helped me.

I thought about writing a blog as a way to publish some info, and finally got serious about it a couple months ago. I had played with blogging software and was looking for something that was:

Being a Perl junkie, I had used Dapper as a static site generator before. However, being a Perl junkie, I always spent too much time customizing it. I wanted something that I wouldn’t be too tempted to mess with so I could just focus on the content. I started looking at static site generators with Dapper as a starting point.

I considered Wallflower as I’ve become comfortable with Mojolicious and thought I could use it to generate my site. However, I knew that I might get in my own way by working too much on the architecture and not enough on the content.

I stumbled upon Hugo while reading up on site generators, and it looked like everything I wanted. It appeared well-supported, fast, easy to install, and with several available themes. It was written in Go (not a language I’m proficient in), so that meant I’d be using it as-is, at least to start. Best of all, it generates highlighted source code blocks at generation time, so no JavaScript is needed on the client for this feature. Here’s a sample:

public class HelloWorld {
  public static void main(String[] arrmatey) {
    System.out.println("Hello, World!");
  }
}

Hugo looked promising, so I decided to give it a shot. I won’t repeat all the steps here; Hugo has a good quick start guide that can get you a basic site in minutes. I followed the guide, tried a few themes, and decided it looked good enough to pursue in earnest.

After trying a few basic-looking themes, I settled on XMin. It was small, lightweight, and didn’t have any JavaScript dependencies. I started editing the CSS and HTML to support light/dark mode (a little side project I’d been curious about), and moved a few things around so they looked good to me (I realize beauty is in the eye of the beholder, but it’s the content that matters anyway, right??).

I got to learn a bit about Hugo’s templating system, and I tweaked something on each template just to make sure I knew where everything was. At that point, I was reasonably sure I had a good directory layout for everything, and it was time to make some content.

And that brings us to this article, my first post on my new blog site. I’m hoping it’s the first of many!