ref: 523d51948fc20e2afb4721b43203c5ab696ae220
parent: 971b28904bd3d2acf87f40ed796f9b4589ce5922
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Tue Mar 24 07:47:05 EDT 2020
Fix _build.list.local logic Fixes #7089
--- a/hugolib/content_map.go
+++ b/hugolib/content_map.go
@@ -796,11 +796,11 @@
}
var (
- contentTreeNoListFilter = func(s string, n *contentNode) bool {
+ contentTreeNoListAlwaysFilter = func(s string, n *contentNode) bool {
if n.p == nil {
return true
}
- return n.p.m.noList()
+ return n.p.m.noListAlways()
}
contentTreeNoRenderFilter = func(s string, n *contentNode) bool {
@@ -814,7 +814,7 @@
func (c *contentTree) WalkQuery(query pageMapQuery, walkFn contentTreeNodeCallback) {
filter := query.Filter
if filter == nil {
- filter = contentTreeNoListFilter
+ filter = contentTreeNoListAlwaysFilter
}
if query.Prefix != "" {
c.WalkPrefix(query.Prefix, func(s string, v interface{}) bool {
--- a/hugolib/content_map_page.go
+++ b/hugolib/content_map_page.go
@@ -304,7 +304,7 @@
if n.p == nil {
panic(fmt.Sprintf("BUG: page not set for %q", s))
}
- if contentTreeNoListFilter(s, n) {
+ if contentTreeNoListAlwaysFilter(s, n) {
return false
}
pages = append(pages, n.p)
@@ -613,7 +613,7 @@
func (m *pageMap) collectPages(query pageMapQuery, fn func(c *contentNode)) error {
if query.Filter == nil {
- query.Filter = contentTreeNoListFilter
+ query.Filter = contentTreeNoListAlwaysFilter
}
m.pages.WalkQuery(query, func(s string, n *contentNode) bool {
--- a/hugolib/disableKinds_test.go
+++ b/hugolib/disableKinds_test.go
@@ -269,10 +269,9 @@
sect := getPage(b, ref)
b.Assert(sect, qt.Not(qt.IsNil))
b.Assert(getPageInSitePages(b, ref), qt.IsNil)
- b.Assert(getPageInSitePages(b, ref+"/headless-local-page"), qt.IsNil)
- for i, p := range sect.RegularPages() {
- fmt.Println("REG", i, p.(*pageState).sourceRef())
- }
+
+ b.Assert(getPageInSitePages(b, "/headless-local/_index.md"), qt.IsNil)
+ b.Assert(getPageInSitePages(b, "/headless-local/headless-local-page.md"), qt.IsNil)
localPageRef := ref + "/headless-local-page.md"
--- a/hugolib/page__meta.go
+++ b/hugolib/page__meta.go
@@ -612,8 +612,8 @@
return nil
}
-func (p *pageMeta) noList() bool {
- return !p.buildConfig.ShouldList()
+func (p *pageMeta) noListAlways() bool {
+ return p.buildConfig.List != pagemeta.Always
}
func (p *pageMeta) getListFilter(local bool) contentTreeNodeCallback {
--- a/resources/page/pagemeta/pagemeta.go
+++ b/resources/page/pagemeta/pagemeta.go
@@ -71,10 +71,6 @@
return !b.set
}
-func (b *BuildConfig) ShouldList() bool {
- return b.List == Always || b.List == ListLocally
-}
-
func DecodeBuildConfig(m interface{}) (BuildConfig, error) {
b := defaultBuildConfig
if m == nil {