aboutsummaryrefslogtreecommitdiff
path: root/themes/default/layouts/partials/function-caches-images.html
blob: 2102befd247f0c1e5f90510501f9a95d7c10b6bb (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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{{- $data          := dict -}}
{{- $source        := or .Source "nil" -}}
{{- $fit           := .Fit -}}
{{- $resize        := .Resize -}}
{{- $target        := or .Target "/" -}}
{{- $copy          := .Copy -}}
{{- $directory     := path.Dir $copy -}}
{{- $basename      := path.BaseName $copy -}}
{{- $type          := strings.TrimPrefix "." (path.Ext $copy) -}}
{{- $alternateCopy := or .AlternateCopy (print $directory "/" $basename ".webp") -}}
{{- $alternateType := strings.TrimPrefix "." (path.Ext $alternateCopy) -}}
{{- $isFile        := ne (path.Base $copy) "." -}}
{{- $cached        := and $isFile (fileExists (print "public/" $copy)) (fileExists (print "public/" $alternateCopy)) -}}
{{- $local         := print "public/" $source -}}
{{- $localized     := fileExists $local -}}

{{- with $404image := resources.Get "data/media/404.png" -}}
  {{- $404image = .Content | resources.FromString (print $target (path.Base .)) -}}
  {{-
    $data = (dict
      "Width"        $404image.Width
      "Height"       $404image.Height
      "Permalink"    $404image.Permalink
      "RelPermalink" $404image.RelPermalink
    )
  -}}
{{- end -}}

{{- if $cached -}}
  {{- with $image := resources.Get (print "public/" $copy) -}}
    {{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
    {{-
      $data = (dict
        "Width"        $image.Width
        "Height"       $image.Height
        "Permalink"    $image.Permalink
        "RelPermalink" $image.RelPermalink
      )
    -}}
    {{- $image = resources.Get (print "public/" $alternateCopy) -}}
    {{- $image = .Content | resources.FromString (print $target (path.Base $image)) -}}
    {{-
      $data = merge $data (dict
        "AltPermalink"    $image.Permalink
        "AltRelPermalink" $image.RelPermalink
      )
    -}}
  {{- end -}}
{{- else -}}
  {{- with $image := resources.GetRemote $source -}}
    {{- with .Err -}}
      {{- if $localized -}}
        {{- $directory := path.Dir $local -}}
        {{- $basename  := path.BaseName $local -}}
        {{- $type      := strings.TrimPrefix "." (path.Ext $local) -}}
        {{- with $image := resources.Get $local -}}
          {{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
          {{- with $fit    -}} {{- $image = $image.Fit    (print $fit    " " $type) -}} {{- end -}}
          {{- with $resize -}} {{- $image = $image.Resize (print $resize " " $type) -}} {{- end -}}
          {{- $image = $image | resources.Copy $copy -}}
          {{-
            $data = (dict
              "Width"        $image.Width
              "Height"       $image.Height
              "Permalink"    $image.Permalink
              "RelPermalink" $image.RelPermalink
            )
          -}}
          {{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
          {{- with $fit    -}} {{- $image = $image.Fit    (print $fit    " " $alternateType) -}} {{- end -}}
          {{- with $resize -}} {{- $image = $image.Resize (print $resize " " $alternateType) -}} {{- end -}}
          {{- $image = $image | resources.Copy $alternateCopy -}}
          {{-
            $data = merge $data (dict
              "AltPermalink"    $image.Permalink
              "AltRelPermalink" $image.RelPermalink
            )
          -}}
        {{- end -}}
      {{- end -}}
    {{- else -}}
      {{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
      {{- with $fit    -}} {{- $image = $image.Fit    (print $fit    " " $type) -}} {{- end -}}
      {{- with $resize -}} {{- $image = $image.Resize (print $resize " " $type) -}} {{- end -}}
      {{- $image = $image | resources.Copy $copy -}}
      {{-
        $data = (dict
          "Width"        $image.Width
          "Height"       $image.Height
          "Permalink"    $image.Permalink
          "RelPermalink" $image.RelPermalink
        )
      -}}
      {{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
      {{- with $fit    -}} {{- $image = $image.Fit    (print $fit    " " $alternateType) -}} {{- end -}}
      {{- with $resize -}} {{- $image = $image.Resize (print $resize " " $alternateType) -}} {{- end -}}
      {{- $image = $image | resources.Copy $alternateCopy -}}
      {{-
        $data = merge $data (dict
          "AltPermalink"    $image.Permalink
          "AltRelPermalink" $image.RelPermalink
        )
      -}}
    {{- end -}}
  {{- end -}}
{{- end -}}

{{- return $data -}}