Welcome to Bjorn's Blog

After a week of fiddling around with Go, I've made something I'm happy with!

I've been looking for a good way to write and maintain blog posts for a very long time. I used a Markdown-based static site generator called Hugo for the past year for my old website. I never really liked Hugo though: it's nice to write Markdown and have it appear automagically on my website, but again and again I found myself dealing with weird configuration options and ugly static output. Hugo is great, especially compared to most of the alernatives, but it was time to move on to something less complex and black-box.

Making this site started with searching queries like "best personal blog design", finding my favorite minimalist designs, and playing the Ctrl-C game. Wonderful things like the "section" tag were all exposed to me at this point, and I realized that HTML, for all its annoying tags and crufts, was actually very descriptive, and daresay nice to write.

After the initial skeleton was done, I had to find a good font. I went through fonts like Roberto and Georgia, and even just the default sytem fonts, but there was nothing I truly liked. Showering one day, I remembered the Cooper Hewitt had an awesome open font. I tried it. And I liked it. I hope you do too.

At this point, the site looked nice, but there was a lot of code duplication. Everything in the header tags was duplicated on every webpage, and editing the navbar required manually editing several files. Of course, I chose the neurotic route, and rewrote the site in Golang, specifically so I could use HTML templates to prevent code duplication. HTML Templates allow a developer an easy way to cut-and-paste the contents of one file into another, so I could define the markup for the header and navbar in a single file.

Now, the last thing I needed was a blog. I tried a lot of ways to get this to work, including a custom webserver or "handler" that handled all requests to /blog/ and under, but this proved complex, and left unwanted trailing slashes (due to the way the Go standard library works). I thought it would be clever to automatically insert the date of individual blog posts into a date-indexable blog main page, but after attempting to implement this for a day, I decided it wasn't all that worth it anyway.

The finished product? You're looking at it. If you're interested in seeing the actual source, you can find it on my sourcehut. I'm very happy with how my website and blog turned out, and if you're in need of some inspiration (or straight up copying), this may be a good place to start!