My old site was nicely hand crafted HTML. Each bit loving created. It worked… but it did smell a little 90’s. Which doesn’t surprise me; the last time I did any web development was the 90s!
So I thought I’d try something a little more modern.
Unfortunately most CMS systems (eg WordPress, Joomla, Drupal) appear to want to use a database of some form. The content is displayed dynamically based on the user request and the database content.
I have 3 servers (a Linode, a Panix v-colo, and an OVH So You Start colo server). Each one has identical content and could stand in as a DR for the others for web, mail, DNS.
Using a database backed CMS introduces challenges (eg database replication, backups) as well as potential performance issues.
I wanted something that was more “static file”.
Some net-friends pointed me at some site generators. Some were written in python, some in Ruby, some in perl. They have large run-time dependencies to build the site (none for actually serving it).
But Hugo is written in Go and so compiles to a static binary. Ooh! This looks interesting…
I played around with some themes and decided on the Blackburn theme, with a few tweaks.
Hugo has some nice features, including a built in server. I can write a
new markdown document and immediately Hugo will detect this and publish it.
It’ll even cause the viewing browser to refresh. So in one window I can
type and :w
(yes; vi
) and the browser in a background window automatically
refreshes. That’s cool!
Once I’m happy with the content I can then tell it to generate the static content. And then I can rsync it to my 3 servers to publish it.
The one downside to this theme is that it does call a number of off-platform javascript and fonts. I’ve tried to modify it to host as much locally as possible (from a security perspective, calling random javascript from a random CDN seems wrong) but there’s still a large amount. Sigh.
I also debated having a comment system. I’m of two minds. Currently I have Disqus set up. This does allow anonymous posts and does a level of spam trapping for me. I’m not a total fan of Disqus (tonnes of javascript, cross-site tracking) and may turn it off. But it works.
My ultimate aim is to start blogging more frequently (hence the blog format of this new site). Mostly writing about security stuff, probably. I’ve made my content CC BY-NC-ND, just in case I write something someone else likes :-)
I’ll probably keep the old site running because some stuff (eg reference information) isn’t too suited for a blog format. We’ll see.