diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-20 09:37:21 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-20 18:28:55 +0100 |
commit | 99958f90fedec11d749a1397300860aa8e8459c2 (patch) | |
tree | 902f114f6ec14694311fddb416375794d33c3a92 /hugolib/page__meta.go | |
parent | 1d91d8e14b13bd135dc4d4a901fc936c9649b219 (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.go | 25 |
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 { |