30 lines
1.6 KiB
HTML
30 lines
1.6 KiB
HTML
{{/* Enable image to be loaded from local page dir or media library at `static/img/`. */}}
|
|
{{ $image_src := .Get "src" }}
|
|
{{ if .Get "library" }}
|
|
{{ $image_src = printf "img/%s" $image_src | relURL }}
|
|
{{ end }}
|
|
{{ $lightbox := eq (.Get "lightbox" | default "false") "true" }}
|
|
{{ $group := .Get "lightbox-group" | default "" }}
|
|
|
|
<figure{{ with .Get "class" }} class="{{.}}"{{ end }}>
|
|
{{ if $lightbox }}
|
|
<a data-fancybox="{{$group}}" href="{{$image_src}}" {{ with .Get "caption"}}data-caption="{{ .|markdownify|emojify }}"{{ end }}>
|
|
{{ else if .Get "link"}}
|
|
<a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{.}}"{{ end }}{{ with .Get "rel" }} rel="{{.}}"{{ end }}>
|
|
{{ end }}
|
|
<img src="{{$image_src}}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}" {{ end }}{{ with .Get "width" }}width="{{.}}" {{ end }}{{ with .Get "height" }}height="{{.}}" {{ end }}>
|
|
{{ if or $lightbox (.Get "link") }}</a>{{ end }}
|
|
{{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
|
|
{{ $figure := split (i18n "figure" | default "Figure %d:") "%d" }}
|
|
<figcaption data-pre="{{ index $figure 0 }}" data-post="{{ index $figure 1 }}" {{ if eq (.Get "numbered") "true" }}class="numbered"{{ end }}>
|
|
{{ if isset .Params "title" }}<h4>{{ .Get "title" | markdownify | emojify }}</h4>{{ end }}
|
|
{{ if or (.Get "caption") (.Get "attr")}}<p>
|
|
{{ .Get "caption" | markdownify | emojify }}
|
|
{{ with .Get "attrlink"}}<a href="{{.}}"> {{ end }}
|
|
{{ .Get "attr" }}
|
|
{{ if .Get "attrlink"}}</a> {{ end }}
|
|
</p> {{ end }}
|
|
</figcaption>
|
|
{{ end }}
|
|
</figure>
|