bcarlin.net/layouts/_markup/render-image.html

46 lines
1.2 KiB
HTML
Raw Normal View History

{{- $u := urls.Parse .Destination -}}
{{- $path := strings.TrimPrefix "./" $u.Path -}}
{{- $res := or (.PageInner.Resources.Get $path) (resources.Get $path) -}}
{{- $src := $u.String -}}
{{- if not $u.IsAbs -}}
{{- with $res -}}
{{- $src = .RelPermalink -}}
{{- with $u.RawQuery -}}
{{- $src = printf "%s?%s" $src . -}}
{{- end -}}
{{- with $u.Fragment -}}
{{- $src = printf "%s#%s" $src . -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if .IsBlock -}}
<figure>
<img src="{{ $src }}" alt="{{ .PlainText }}"
{{- with .Title }} title="{{ . }}" {{- end -}}
{{- range $k, $v := .Attributes -}}
{{- if $v -}}
{{- printf " %s=%q" $k ($v | transform.HTMLEscape) | safeHTMLAttr -}}
{{- end -}}
{{- end -}}
>
{{- with $res.Params.legend -}}
<figcaption>
{{- . -}}
</figcaption>
{{- end -}}
</figure>
{{- else -}}
<img src="{{ $src }}" alt="{{ .PlainText }}"
{{- with .Title }} title="{{ . }}" {{- end -}}
{{- range $k, $v := .Attributes -}}
{{- if $v -}}
{{- printf " %s=%q" $k ($v | transform.HTMLEscape) | safeHTMLAttr -}}
{{- end -}}
{{- end -}}
>
{{- end -}}
{{- define "_partials/render-image.html" -}}
{{- end -}}