hubolib: Headless bundles should not be listed in .Pages
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 10 Nov 2019 12:36:33 +0000 (13:36 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 10 Nov 2019 17:57:31 +0000 (18:57 +0100)
Fixes #6492

hugolib/pagebundler_test.go
hugolib/pagecollections.go
hugolib/pages_map.go

index d4d89bd8592dd43f6413a2287afbf3a40d21325b..eb36700a24ed21f18fafaf3aca1b211257bcdcc4 100644 (file)
@@ -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) {
index 4711d3de381fc89de16a6aae46b9505cc3e54e0b..7e9682e90e1ad7f2d7e3c47bdb7bd8cac3c61175 100644 (file)
@@ -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)
index c7a74c4c11c3bd84e30a7f015aae8c87c6e129d0..aba1aa4bf604a822c38cc8c0954d7be15febc1ad 100644 (file)
@@ -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