{{/* https://github.com/pablotron/hugo-shortcode-ppic Custom Hugo table shortcode which renders figure elements that support progressive enhancement. This short code exists because the figure shortcode in Hugo does not support the picture element and does not support progressive image enhancement. */}} {{/* image mime types */}} {{- $MIME_TYPES := (dict ".webp" "image/webp" ".avif" "image/avif" ".png" "image/png") -}} {{/* get picture data */}} {{- $pic := (index $.Page.Params "pics" (.Get 0)) -}} {{- if (reflect.IsSlice $pic) -}} {{- $pic = (dict "sources" $pic) -}} {{- end -}}
{{- if $pic.sources -}} {{/* get source count */}} {{- $num_sources := len $pic.sources -}} {{/* render sources */}} {{- range $x, $src := $pic.sources -}} {{- $is_map := reflect.IsMap $src -}} {{- if $is_map -}} {{/* source is a map, reference keys */}} {{- if (lt $x (sub $num_sources 1)) -}} {{/* emit source tag */}} {{- else -}} {{/* emit img tag */}} {{- default $pic.tip $src.tip -}} {{- end -}} {{- else -}} {{/* src is a string */}} {{- if (lt $x (sub $num_sources 1)) -}} {{/* emit source */}} {{/* get file extension */}} {{- $ext := path.Ext $src -}} {{- else -}} {{/* emit img */}} {{- $pic.tip -}} {{- end -}} {{- end -}} {{- end -}} {{- end -}}

{{- $pic.tip -}}