123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- {{- $source := ($.Page.Resources.ByType "image").GetMatch (printf "%s" (.Get "name")) }}
- {{- $customAlt := .Get "alt" }}
- {{- $customSize := .Get "size" | lower }}
- {{- $lazyLoad := default (default true $.Site.Params.geekdocImageLazyLoading) (.Get "lazy") }}
- {{- $data := newScratch }}
- {{- with $source }}
- {{- $caption := default .Title $customAlt }}
- {{- $isSVG := (eq .MediaType.SubType "svg") }}
- {{- $origin := . }}
- {{- if $isSVG }}
- {{- $data.SetInMap "size" "tiny" "320" }}
- {{- $data.SetInMap "size" "small" "600" }}
- {{- $data.SetInMap "size" "medium" "1200" }}
- {{- $data.SetInMap "size" "large" "1800" }}
- {{- else }}
- {{- $data.SetInMap "size" "tiny" "320x"}}
- {{- $data.SetInMap "size" "small" "600x" }}
- {{- $data.SetInMap "size" "medium" "1200x" }}
- {{- $data.SetInMap "size" "large" "1800x" }}
- {{- end -}}
- <div class="flex justify-center">
- <figure class="gdoc-markdown__figure">
- <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.Resize (index $size $customSize)).Permalink }}"
- {{- else }}
- srcset="{{ ($origin.Resize (index $size "small")).Permalink }} 600w, {{ ($origin.Resize (index $size "medium")).Permalink }} 1200w" sizes="100vw"
- {{- end }}
- />
- {{- end }}
- {{- end }}
- <img
- {{- if $isSVG }}
- src="{{ $origin.Permalink }}" width="{{ index $size (default "medium" $customSize) }}"
- {{- else }}
- {{- if $lazyLoad }}{{ print " loading=\"lazy\"" | safeHTMLAttr }}{{- end }}
- {{- if eq $customSize "origin" }}
- src="{{ $origin.Permalink }}"
- {{- else }}
- src="{{ ($origin.Resize (index $size "large")).Permalink }}"
- {{- end }}
- alt="{{ $caption }}"
- {{- end }}
- />
- </picture>
- </a>
- {{- with $caption }}
- <figcaption>
- {{ . }}
- {{- with $source.Params.credits }}
- {{ printf " (%s)" . | $.Page.RenderString }}
- {{- end }}
- </figcaption>
- {{- end }}
- </figure>
- </div>
- {{- end }}
|