In continuation of my last post, revisiting this blog, I spent time over weekend experiment and convert my site to Hugo. And I was amazed at the very first run. Hugo is not just fast, it is super fast. While Jekyll takes up 3-4 seconds to start, Hugo was done in less than a second. To top it all, it automatically detects changes to the configuration file as well and rebuilds. And to add cherries on top of the cake, Hugo was emitting content in both HTML and JSON formats to be consumed.

I also love the way Hugo allows you to configure your site either using YAML, or TOML or JSON. This allows a lot of flexibility for people who may be more familiar and comfortable using one format than other. I loved the way that at the flip of a configuration flag, all content (HTML/JS/CSS) was mininfied instantly. I use MermaidJS a lot for my sequence diagrams, and loved that Hugo has support for the same too.

Hugo has some level of customization in the form of shortcodes. It has a decent amount of built-in functions that you may leverage. However, I was disappointed to see no support for date format customization. I was born to read dates in dd/MM/yyyy format and now reading mm/dd/yyyy or yyyy-mm-dd format just doesn’t feel natural. Adding functionality requires writing a Go plugin which again may not be for everyeone.

But what makes Hugo stand apart is this one word: SPEED. Speed in setting it up - just download the binary and you are ready to go. Whether you are serving locally to test, or publishing your site for production, completing everything in less than a second is what I will call GOD SPEED.

However, if I were to move all my work, then I will need to change the date format again to something Hugo can undertand. Wish there was a simple way to define that in the configuration.