Many are familiar with the idea of static site generators like Jekyll and why they should use them. But Jekyll isn’t the only SSG out there. In fact, there are literally hundreds of SSGs guaranteed to give you analysis paralysis. With so many to choose from it can be difficult to decide which to use.
After trying a number of static site generators myself over the years, the one I’d bet the farm on is Hugo. Here’re a few of the reasons why I feel Hugo rocks the socks off the competition:
It has no dependencies. Once you get a hold of the Hugo binary you’re ready to roll. Many other static site generators require a complex environment with dependencies to run. For Jekyll, that means Ruby and RubyGems. For Hexo, Node and NPM. For Hugo, all you need is Hugo.
It’s easy to set-up. If you’re a macOS user, simply
brew install hugoand you can instantly start building a new website with the
hugo new sitecommand. Hugo pre-built binaries are available for other platforms as well, including as FreeBSD, Windows and Linux.
v0.17, when multilingual sites were introduced, Hugo site generation speed has – wait for it – doubled!
It’s very flexible. Unlike Jekyll, which was blog-focused until Collections were bolted on version 3 (albeit, in a very well thought-out way), Hugo was built from the ground up with freedom of content structure in mind. Use it to create a personal blog or even the next Smashing Magazine.
It’s easy to get started. To prove this last point I decided to create a theme for Hugo called After Dark (pictured below). The initial theme creation process took about two days, and making it reminded me of the joys of coding for the Web circa 1995 – back when flying toasters were all the rage.
There are some downsides to Hugo – don’t get me wrong. For starters Hugo is built using GoLang and Go hasn’t been around as long. As a result it doesn’t not have as large of a community around it as more established SSGs like Jekyll. Additionally, you may find a few holes in Hugo’s documentation which is otherwise pretty great.