This blog used to be on a self-hosted version of ghost which is a CMS powered by node and SQL. It worked fine and did exactly what you’d need from a no-frills publishing platform. But, I do have a few other things running on this server and I kept adding to it which increased the server load. Around the same time, I got to know about static site generators and wanted to test things out. As I dug through the rabbit hole, I found Hugo which promised less than a second build times. Then I looked into their theme gallery cause I didn’t want to spend time designing one. Fell in love with Novela and as they say, the rest was history.

Build time

As you can see above, a complete build only took 109 milliseconds to process 17 pages and 47 images. Hot-reloads are even quicker because it only processes changed files and they are usually below 10 milliseconds. So overall I’m very happy with its performance.

Publishing experience is also better because I write markdown and Hugo does the hot-reload magic and I’m able to instantly see changes in the browser. Once I’m done writing, all I have to do is run the NPM deploy command which I have set up to do a build and a SSH copy to the remote server. I might look into handling this devops situation with a CI/CD pipeline later but I don’t have any complaints for now. It all worked out perfect for me and now there’s one less thing eating up resources on the server.

Some things I like about Hugo:

  • Crazy fast builds ๐Ÿš€
  • Built-in Image optimizations ๐Ÿ”จ
  • Shortcode and Markdown support ๐Ÿ“
  • Good collection of themes ๐ŸŽจ
  • Very easy to learn ๐Ÿ“–

P.S: Codebase of this blog is open-sourced @ Gitlab