feat(theme): wrap standalone images in figure tags

This commit is contained in:
Bruno Carlin 2025-07-02 23:58:44 +02:00
parent 970f121e11
commit 394d1556f7
Signed by: bcarlin
GPG key ID: 8E254EA0FFEB9B6D
3 changed files with 54 additions and 0 deletions

View file

@ -0,0 +1,45 @@
{{- $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 -}}