diff options
author | Bjørn Erik Pedersen <[email protected]> | 2019-04-12 09:50:36 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2019-04-12 10:04:17 +0200 |
commit | 9e9a1f92baf151f8d840d6b5b963945d1410ce25 (patch) | |
tree | 036b5263e6965bd46f07b3557676fea4ae9557cc | |
parent | f7375c497239115cd30ae42af6b4d298e4e7ad7d (diff) | |
download | hugo-9e9a1f92baf151f8d840d6b5b963945d1410ce25.tar.gz hugo-9e9a1f92baf151f8d840d6b5b963945d1410ce25.zip |
hugolib: Fix simple menu config
This stopped working in Hugo 0.55:
```bash
---
menu: "main"
---
```
This was also the case for using a slice of menu entries.
This still worked:
---
menu:
main:
weight: 30
---
-rw-r--r-- | hugolib/menu_test.go | 51 | ||||
-rw-r--r-- | navigation/pagemenus.go | 4 |
2 files changed, 53 insertions, 2 deletions
diff --git a/hugolib/menu_test.go b/hugolib/menu_test.go index 253259af1..5c692d2e7 100644 --- a/hugolib/menu_test.go +++ b/hugolib/menu_test.go @@ -112,3 +112,54 @@ Menu Main: {{ partial "menu.html" (dict "page" . "menu" "main") }}`, "/sect3/|Sect3s||0|-|-|") } + +func TestMenuFrontMatter(t *testing.T) { + + b := newTestSitesBuilder(t).WithSimpleConfigFile() + + b.WithTemplatesAdded("index.html", ` +Main: {{ len .Site.Menus.main }} +Other: {{ len .Site.Menus.other }} +{{ range .Site.Menus.main }} +* Main|{{ .Name }}: {{ .URL }} +{{ end }} +{{ range .Site.Menus.other }} +* Other|{{ .Name }}: {{ .URL }} +{{ end }} +`) + + // Issue #5828 + b.WithContent("blog/page1.md", ` +--- +title: "P1" +menu: main +--- + +`) + + b.WithContent("blog/page2.md", ` +--- +title: "P2" +menu: [main,other] +--- + +`) + + b.WithContent("blog/page3.md", ` +--- +title: "P3" +menu: + main: + weight: 30 +--- +`) + + b.Build(BuildCfg{}) + + b.AssertFileContent("public/index.html", + "Main: 3", "Other: 1", + "Main|P1: /blog/page1/", + "Other|P2: /blog/page2/", + ) + +} diff --git a/navigation/pagemenus.go b/navigation/pagemenus.go index 86a4aeaec..c0d809ee3 100644 --- a/navigation/pagemenus.go +++ b/navigation/pagemenus.go @@ -60,7 +60,7 @@ func PageMenusFromPage(p Page) (PageMenus, error) { if err == nil { me.Menu = mname pm[mname] = &me - return nil, nil + return pm, nil } // Could be a slice of strings @@ -71,7 +71,7 @@ func PageMenusFromPage(p Page) (PageMenus, error) { me.Menu = mname pm[mname] = &me } - return nil, nil + return pm, nil } // Could be a structured menu entry |