]> git.maquefel.me Git - brevno-suite/hugo/commit
Pass .RenderShortcodes' Page to render hooks as .PageInner
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 11 Apr 2024 15:46:18 +0000 (17:46 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 15 Apr 2024 07:49:57 +0000 (09:49 +0200)
commitdf11327ba90179747be2b25574ac48c2f336b298
tree70f7487cee6815109fc325ed0619130bb29834ca
parenta18e2bcb9a2c556e03dc7e790b0343c83163877a
Pass .RenderShortcodes' Page to render hooks as .PageInner

The main use case for this is to resolve links and resources (e.g. images) relative to the included `Page`.

A typical `include` would similar to this:

```handlebars
{{ with site.GetPage (.Get 0) }}
  {{ .RenderShortcodes }}
{{ end }}
```

And when used in a Markdown file:

```markdown
{{% include "/posts/p1" %}}
```

Any render hook triggered while rendering `/posts/p1` will get `/posts/p1` when calling `.PageInner`.

Note that

* This is only relevant for shortcodes included with `{{%` that calls `.RenderShortcodes`.
* `.PageInner` is available in all render hooks that, before this commit, received `.Page`.
* `.PageInner` will fall back to the value of `.Page` if not relevant and will always have a value.

Fixes #12356
18 files changed:
hugolib/content_map_page.go
hugolib/page__content.go
hugolib/page__meta.go
hugolib/page__per_output.go
hugolib/rendershortcodes_test.go
hugolib/shortcode.go
markup/converter/converter.go
markup/converter/hooks/hooks.go
markup/goldmark/codeblocks/render.go
markup/goldmark/convert.go
markup/goldmark/hugocontext/hugocontext.go [new file with mode: 0644]
markup/goldmark/hugocontext/hugocontext_test.go [new file with mode: 0644]
markup/goldmark/internal/render/context.go
markup/goldmark/render_hooks.go
resources/page/pagemeta/page_frontmatter.go
tpl/template.go
tpl/tplimpl/embedded/templates/_default/_markup/render-image.html
tpl/tplimpl/embedded/templates/_default/_markup/render-link.html