February 13, 2020

553 words 3 mins read

Obviate.io v3: Now on Hugo Static Site Generator

After a lengthy run of using Wordpress and a fair amount of time with basically no posts, I wanted to start the new year off right by bringing the blog back to some semblance of it’s former glory. Unfortunately that meant grappling with a wildly newer version of Wordpress with an editor that had changed significantly. Change isn’t bad, but these changes got in the way of it’s own core function: writing. So I’ve spent the last few weeks endeavouring to fix this problem in the only way I know how… burn it to the ground (and rebuild it using a static site generator).

Before we move on, a quick history lesson for those of you less-than-regular readers. This blog, formerly known as snowulf.com, got started a touch over 15 years ago. At the start we were on the Serendipity blog platform. While that platform wasn’t bad, it paled in comparison to some of the alternatives. Roughly 10 years ago, we moved over to Wordpress. Lastly, 4 years ago we renamed to obviate.io.

Our new infrastructure is both seemingly more complicated and vastly simpler at the same time. If you’re “just a writer”, it certainly is more scary looking than Wordpress’ nice UI. However if you’re a developer type who’s worked with git & development tools before - you’ll be right at home. Fortunately we here at Obviate.io are a bunch of techy types.

We start with the content: Instead of pseudo-HTML stored in a database, we use Markdown stored in a git repository. The git repo is stored in GitLab (sorry, the code base is not public currently) so we can use some of their awesome features - like the integrated CI/CD platform.

The next major component is, of course, the platform itself. Well, it’s the closest thing to a “platform” in this new paradigm. Hugo is a static site generator that converts the aforementioned Markdown into glorious static HTML pages. It does so on every commit, with the assistance of the GitLab CI/CD pipelines.

Once the new pages are generated, they are pushed to a static-serving location. Cloudflare sits in front of the static pages to provide super fast CDN services to our global audience. It also allows us to have a few more controls over the site, since we don’t have all the traditional controls of a web server.

What does this mean for you, the reader? Absolutely nothing… other than EVERYTHING looks different. But there have been numerous redesigns and theme changes over the last 15 years. I always try and keep the designs on the simpler side, so it’s probably “more of the same”. The theme we’re currently using with Hugo is known as “Slender Poster” (MIT licensed), which is my heavily modified and adjusted version of “Chunky Poster”. The design is responsive, so it should work on mobile just fine. It’s still got tags, categories, a sitemap and RSS feed.

In the migration there are a few speed bumps related to older content formatting. Some of the older articles will look a bit “funky” until I get all the CSS updated/carried forward and de-Wordpress’ing some of the fancier content. Comments are also currently missing-in-action, but you can always tweet at me your thoughts. Eventually the comments will be ported over to a new, privacy friendly, platform.