{{- $source := ($.Page.Resources.ByType "image").GetMatch (printf "%s" (.Get "name")) }} {{- $customAlt := .Get "alt" }} {{- $customSize := .Get "size" | lower }} {{- $customAnchor := default "smart" (.Get "anchor") | title }} {{- $data := newScratch }} {{- with $source }} {{- $caption := default .Title $customAlt }} {{- $isSVG := (eq .MediaType.SubType "svg") }} {{- $origin := . -}} {{- if $isSVG }} {{- $data.SetInMap "size" "tiny" "160" }} {{- $data.SetInMap "size" "small" "300" }} {{- $data.SetInMap "size" "medium" "600" }} {{- $data.SetInMap "size" "large" "900" }} {{- else }} {{- $data.SetInMap "size" "tiny" (printf "160x160 %s" $customAnchor) }} {{- $data.SetInMap "size" "small" (printf "300x300 %s" $customAnchor) }} {{- $data.SetInMap "size" "medium" (printf "600x600 %s" $customAnchor) }} {{- $data.SetInMap "size" "large" (printf "900x900 %s" $customAnchor) }} {{- end -}} <div class="flex justify-center"> <figure class="gdoc-markdown__figure gdoc-markdown__figure--round"> <a class="gdoc-markdown__link--raw" href="{{ .Permalink }}"> <picture> {{- $size := $data.Get "size" }} {{- if not $isSVG }} {{- if ne $customSize "origin" }} <source {{- if $customSize }} srcset="{{ ($origin.Fill (index $size $customSize)).Permalink }}" {{- else }} srcset="{{ ($origin.Fill (index $size "small")).Permalink }} 600w, {{ ($origin.Fill (index $size "medium")).Permalink }} 1200w" sizes="100vw" {{- end }} /> {{- end }} {{- end }} <img {{- if $isSVG }} src="{{ $origin.Permalink }}" width="{{ index $size (default "medium" $customSize) }}" {{- else }} {{- if eq $customSize "origin" }} src="{{ $origin.Permalink }}" {{- else }} src="{{ ($origin.Fill (index $size "large")).Permalink }}" {{- end }} alt="{{ $caption }}" {{- end }} /> </picture> </a> </figure> </div> {{- end }}