From: Bjørn Erik Pedersen Date: Tue, 24 Mar 2020 10:47:05 +0000 (+0100) Subject: Fix _build.list.local logic X-Git-Tag: v0.68.3~3 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=523d51948fc20e2afb4721b43203c5ab696ae220;p=brevno-suite%2Fhugo Fix _build.list.local logic Fixes #7089 --- diff --git a/hugolib/content_map.go b/hugolib/content_map.go index 7b28965a..3c57fffc 100644 --- a/hugolib/content_map.go +++ b/hugolib/content_map.go @@ -796,11 +796,11 @@ func newContentTreeFilter(fn func(n *contentNode) bool) contentTreeNodeCallback } 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 @@ var ( 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 { diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go index 5607749c..6be56f3f 100644 --- a/hugolib/content_map_page.go +++ b/hugolib/content_map_page.go @@ -304,7 +304,7 @@ func (m *pageMap) createListAllPages() page.Pages { 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 @@ type pageMapQuery struct { 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 { diff --git a/hugolib/disableKinds_test.go b/hugolib/disableKinds_test.go index 9ac30442..87c2b5d3 100644 --- a/hugolib/disableKinds_test.go +++ b/hugolib/disableKinds_test.go @@ -269,10 +269,9 @@ title: Headless Local Lists Sub 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" diff --git a/hugolib/page__meta.go b/hugolib/page__meta.go index 87e95510..36c314d9 100644 --- a/hugolib/page__meta.go +++ b/hugolib/page__meta.go @@ -612,8 +612,8 @@ func (pm *pageMeta) setMetadata(parentBucket *pagesMapBucket, p *pageState, fron 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 { diff --git a/resources/page/pagemeta/pagemeta.go b/resources/page/pagemeta/pagemeta.go index 632f46df..4e09b5ed 100644 --- a/resources/page/pagemeta/pagemeta.go +++ b/resources/page/pagemeta/pagemeta.go @@ -71,10 +71,6 @@ func (b BuildConfig) IsZero() bool { 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 {