ref: 7cb0e34dce7cd51b43506f0e285d8d78a9c662c3
parent: ecedc85cb726f8ab971842e1d59079e1049540be
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Thu Nov 10 05:53:12 EST 2016
node to page: Handle menus on home page etc. Updates #2297
--- a/hugolib/node_as_page_test.go
+++ b/hugolib/node_as_page_test.go
@@ -296,8 +296,6 @@
}
func TestNodesWithTaxonomies(t *testing.T) {- //jww.SetStdoutThreshold(jww.LevelDebug)
- //defer jww.SetStdoutThreshold(jww.LevelFatal)
testCommonResetState()
writeLayoutsForNodeAsPageTests(t)
@@ -314,7 +312,6 @@
viper.Set("paginate", 1) viper.Set("title", "Hugo Rocks!")- viper.Set("rssURI", "customrss.xml")s := newSiteDefaultLang()
@@ -327,6 +324,35 @@
}
+func TestNodesWithMenu(t *testing.T) {+ //jww.SetStdoutThreshold(jww.LevelDebug)
+ //defer jww.SetStdoutThreshold(jww.LevelFatal)
+ testCommonResetState()
+
+ writeLayoutsForNodeAsPageTests(t)
+ writeRegularPagesForNodeAsPageTests(t)
+
+ writeSource(t, filepath.Join("content", "_index.md"), `---+title: Home With Menu
+menu:
+ mymenu:
+ name: "Go Home!"
+---
+`)
+
+ viper.Set("paginate", 1)+ viper.Set("title", "Hugo Rocks!")+
+ s := newSiteDefaultLang()
+
+ if err := buildAndRenderSite(s); err != nil {+ t.Fatalf("Failed to build site: %s", err)+ }
+
+ assertFileContent(t, filepath.Join("public", "index.html"), true, "Home With Menu", "Menu Item: Go Home!")+
+}
+
func writeRegularPagesForNodeAsPageTests(t *testing.T) {writeRegularPagesForNodeAsPageTestsWithLang(t, "")
}
@@ -407,6 +433,11 @@
# Pages: {{ len .Data.Pages }} {{ range .Paginator.Pages }} Pag: {{ .Title }}+{{ end }}+{{ with .Site.Menus.mymenu }}+{{ range . }}+Menu Item: {{ .Name }}+{{ end }} {{ end }}`)
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -1427,8 +1427,7 @@
sectionPagesMenu := s.Language.GetString("SectionPagesMenu") sectionPagesMenus := make(map[string]interface{})//creating flat hash
- // TODO(bep) np menu
- pages := s.findPagesByNodeType(NodePage)
+ pages := s.Nodes
for _, p := range pages { if sectionPagesMenu != "" {--
⑨