Hugo v0.154.0 is the 14th release this year (not counting patch releases) and introduces partial decorators, or “partials with a twist.” This is a very powerful construct that I, @bep, have always wanted to have in Hugo, but I could never wrap my head around an implementation. Until now.
A small and not very useful example:
The above renders to:
- The new
innerkeyword can be used zero or more times in a partial template, typically with different data (e.g. pages in a range), and its presence signals a reversal of the execution -- the callee becomes the caller. - Decorators can be deeply nested, see this PR for an example.
This release also brings some new utility funcs in the reflect package to identify the core types in Hugo. For example, to identify an processable image hasn't been trivial, now it is:
Bug fixes
- tpl/collections: Fix apply to work with built-in funcs like len 5c7fad2 @bep #13418
- Revert "resources/page: Fix slugorcontentbasename for section pages" bf1d20d @bep #14104 #14325
Improvements
- helpers: Limit verbose watch output for better readability d3b5d47 @majiayu000 #14277
- tpl/reflect: Make the IsImageResource implementation less technical 86cd183 @bep
- internal/warpc: Increase WebP memory limit to 384 MiB 871da33 @jmooring #14309
- Update tpl/reflect/reflect.go 1deec99 @bep
- Add reflect.Is{Page,Site,Resource,ImageResource} b7bb557 @bep #14307
- Allow partials to work as decorators 7c19c19 @bep #13193
Dependency Updates
- build(deps): bump github.com/tetratelabs/wazero from 1.10.1 to 1.11.0 2637aa1 @dependabot[bot]