summaryrefslogtreecommitdiffstats
path: root/hugolib/page__meta.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-03-20 09:37:21 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-03-20 18:28:55 +0100
commit99958f90fedec11d749a1397300860aa8e8459c2 (patch)
tree902f114f6ec14694311fddb416375794d33c3a92 /hugolib/page__meta.go
parent1d91d8e14b13bd135dc4d4a901fc936c9649b219 (diff)
Allow headless bundles to list pages via $page.Pages and $page.RegularPages
Fixes #7075
Diffstat (limited to 'hugolib/page__meta.go')
-rw-r--r--hugolib/page__meta.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/hugolib/page__meta.go b/hugolib/page__meta.go
index 7eb7cbfe1..87e955103 100644
--- a/hugolib/page__meta.go
+++ b/hugolib/page__meta.go
@@ -460,7 +460,7 @@ func (pm *pageMeta) setMetadata(parentBucket *pagesMapBucket, p *pageState, fron
isHeadless := cast.ToBool(v)
pm.params[loki] = isHeadless
if p.File().TranslationBaseName() == "index" && isHeadless {
- pm.buildConfig.List = false
+ pm.buildConfig.List = pagemeta.Never
pm.buildConfig.Render = false
}
case "outputs":
@@ -613,7 +613,28 @@ func (pm *pageMeta) setMetadata(parentBucket *pagesMapBucket, p *pageState, fron
}
func (p *pageMeta) noList() bool {
- return !p.buildConfig.List
+ return !p.buildConfig.ShouldList()
+}
+
+func (p *pageMeta) getListFilter(local bool) contentTreeNodeCallback {
+
+ return newContentTreeFilter(func(n *contentNode) bool {
+ if n == nil {
+ return true
+ }
+
+ var shouldList bool
+ switch n.p.m.buildConfig.List {
+ case pagemeta.Always:
+ shouldList = true
+ case pagemeta.Never:
+ shouldList = false
+ case pagemeta.ListLocally:
+ shouldList = local
+ }
+
+ return !shouldList
+ })
}
func (p *pageMeta) noRender() bool {