diff options
author | Bjørn Erik Pedersen <[email protected]> | 2024-01-30 10:07:28 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-01-30 20:12:03 +0100 |
commit | afee781f03df4305698bf4b6991cd10e996515c5 (patch) | |
tree | 032a56da49d959991f9d0c8e6321a0adac0a21ce | |
parent | 4e84f57efb57f5c8a850e4c1d562a0bcc7bd1700 (diff) | |
download | hugo-afee781f03df4305698bf4b6991cd10e996515c5.tar.gz hugo-afee781f03df4305698bf4b6991cd10e996515c5.zip |
Emit a warning that can be turned off when overwriting built-in .Params values
Fixes #11941
-rw-r--r-- | common/constants/constants.go | 4 | ||||
-rw-r--r-- | hugolib/page__meta.go | 4 | ||||
-rw-r--r-- | hugolib/params_test.go | 22 |
3 files changed, 29 insertions, 1 deletions
diff --git a/common/constants/constants.go b/common/constants/constants.go index e4f5a63a2..f8f057e05 100644 --- a/common/constants/constants.go +++ b/common/constants/constants.go @@ -13,12 +13,14 @@ package constants -// Error IDs. +// Error/Warning IDs. // Do not change these values. const ( // IDs for remote errors in tpl/data. ErrRemoteGetJSON = "error-remote-getjson" ErrRemoteGetCSV = "error-remote-getcsv" + + WarnFrontMatterParamsOverrides = "warning-frontmatter-params-overrides" ) // Field/method names with special meaning. diff --git a/hugolib/page__meta.go b/hugolib/page__meta.go index 179622d9b..e4cb2b83b 100644 --- a/hugolib/page__meta.go +++ b/hugolib/page__meta.go @@ -31,6 +31,7 @@ import ( "github.com/gohugoio/hugo/source" + "github.com/gohugoio/hugo/common/constants" "github.com/gohugoio/hugo/common/hugo" "github.com/gohugoio/hugo/common/maps" "github.com/gohugoio/hugo/common/paths" @@ -621,6 +622,9 @@ func (p *pageState) setMetaPostParams() error { } for k, v := range userParams { + if _, found := params[k]; found { + p.s.Log.Warnidf(constants.WarnFrontMatterParamsOverrides, "Hugo front matter key %q is overridden in params section.", k) + } params[strings.ToLower(k)] = v } diff --git a/hugolib/params_test.go b/hugolib/params_test.go index f80f14035..6f890b43b 100644 --- a/hugolib/params_test.go +++ b/hugolib/params_test.go @@ -133,6 +133,28 @@ RegularPages: {{ range site.RegularPages }}{{ .Path }}|{{ .RelPermalink }}|{{ .T ) } +func TestFrontMatterTitleOverrideWarn(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +baseURL = "https://example.org/" +disableKinds = ["taxonomy", "term"] +-- content/p1.md -- +--- +title: "My title" +params: + title: "My title from params" +--- + + +` + + b := Test(t, files, TestOptWarn()) + + b.AssertLogContains("ARN Hugo front matter key \"title\" is overridden in params section", "You can suppress this warning") +} + func TestFrontMatterParamsLangNoCascade(t *testing.T) { t.Parallel() |