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.
"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"
}
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
}
)
}
+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()