Skip to content

Commit

Permalink
Emit a warning that can be turned off when overwriting built-in .Para…
Browse files Browse the repository at this point in the history
…ms values

Fixes #11941
  • Loading branch information
bep committed Jan 30, 2024
1 parent 4e84f57 commit afee781
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
4 changes: 3 additions & 1 deletion common/constants/constants.go
Expand Up @@ -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.
Expand Down
4 changes: 4 additions & 0 deletions hugolib/page__meta.go
Expand Up @@ -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"
Expand Down Expand Up @@ -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
}

Expand Down
22 changes: 22 additions & 0 deletions hugolib/params_test.go
Expand Up @@ -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()

Expand Down

0 comments on commit afee781

Please sign in to comment.