Update Hugo to version 0.53

From all of us to all of you, a very Merry Christmas -- and Hugo 0.53!

The main new features in this release are:

  • You can now split your configuration into directories per environment. Hugo did support multiple configuration files before this release, but it was hard to manage for bigger sites, especially those with multiple languages. With this we have also formalized the concept of an environment; the defaults are production (when running hugo) or development (when running hugo server) but you can create any environment you like. We will update the documentation, but all the details are in this issue. Also, see this PR for how the refactored configuration for the Hugo website looks like.
  • transform.Unmarshal (see the documentation is a new and powerful template function that can turn Resource objects or strings with JSON, TOML, YAML or CSV into maps/arrays.
  • Two new global variables in site and hugo. hugo gives you version info etc. ({{ hugo.Version }}, {{ hugo.Environment }}), but the site is probably more useful, as it allows you to access the current site's variables (e.g. {{ site.RegularPages }}) without any context (or ".").

This version is also the fastest to date. A site building benchmark shows around 10% faster, but that depends on the site. The important part here is that we're not getting slower. It’s quite a challenge to consistently add significant new functionality and simultaneously improve performance. It's like not gaining weight during Christmas. We also had a small performance boost in version 0.50. A user then reported that his big and complicated site had a 30% reduction in build time. This is important to us, one of the core features. It's in the slogan: "The world’s fastest framework for building websites."

This release represents 37 contributions by 5 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @moorereason, @coliff, and @jfyuen for their ongoing contributions. And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs, which has received 19 contributions by 8 contributors. A special thanks to @bep, @kaushalmodi, @peaceiris, and @moorereason for their work on the documentation site.

Hugo now has:


  • The hugo benchmark command is removed
  • We now do not publish transformed inline resources, e.g. minified CSS only accessed via .Content., e.g. {{ ($css | minify).Content }}. Before this version, the minified CSS in that example would be copied to /public, which was never the intention. If you want that, you need to access either .RelPermalink or .Permalink.