hugo

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

git clone git://git.shimmy1996.com/hugo.git
commit d1d1f240a25945b37eebe8a9a3f439f290832b33
parent 70a1aa345b95bcf325f19c6e7184bcd6f885e454
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Sun, 10 Nov 2019 13:36:33 +0100

hubolib: Headless bundles should not be listed in .Pages

Fixes #6492

Diffstat:
Mhugolib/pagebundler_test.go | 6++++++
Mhugolib/pagecollections.go | 11++++++-----
Mhugolib/pages_map.go | 12+++++++++---
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/hugolib/pagebundler_test.go b/hugolib/pagebundler_test.go
@@ -579,6 +579,12 @@ HEADLESS {{< myShort >}}
 	// But the bundled resources needs to be published
 	th.assertFileContent(filepath.FromSlash(workDir+"/public/s2/l1.png"), "PNG")
 
+	// No headless bundles here, please.
+	// https://github.com/gohugoio/hugo/issues/6492
+	c.Assert(s.RegularPages(), qt.HasLen, 1)
+	c.Assert(s.home.RegularPages(), qt.HasLen, 1)
+	c.Assert(s.home.Pages(), qt.HasLen, 1)
+
 }
 
 func TestMultiSiteBundles(t *testing.T) {
diff --git a/hugolib/pagecollections.go b/hugolib/pagecollections.go
@@ -490,14 +490,15 @@ func (c *PageCollections) createWorkAllPages() error {
 		}
 
 		if !bucket.view {
+			for _, p := range bucket.headlessPages {
+				ps := p.(*pageState)
+				ps.parent = bucket.owner
+				c.headlessPages = append(c.headlessPages, ps)
+			}
 			for _, p := range bucket.pages {
 				ps := p.(*pageState)
 				ps.parent = bucket.owner
-				if ps.m.headless {
-					c.headlessPages = append(c.headlessPages, ps)
-				} else {
-					c.workAllPages = append(c.workAllPages, ps)
-				}
+				c.workAllPages = append(c.workAllPages, ps)
 
 				if homeDates != nil {
 					homeDates.UpdateDateAndLastmodIfAfter(ps)
diff --git a/hugolib/pages_map.go b/hugolib/pages_map.go
@@ -107,7 +107,12 @@ func (m *pagesMap) initPageMetaFor(prefix string, bucket *pagesMapBucket) error 
 		tmp := bucket.pages[:0]
 		for _, x := range bucket.pages {
 			if m.s.shouldBuild(x) {
-				tmp = append(tmp, x)
+				if x.(*pageState).m.headless {
+					bucket.headlessPages = append(bucket.headlessPages, x)
+				} else {
+					tmp = append(tmp, x)
+				}
+
 			}
 		}
 		bucket.pages = tmp
@@ -410,8 +415,9 @@ type pagesMapBucket struct {
 	parent         *pagesMapBucket
 	bucketSections []*pagesMapBucket
 
-	pagesInit sync.Once
-	pages     page.Pages
+	pagesInit     sync.Once
+	pages         page.Pages
+	headlessPages page.Pages
 
 	pagesAndSectionsInit sync.Once
 	pagesAndSections     page.Pages