Vertical merging of content mounts. The main topic of this release is about file mounts (see #9693). We have had a powerful and well defined merge strategy for the union filesystems for the Hugo Modules tree on the horizontal axis (left to right), but not so much for the vertical configuration within each module (e.g. multiple content mounts for the same language). It was @jmooring who pointed out how useful this could be, and even provided this example where missing translations gets filled in from other language(s):
#------------------------------------------------------------------------------
# Content mounts
#------------------------------------------------------------------------------
# EN content
[[module.mounts]]
source = 'content/en'
target = 'content'
lang = 'en'
# DE content
[[module.mounts]]
source = 'content/de'
target = 'content'
lang = 'de'
# NL content
[[module.mounts]]
source = 'content/nl'
target = 'content'
lang = 'nl'
#------------------------------------------------------------------------------
# Fill in the missing translations
#------------------------------------------------------------------------------
# This fills in the gaps in DE content with EN content
[[module.mounts]]
source = 'content/en'
target = 'content'
lang = 'de'
# This fills in the gaps in NL content with EN content.
[[module.mounts]]
source = 'content/en'
target = 'content'
lang = 'nl'
Also, we have added some details to the .Err
object you get when resources.GetRemote
fails, which can be useful when debugging errrors (see #9708). Not you can do something like:
The .Data
object above is a map
and currently contains StatusCode
, Status
, Body
, TransferEncoding
, ContentLength
, and ContentType
.
This release represents 23 contributions by 8 contributors to the main Hugo code base.@bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @jmooring, @dependabot[bot], and @anthonyfok for their ongoing contributions.
And thanks to @digitalcraftsman for his ongoing work on keeping the themes site in pristine condition.
Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 5 contributions by 3 contributors.
Hugo now has:
- 57897+ stars
- 429+ contributors
- 397+ themes
Notes
- Deprecate .File.Extension 9445968 @sara-meie #9352
Changes
- docs: Regen docshelper db1562e @bep
- docs: Regen CLI docs 5b18e10 @bep
- Deprecate .File.Extension 9445968 @sara-meie #9352
- resources: Add more details to .Err 9202117 @bep #9708
- commands: Change link protocol to https a6fa290 @jmooring
- build(deps): bump github.com/getkin/kin-openapi from 0.91.0 to 0.93.0 0bbc2fb @dependabot[bot]
- tpl/crypto: Add optional encoding arg to hmac function 94e8a90 @jmooring #9709
- Fix typo a461e9d @panakour
- Fix some typos 48c98a8 @cuishuang
- Update CONTRIBUTING.md to use "go install" to install mage bbd455f @anthonyfok
- Dockerfile: Make it build with Go 1.18 8309a2b @anthonyfok
- snap: Make it build with Go 1.18 2b72310 @anthonyfok
- build(deps): bump github.com/yuin/goldmark from 1.4.10 to 1.4.11 13ff4de @dependabot[bot]
- build(deps): bump github.com/spf13/cobra from 1.3.0 to 1.4.0 c3289eb @dependabot[bot]
- commands: Improve server startup to make tests less flaky 9539069 @bep
- all: Use strings.Cut 0e305d6 @bep #9687
- Support '-u=patch' in hugo mod get 5adb81c @LukeDeWaal #9127
- Make sure file mounts higher up wins 1c0e7c1 @bep #9693
- resources/images: Require width and height for Crop, Fill, and Fit cad2d8c @jmooring #9696
- all: gofmt -w -r 'interface{} -> any' . b80853d @bep #9687
- dartsass: Enable deprecation, @warn and @debug logging 423594e @bep #9683
- Use revision etc. from debug.BuildInfo 64afb7c @bep #9680
- releaser: Prepare repository for 0.96.0-DEV 004bec2 @bep