summaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-03-05 10:32:00 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-03-05 12:51:57 +0100
commitb83050cb40fc11ba36ca2680467fd8d4c6f2e516 (patch)
tree318b1b7edd0ea3d2a97f352c90bb215e46429de7 /resources
parentdf5608f8a0706c6519f50b5497e36c21b8e790be (diff)
Fix .Fragments when called cross sites on uninitialized output format
Fixes #10794
Diffstat (limited to 'resources')
-rw-r--r--resources/page/page.go6
-rw-r--r--resources/page/page_lazy_contentprovider.go12
2 files changed, 15 insertions, 3 deletions
diff --git a/resources/page/page.go b/resources/page/page.go
index 8f89142b3..6f6f1d100 100644
--- a/resources/page/page.go
+++ b/resources/page/page.go
@@ -334,9 +334,6 @@ type PageWithoutContent interface {
// Used in change/dependency tracking.
identity.Provider
- // Fragments returns the fragments for this page.
- Fragments(context.Context) *tableofcontents.Fragments
-
// Headings returns the headings for this page when a filter is set.
// This is currently only triggered with the Related content feature
// and the "fragments" type of index.
@@ -407,6 +404,9 @@ type SitesProvider interface {
type TableOfContentsProvider interface {
// TableOfContents returns the table of contents for the page rendered as HTML.
TableOfContents(context.Context) template.HTML
+
+ // Fragments returns the fragments for this page.
+ Fragments(context.Context) *tableofcontents.Fragments
}
// TranslationsProvider provides access to any translations.
diff --git a/resources/page/page_lazy_contentprovider.go b/resources/page/page_lazy_contentprovider.go
index 400b9e4f0..2d647e90c 100644
--- a/resources/page/page_lazy_contentprovider.go
+++ b/resources/page/page_lazy_contentprovider.go
@@ -19,6 +19,7 @@ import (
"github.com/gohugoio/hugo/lazy"
"github.com/gohugoio/hugo/markup/converter"
+ "github.com/gohugoio/hugo/markup/tableofcontents"
)
// OutputFormatContentProvider represents the method set that is "outputFormat aware" and that we
@@ -73,6 +74,17 @@ func (lcp *LazyContentProvider) Reset() {
lcp.init.Reset()
}
+func (lcp *LazyContentProvider) TableOfContents(ctx context.Context) template.HTML {
+ lcp.init.Do(ctx)
+ return lcp.cp.TableOfContents(ctx)
+
+}
+
+func (lcp *LazyContentProvider) Fragments(ctx context.Context) *tableofcontents.Fragments {
+ lcp.init.Do(ctx)
+ return lcp.cp.Fragments(ctx)
+}
+
func (lcp *LazyContentProvider) Content(ctx context.Context) (any, error) {
lcp.init.Do(ctx)
return lcp.cp.Content(ctx)