Hugo 0.22 Released: Nested Sections!
The new Hugo brings proper content trees!
Grab the binary of your choice here.
Release Notes
Hugo 0.22
brings nested sections, by popular demand and a long sought after feature (#465). We are still low on documentation for this great feature, but @bep has been kind enough to accompany his implementation with a demo site.
This release represents 58 contributions by 10 contributors to the main Hugo code base. Since last release Hugo has gained 420 stars and 2 additional themes.
@bep still leads the Hugo development with his witty Norwegian humor, and once again contributed a significant amount of additions. But also a big shoutout to @bogem, @moorereason, and @onedrawingperday for their ongoing contributions. And as always big thanks to @digitalcraftsman for his relentless work on keeping the documentation and the themes site in pristine condition.
Hugo now has:
- 17576+ stars
- 455+ contributors
- 165+ themes
Other Highlights
.Site.GetPage
can now also be used to get regular pages (#2844):
{{ (.Site.GetPage "page" "blog" "mypost.md" ).Title }}
Also, considerable work has been put into writing automated benchmark tests for the site builds, and we’re happy to report that although this release comes with fundamental structural changes, this version is – in general – even faster than the previous. It’s quite a challenge to consistently add significant new functionality and simultaneously maintain the stellar performance Hugo is famous for.
Notes
.Site.Sections
is replaced. We have reworked how sections work in Hugo, they can now be nested and are no longer taxonomies. If you use the old collection, you should get detailed upgrade instructions in the log when you run hugo
. For more information, see this demo site.
Enhancements
Templates
- Add
uint
support toIn
b82cd82f @moorereason - Support interfaces in
union
204c3a9e @moorereason #3411 - Add
uniq
function e28d9aa4 @adiabatic - Handle
template.HTML
and friends inToInt
4113693a @moorereason #3308
Core
- Make the
RSS feed
use the date for the node it represents f1da5a15 @bep #2708 - Enable
nested sections
b3968939 @bep #465 - Add test for “no 404” in
sitemap
8aaec644 @bep #3563 - Support regular pages in
.Site.GetPage
e0c2e798 @bep #2844 #3082
Performance
- Add site building benchmarks 8930e259 @bep #3535
- Add a cache to
GetPage
which makes it much faster 50d11138 @bep - Speed up
GetPage
fbb78b89 @bep #3503 - Add BenchmarkFrontmatterTags 3d9c4f51 @bep #3464
- Add
benchSite.sh
to make it easy to run Hugo performance benchmarks d74452cf @bep - Cache language config 4aff2b6e @bep
- Temporarily revert to BurntSushi for
TOML
front matter handling; it is currently much faster 0907a5c1 @bep #3541 #3464 - Add a simple partitioned lazy cache 87203139 @bep
Other
- Add
noindex
tag to HTML generated by Hugo aliases d5ab7f08 @onedrawingperday - Update Go versions bde807bd @bep
- Remove the
rlimit
tweaking onmacOS
bcd32f10 @bep #3512
Docs
- Rewrite “Archetypes” article @davidturnbull #3543
- Remove Unmaintaned Frontends from Tools. f41f7282 @onedrawingperday
Fixes
Core
- Improve
live-reload
on directory structure changes making removal of directories or pasting new content directories into/content
just work fe901b81 @bep #3570 - Respect
disableKinds=["sitemap"]
69d92dc4 @bep #3544 - Fix
disablePathToLower
regression 5be04486 @bep #3374 - Fix
ref
/relref
issue with duplicate base filenames 612f6e3a @bep #2507