Website iteration 2.0: the layout bugs strike back2 June 2017 permalink
Over the past couple of weeks, I’ve slowly been building a new version of this website. Externally, not much has changed, but it now has infinite scrolling, and should render a lot better on mobile. Internally, I’ve chucked out Wordpress, and started using Hugo. Instead of using in a database, all pages in Hugo are statically generated. This means they are easily hosted, eg on Dropbox, GitHub. It does mean there is no web interface: you’ll need to run Hugo and upload the new content every time you post.
Using Hugo instead of Wordpress is a no-brainer. Wordpress is a lot more than I need, and, when I exported all my content, it turned a lot of it was quite badly formed, or even invalid HTML. I also dreaded updating it, which is a non-issue for static pages. Probably the only thing I’ll miss from Wordpress is a web interface for posts, and the ability to post at some time in the future. I can probably hack something together for both in the future though. On the plus side, Hugo uses markdown, and has it’s own simple web server used for iteration.
A more interesting/difficult choice would be between using Hugo, or rolling out your won script. Unfortunately, Hugo is still firmly in the driver’s seat, and it can fight you if you want to do anything in a different way than it expects. Most of it’s features wouldn’t be too hard to implement, apart from the templating engine. Losing it’s live reloading wouldn’t be fun either. The loss would be the inability to use (or modify) one of the existing themes.
Personally, I’m a bit perfectionist about this website, especially considering I don’t really want to revisit it for the next 10 years (same timespan since I first created it). I didn’t want to use any existing themes, spend quite some time getting the output “just right”, and banged my head against Hugo quite some times. Even if rolling my own would have taken me some extra time, it would be something I could build on in the future. That probably would have been the right path, but ¯\(ツ)/¯. Most of the hard work was in transforming my content to a sane format anyway, and that work is reusable.
After using it for a week or two, I miss being able to post from my phone more then I expected. Which is a bit annoying to fix, as I would have to run hugo from inside my VPS.
Anyway, let me know if there’s something wrong with the new version. Webdev is definitely not a talent of mine.
TL;DR Choosing blog platform as a programmer
If you don’t want to fiddle with the command line / FTP every time you post, go for Wordpress (or anything else with a web interface). If you want easy maintenance and creation (eg minor theme modification), use Hugo. If you don’t mind spending quite some more time building something from scratch, build your own.