hubolib: Headless bundles should not be listed in .Pages - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit d1d1f240a25945b37eebe8a9a3f439f290832b33
DIR parent 70a1aa345b95bcf325f19c6e7184bcd6f885e454
HTML 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:
M hugolib/pagebundler_test.go | 6 ++++++
M hugolib/pagecollections.go | 11 ++++++-----
M hugolib/pages_map.go | 12 +++++++++---
3 files changed, 21 insertions(+), 8 deletions(-)
---
DIR 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) {
DIR 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)
DIR 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