You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
38 lines
1.3 KiB
{{ $source := ($.Page.Resources.ByType "image").GetMatch (printf "%s" (.Get "name")) }} |
|
{{ $customAlt := .Get "alt" }} |
|
{{ $customSize := .Get "size" }} |
|
{{ $lazyLoad := default (default true $.Site.Params.GeekblogImageLazyLoading) (.Get "lazy") }} |
|
|
|
{{ with $source }} |
|
{{ $caption := default .Title $customAlt }} |
|
|
|
{{ $tiny := (.Resize "320x").RelPermalink }} |
|
{{ $small := (.Resize "600x").RelPermalink }} |
|
{{ $medium := (.Resize "1200x").RelPermalink }} |
|
{{ $large := (.Resize "1800x").RelPermalink }} |
|
|
|
{{ $size := dict "tiny" $tiny "small" $small "medium" $medium "large" $large }} |
|
|
|
<div class="flex justify-center"> |
|
<figure class="gblog-post__figure"> |
|
<a class="gblog-markdown__link--raw" href="{{ .RelPermalink }}"> |
|
<picture> |
|
<source |
|
{{ with $customSize }} |
|
srcset="{{ index $size $customSize }}" |
|
{{ else }} |
|
srcset="{{ $size.small }} 600w, |
|
{{ $size.medium }} 1200w" |
|
sizes="100vw" |
|
{{ end }} /> |
|
<img |
|
{{ if $lazyLoad }}loading="lazy"{{ end }} |
|
src="{{ $size.large }}" alt="{{ $caption }}" /> |
|
</picture> |
|
</a> |
|
{{ with $caption }} |
|
<figcaption>{{ . }}{{ with $source.Params.credits }} ({{ . | $.Page.RenderString }}){{ end }}</figcaption> |
|
{{ end }} |
|
</figure> |
|
</div> |
|
{{ end }}
|
|
|