I have heard of Hugo for quite a while now, I never thought about using it, until about a few weeks ago. When I started using I thought it was great, the idea of being able to write content in Markdown and actually being able to save it to Git is really quite nice.
What Hugo does is take the content that written in Markdown and convert them to HTML, on top of that it uses Go’s templating system, because of my background in Go, I was already familiar with it, so I felt right at home.
In the past I have used WordPress, at first I thought it was great, as time gone by I felt that something about it didn’t feel right, as soon as I got good with PHP the more I started to realise how much of a mess WordPress codebase was, but to be fair it was a while ago, a lot might of change today, but even today users who self-host WordPress may have to maintain the database unless they’re using a managed host. Oh, there is also the plugins, they have to be vetted and maintained, as some plugins can introduce security holes into the site if you’re not careful, yet you have to install a few plugins to make the WordPress site scalable as the product on it own does not scale well, there has been a few instances when the site did go down because of heavy traffic.
Because Hugo generates static HTML, all of those above concern that I mention about WordPress pretty much does not exist with static HTML. Hugo does not have a plugin system, and in all fairness, it does not need such a system, as Hugo has enough features in my humble opinion, like for example esbuild which is one of the faster JavaScript bundler, if not the fastest, the extended version comes complete with Sass and other CSS processing abilities. It does have a lot of nice stuff out of the box, I honestly prefer that, out of the box experience always count.
I can execute esbuild and Sass from within the Go template system in Hugo, so I don’t need to write any of those complex configuration files that you otherwise need to do with Webpack, I heard from my colleague that it was a pain to maintain. I mean I worked with task runners, I even built my own task runner, they can be tedious to work with.
I’ve checked the landing page of Webpack and esbuild, the former welcomes you with a fancy box, just to try to woo you into using their product, but the latter on the other hand welcomes you with a benchmark, just to demonstrate how fast their product in comparison to others in the market and that has left me with a very good lasting first impression and obviously first impression does count.
I did check out other static web generators on the market, but I’m happy to stick with Hugo for the time being, as I’m really impressed with the performance of the product. I look forward to seeing what the product has to offer in the future.
To prepare my blog post in advance I use draftin as I can easily use that on my iPad while sitting in the Café, for when I don’t feel like writing at home.
I think Hugo is the way to go for beginners who want to get into blog posting, I highly recommend it. Or if you more experience you can try out something else, nothing wrong with being adventurous but it’s probably not as fast as Hugo 😁