Blog setup

How this blog is built

Hugo

I like Static Site Generators (SSGs) for a blog, and I’ve used Hugo in the past, so I’ve built this using that. I did a bit of searching to see if there was anything equivalent in the .Net space, but couldn’t really find much other than docfx, which is a bit documentation focused.

If anything, Hugo is actually too powerful and comprehensive a tool. Having not used it in a while it took me a little bit of poking and prodding to get going with it.

Theme

I spent a few hours on a Sunday morning looking at, and wrestling with, Hugo themes. I found that quite a lot of them are very heavyweight and feature-rich, which is overblown for the very simple requirement that I have. I ended up hand-cranking layout files using simple.css, this is small, opinionated and quick to get going with and this suits my use case.

That’s not to say that I won’t pinch add some of the features found in Hugo themes, and I may even abstract my setup out into a theme in the future.

The only change I’ve made so far, in a custom.css file, is to add a style for a non-bulleted list.

ul.no-bullets {
    list-style-type: none; /* Remove bullets */
    padding: 0; /* Remove padding */
    margin: 0; /* Remove margins */
  }

Hosting

I’ve had a Dreamhost hosting account for a long time. I don’t think that a static blog site that nobody is going to read needs to be any fancier than that to be honest.

I use Cloudflare to host the DNS zone for timparkinson.org and act as a CDN. I let Cloudflare handle the ‘Edge’ certificates automatically - i.e. those that are presented to the browser by Cloudflare’s magic proxying. I’ve installed a Cloudflare Origin certificate on the Dreamhost site which allows for end to end encryption. I did have to switch the TLS settings to Full (strict) within Cloudflare otherwise I got stuck in a redirect loop.

I’m using Github Actions to build and publish the site, and will detail that setup at a later time.