hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 2d91b17c04c58e6186219bdbc81b711803c91e32
parent 7cb0e34dce7cd51b43506f0e285d8d78a9c662c3
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Thu, 10 Nov 2016 11:01:58 +0100

node to page: Handle aliases on home page etc.

Updates #2297

Diffstat:
Mhugolib/node_as_page_test.go | 31+++++++++++++++++++++++++++++--
Mhugolib/site_render.go | 3+--
2 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/hugolib/node_as_page_test.go b/hugolib/node_as_page_test.go
@@ -325,8 +325,6 @@ categories:  [
 }
 
 func TestNodesWithMenu(t *testing.T) {
-	//jww.SetStdoutThreshold(jww.LevelDebug)
-	//defer jww.SetStdoutThreshold(jww.LevelFatal)
 	testCommonResetState()
 
 	writeLayoutsForNodeAsPageTests(t)
@@ -353,6 +351,35 @@ menu:
 
 }
 
+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=/")
+
+}
+
 func writeRegularPagesForNodeAsPageTests(t *testing.T) {
 	writeRegularPagesForNodeAsPageTestsWithLang(t, "")
 }
diff --git a/hugolib/site_render.go b/hugolib/site_render.go
@@ -238,9 +238,8 @@ func (s *Site) renderRobotsTXT() error {
 }
 
 // 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
 		}