Welcome to mirror list, hosted at ThFree Co, Russian Federation.

img.html « shortcodes « layouts - github.com/thegeeklab/hugo-geekblog.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 436feb6821e4a9d1ced6c8d0552e7bd7d4d12c93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{{- $source := ($.Page.Resources.ByType "image").GetMatch (printf "%s" (.Get "name")) }}
{{- $customAlt := .Get "alt" }}
{{- $customSize := .Get "size" | lower }}
{{- $lazyLoad := default (default true $.Site.Params.GeekblogImageLazyLoading) (.Get "lazy") }}

{{- with $source }}
  {{- $caption := default .Title $customAlt }}

  {{- $profile := (.Fill "180x180 Center").Permalink }}
  {{- $tiny := (.Resize "320x").Permalink }}
  {{- $small := (.Resize "600x").Permalink }}
  {{- $medium := (.Resize "1200x").Permalink }}
  {{- $large := (.Resize "1800x").Permalink }}

  {{- $size := dict "profile" $profile "tiny" $tiny "small" $small "medium" $medium "large" $large }}


  <div class="flex justify-center">
    <figure
      class="gblog-post__figure
      {{- if eq $customSize "profile" }}{{ print " gblog-post__figure--round" }}{{ end }}"
    >
      <a class="gblog-markdown__link--raw" href="{{ .Permalink }}">
        <picture>
          <source
            {{- with $customSize }}
              srcset="{{ index $size $customSize }}"
            {{- else }}
              srcset="{{ $size.small }} 600w, {{ $size.medium }} 1200w" sizes="100vw"
            {{- end }}
          />
          <img
            {{- if $lazyLoad }}{{ print " loading=\"lazy\"" | safeHTMLAttr }}{{- end }}
            src="{{ $size.large }}"
            alt="{{ $caption }}"
          />
        </picture>
      </a>
      {{- if not (eq $customSize "profile") }}
        {{- with $caption }}
          <figcaption>
            {{ . }}
            {{- with $source.Params.credits }}
              {{ printf " (%s)" . | $.Page.RenderString }}
            {{- end }}
          </figcaption>
        {{- end }}
      {{- end }}
    </figure>
  </div>
{{- end }}