diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2021-07-20 11:32:50 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2021-07-20 17:50:59 +0200 |
commit | 634481ba8cfcd865ba0d8811d8834f6af45663d7 (patch) | |
tree | b766189899b9260ca124e7f0e91edaf8774574fa | |
parent | c19f65f956739ab76c38222d48a3e461525e31af (diff) |
Fix Params case handling for menu items defined in site config
Fixes #8775
-rw-r--r-- | hugolib/menu_test.go | 60 | ||||
-rw-r--r-- | navigation/menu.go | 3 |
2 files changed, 33 insertions, 30 deletions
diff --git a/hugolib/menu_test.go b/hugolib/menu_test.go index 33dd14911..c43878090 100644 --- a/hugolib/menu_test.go +++ b/hugolib/menu_test.go @@ -351,49 +351,51 @@ menu: } func TestMenuParams(t *testing.T) { - b := newTestSitesBuilder(t).WithSimpleConfigFile() + b := newTestSitesBuilder(t).WithConfigFile("toml", ` +[[menus.main]] +identifier = "contact" +title = "Contact Us" +url = "mailto:noreply@example.com" +weight = 300 +[menus.main.params] +foo = "foo_config" +key2 = "key2_config" +camelCase = "camelCase_config" +`) b.WithTemplatesAdded("index.html", ` Main: {{ len .Site.Menus.main }} {{ range .Site.Menus.main }} -* Main|{{ .Name }}: {{ .URL }}|{{ .Params }} +foo: {{ .Params.foo }} +key2: {{ .Params.KEy2 }} +camelCase: {{ .Params.camelcase }} {{ end }} `) - b.WithContent("blog/page1.md", ` ---- -title: "P1" -menu: main ---- - -`) - - b.WithContent("blog/page2.md", ` ---- -title: "P2" -menu: main ---- - -`) - - b.WithContent("blog/page3.md", ` + b.WithContent("_index.md", ` --- -title: "P3" +title: "Home" menu: main: - weight: 30 + weight: 10 params: - foo: "bar" - key2: "value2" + foo: "foo_content" + key2: "key2_content" + camelCase: "camelCase_content" --- `) b.Build(BuildCfg{}) - b.AssertFileContent("public/index.html", - "Main: 3", - "Main|P3: /blog/page3/|map[foo:bar key2:value2]", - "Main|P1: /blog/page1/|map[]", - "Main|P2: /blog/page2/|map[]", - ) + b.AssertFileContent("public/index.html", ` +Main: 2 + +foo: foo_content +key2: key2_content +camelCase: camelCase_content + +foo: foo_config +key2: key2_config +camelCase: camelCase_config +`) } diff --git a/navigation/menu.go b/navigation/menu.go index 159c49710..3ef06f6a9 100644 --- a/navigation/menu.go +++ b/navigation/menu.go @@ -131,7 +131,8 @@ func (m *MenuEntry) MarshallMap(ime map[string]interface{}) { case "parent": m.Parent = cast.ToString(v) case "params": - m.Params = maps.ToStringMap(v) + m.Params = maps.MustToParamsAndPrepare(v) + } } } |