ref: 2d91b17c04c58e6186219bdbc81b711803c91e32
parent: 7cb0e34dce7cd51b43506f0e285d8d78a9c662c3
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Thu Nov 10 06:01:58 EST 2016
node to page: Handle aliases on home page etc. Updates #2297
--- a/hugolib/node_as_page_test.go
+++ b/hugolib/node_as_page_test.go
@@ -325,8 +325,6 @@
}
func TestNodesWithMenu(t *testing.T) {
- //jww.SetStdoutThreshold(jww.LevelDebug)
- //defer jww.SetStdoutThreshold(jww.LevelFatal)
testCommonResetState()
writeLayoutsForNodeAsPageTests(t)
@@ -350,6 +348,35 @@
}
assertFileContent(t, filepath.Join("public", "index.html"), true, "Home With Menu", "Menu Item: Go Home!")
+
+}
+
+func TestNodesWithAlias(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 Alias
+aliases:
+ - /my/new/home.html
+---
+`)
+
+ 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 Alias")
+ assertFileContent(t, filepath.Join("public", "my", "new", "home.html"), true, "content=\"0; url=/")
}
--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -238,9 +238,8 @@
}
// renderAliases renders shell pages that simply have a redirect in the header.
-// TODO(bep) np aliases of node types
func (s *Site) renderAliases() error {
- for _, p := range s.Pages {
+ for _, p := range s.Nodes {
if len(p.Aliases) == 0 {
continue
}