Handle build vs _build in front matter

* Throw a detailed error message in the mentioned case
* Also fixed a dropped error

Fixes #11970
This commit is contained in:
Bjørn Erik Pedersen
2024-02-03 12:08:00 +01:00
parent e33a632551
commit a66480f70c
3 changed files with 46 additions and 5 deletions

View File

@@ -428,15 +428,29 @@ func (p *pageState) setMetaPostParams() error {
}
var buildConfig any
var isNewBuildKeyword bool
if v, ok := pm.pageConfig.Params["_build"]; ok {
buildConfig = v
} else {
buildConfig = pm.pageConfig.Params["build"]
isNewBuildKeyword = true
}
pm.pageConfig.Build, err = pagemeta.DecodeBuildConfig(buildConfig)
if err != nil {
return err
//lint:ignore ST1005 end user message.
var msgDetail string
if isNewBuildKeyword {
msgDetail = `. We renamed the _build keyword to build in Hugo 0.123.0. We recommend putting user defined params in the params section, e.g.:
---
title: "My Title"
params:
build: "My Build"
---
´
`
}
return fmt.Errorf("failed to decode build config in front matter: %s%s", err, msgDetail)
}
var sitemapSet bool