shithub: hugo

Download patch

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
 		}