| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | {{/* Figure Shortcode for Wowchemy. */}}{{/* Load image from page dir falling back to media library at `assets/images/` and then to remote URI. */}}{{ $destination := .Get "src" }}{{ $caption := .Get "caption" | default (.Get "title") | default "" }}{{/* Support legacy `title` option. */}}{{ $id := anchorize (.Get "id" | default ($caption | plainify)) }}{{ $alt := .Get "alt" | default ($caption | plainify) }}{{- $img := (.Page.Resources.ByType "image").GetMatch $destination -}}{{- if not $img -}}  {{- $img = resources.Get (path.Join "images" $destination) -}}{{- end -}}<figure {{ with .Get "class" }}class="{{.}}"{{ end }} {{ with $id }}id="figure-{{ . }}"{{ end }}>  {{- if $img -}}    {{ $isSVG := eq $img.MediaType.SubType "svg" }}    {{ if $isSVG }}      <img alt="{{ $alt }}"       src="{{ $img.RelPermalink }}"       loading="lazy"       data-zoomable       {{ with .Get "width" }}width="{{.}}"{{end}} {{ with .Get "height" }}height="{{.}}"{{end}} />    {{ else }}      {{- $img_lg := $img.Fit "1200x1200" -}}      {{- $img_md := $img_lg.Fit "760x760" -}}{{/* Match `.docs-article-container` max-width */}}      {{- $img_sm := $img_md.Fit "400x400" -}}      {{- $width := (.Get "width") | default $img_md.Width -}}      {{- $height := (.Get "height") | default $img_md.Height -}}      <img alt="{{ $alt }}" srcset="           {{ $img_sm.RelPermalink }} 400w,           {{ $img_md.RelPermalink }} 760w,           {{ $img_lg.RelPermalink }} 1200w"           src="{{ $img_sm.RelPermalink }}"           width="{{ $width }}"           height="{{ $height }}"           loading="lazy"           data-zoomable />    {{ end }}  {{- else -}}    <img src="{{ $destination | safeURL }}" alt="{{ $alt }}" loading="lazy" data-zoomable         {{ with .Get "width" }}width="{{.}}"{{end}} {{ with .Get "height" }}height="{{.}}"{{end}} />  {{- end -}}  {{ if $caption }}    {{/* Localize the figure numbering (if enabled). */}}    {{ $figure := split (i18n "figure" | default "Figure %d:") "%d" }}    <figcaption{{ if eq (.Get "numbered") "true" }} data-pre="{{- trim (index $figure 0) " " -}} " data-post="{{ index $figure 1 }} " class="numbered"{{ end }}>      {{ $caption | markdownify | emojify }}    </figcaption>  {{ end }}</figure>
 |