ref: 9e9a1f92baf151f8d840d6b5b963945d1410ce25
parent: f7375c497239115cd30ae42af6b4d298e4e7ad7d
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Fri Apr 12 05:50:36 EDT 2019
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
---
--- a/hugolib/menu_test.go
+++ b/hugolib/menu_test.go
@@ -112,3 +112,54 @@
"/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/",
+ )
+
+}
--- a/navigation/pagemenus.go
+++ b/navigation/pagemenus.go
@@ -60,7 +60,7 @@
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 @@
me.Menu = mname
pm[mname] = &me
}
- return nil, nil
+ return pm, nil
}
// Could be a structured menu entry
--
⑨