diff options
author | Bjørn Erik Pedersen <[email protected]> | 2024-05-02 10:41:58 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-05-02 10:49:02 +0200 |
commit | c892e75fbce3a0ed04cd4edcda7a480a4e36836c (patch) | |
tree | edf7862034e6072cf9ce70901c83fcde75371852 | |
parent | 4255d13d3e2e64f6ca9d29b640081992eb31161e (diff) | |
download | hugo-c892e75fbce3a0ed04cd4edcda7a480a4e36836c.tar.gz hugo-c892e75fbce3a0ed04cd4edcda7a480a4e36836c.zip |
resources/page: Pull internal Page methods into its own interface
So it doesn't get visible when passing it to `jsonify`.
-rw-r--r-- | hugolib/page__common.go | 1 | ||||
-rw-r--r-- | hugolib/page__new.go | 1 | ||||
-rw-r--r-- | resources/page/page.go | 10 |
3 files changed, 9 insertions, 3 deletions
diff --git a/hugolib/page__common.go b/hugolib/page__common.go index 164776842..d3b0bd112 100644 --- a/hugolib/page__common.go +++ b/hugolib/page__common.go @@ -67,6 +67,7 @@ type pageCommon struct { page.InSectionPositioner page.OutputFormatsProvider page.PageMetaProvider + page.PageMetaInternalProvider page.Positioner page.RawContentProvider page.RelatedKeywordsProvider diff --git a/hugolib/page__new.go b/hugolib/page__new.go index e14de6925..ac3962883 100644 --- a/hugolib/page__new.go +++ b/hugolib/page__new.go @@ -184,6 +184,7 @@ func (h *HugoSites) newPage(m *pageMeta) (*pageState, *paths.Path, error) { ResourceNameTitleProvider: m, ResourceParamsProvider: m, PageMetaProvider: m, + PageMetaInternalProvider: m, RelatedKeywordsProvider: m, OutputFormatsProvider: page.NopPage, ResourceTypeProvider: pageTypesProvider, diff --git a/resources/page/page.go b/resources/page/page.go index f995ee641..9647a916b 100644 --- a/resources/page/page.go +++ b/resources/page/page.go @@ -225,9 +225,6 @@ type PageMetaProvider interface { // to the source of this Page. It will be relative to any content root. Path() string - // This is for internal use only. - PathInfo() *paths.Path - // The slug, typically defined in front matter. Slug() string @@ -253,6 +250,12 @@ type PageMetaProvider interface { Weight() int } +// PageMetaInternalProvider provides internal page metadata. +type PageMetaInternalProvider interface { + // This is for internal use only. + PathInfo() *paths.Path +} + // PageRenderProvider provides a way for a Page to render content. type PageRenderProvider interface { // Render renders the given layout with this Page as context. @@ -273,6 +276,7 @@ type PageWithoutContent interface { RenderShortcodesProvider resource.Resource PageMetaProvider + PageMetaInternalProvider resource.LanguageProvider // For pages backed by a file. |