mirror of
https://github.com/gohugoio/hugo.git
synced 2026-09-03 20:22:38 +00:00
df11327ba9
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
16 lines
466 B
HTML
16 lines
466 B
HTML
{{- $u := urls.Parse .Destination -}}
|
|
{{- $src := $u.String -}}
|
|
{{- if not $u.IsAbs -}}
|
|
{{- with or (.PageInner.Resources.Get $u.Path) (resources.Get $u.Path) -}}
|
|
{{- $src = .RelPermalink -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- $attributes := merge .Attributes (dict "alt" .Text "src" $src "title" .Title) -}}
|
|
<img
|
|
{{- range $k, $v := $attributes -}}
|
|
{{- if $v -}}
|
|
{{- printf " %s=%q" $k $v | safeHTMLAttr -}}
|
|
{{- end -}}
|
|
{{- end -}}>
|
|
{{- /**/ -}}
|