shithub: hugo

Download patch

ref: 0bd6356c6d2a2bac06d0c3705bf13a90cb7a2688
parent: ca68abf0bc2fa003c2052143218f7b2ab195a46e
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Sat Feb 22 13:22:40 EST 2020

Fix panic when home page is drafted

Fixes #6927

--- a/hugolib/content_map_page.go
+++ b/hugolib/content_map_page.go
@@ -719,6 +719,12 @@
 			return err
 		}
 
+		if pm.s.home == nil {
+			// Home is disabled, everything is.
+			pm.bundleTrees.DeletePrefix("")
+			return nil
+		}
+
 		if err := pm.assembleTaxonomies(); err != nil {
 			return err
 		}
--- a/hugolib/taxonomy_test.go
+++ b/hugolib/taxonomy_test.go
@@ -401,6 +401,50 @@
 
 }
 
+// https://github.com/gohugoio/hugo/issues/6927
+func TestTaxonomiesHomeDraft(t *testing.T) {
+	t.Parallel()
+
+	b := newTestSitesBuilder(t)
+	b.WithContent(
+		"_index.md", `---
+title: "Home"
+draft: true
+---
+
+Content.
+
+`,
+		"posts/_index.md", `---
+title: "Posts"
+draft: true
+---
+
+Content.
+
+`,
+		"posts/page.md", `---
+title: "The Page"
+categories: ["cool"]
+---
+
+Content.
+
+`,
+	)
+
+	b.WithTemplates("index.html", `
+NO HOME FOR YOU
+`)
+
+	b.Build(BuildCfg{})
+
+	b.Assert(b.CheckExists("public/index.html"), qt.Equals, false)
+	b.Assert(b.CheckExists("public/categories/index.html"), qt.Equals, false)
+	b.Assert(b.CheckExists("public/posts/index.html"), qt.Equals, false)
+
+}
+
 // https://github.com/gohugoio/hugo/issues/6173
 func TestTaxonomiesWithBundledResources(t *testing.T) {
 	b := newTestSitesBuilder(t)