mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05: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
15 lines
466 B
HTML
15 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 -}}>
|
|
{{- /**/ -}}
|