{{ $params := . }} {{ $caption := $params.caption | markdownify }} {{ $content := $params.content | markdownify }} {{ $float := $params.float }} {{ $gap := $params.gap }} {{ $horizontal := $params.horizontal | default "center" }} {{ $maxwidth := $params.maxwidth }} {{ $number := $params.number }} {{ $numbered := $params.numbered }} {{ $vertical := $params.vertical | default "center" }} {{ $width := $params.width }} {{ $showcaption := $caption }} {{ $sidemargin := "" }} {{ $table := false }} {{ $widths := slice }} {{ if and $caption $float }} {{ $table = true }} {{ end }} {{ if $maxwidth }} {{ $widths = $widths | append (printf "max-width: %v" $maxwidth) }} {{ end }} {{ if $width }} {{ $widths = $widths | append (printf "width: %v" $width) }} {{ end }} {{ $widths = delimit ($widths | sort) "; " }} {{ if $float }} {{ if eq $float "start" }} {{ $sidemargin = "me-4" }} {{ else if eq $float "end" }} {{ $sidemargin = "ms-4" }} {{ else }} {{ errorf "paige/figure: invalid float: %q" $float }} {{ end }} {{ end }} {{ if $caption }} {{ if $number }} {{ $caption = printf "%v %v: %v" (i18n "paige_figure") $number $caption }} {{ end }} {{ else }} {{ if $number }} {{ $caption = printf "%v %v" (i18n "paige_figure") $number }} {{ $showcaption = true }} {{ else if $numbered }} {{ $showcaption = true }} {{ end }} {{ end }}
{{ $content }}
{{ if $showcaption }}
{{ $caption }}
{{ end }}