Experiments with Hugo!
Posted on 18 April 2022
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.