blob: 9a18f7b6d96069b1934e567dd4ff83bc621fda66 (
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
|
{{- $data := slice -}}
{{- $source := .Source -}}
{{- $dimensions := or .Dimensions "300x300" -}}
{{- $target := or .Target "/" -}}
{{- $copy := .Copy -}}
{{- $directory := path.Dir $copy -}}
{{- $basename := path.BaseName $copy -}}
{{- $type := strings.TrimPrefix "." (path.Ext $copy) -}}
{{- $optimized := print $directory "/" $basename ".webp" -}}
{{- $cached := and (fileExists (print "public/" $copy)) (fileExists (print "public/" $optimized)) -}}
{{- $local := print "public/" $source -}}
{{- $localized := fileExists $local -}}
{{- with $404image := resources.Get "data/media/404.png" -}}
{{- $404image = .Content | resources.FromString (print $target (path.Base .)) -}}
{{-
$data = $data | append (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 = slice | append (dict
"Width" $image.Width
"Height" $image.Height
"Permalink" $image.Permalink
"RelPermalink" $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 .)) -}}
{{- $image = $image.Fit (print $dimensions " " $type) -}}
{{- $image = $image | resources.Copy $copy -}}
{{-
$data = slice | append (dict
"Width" $image.Width
"Height" $image.Height
"Permalink" $image.Permalink
"RelPermalink" $image.RelPermalink
)
-}}
{{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
{{- $image = $image.Fit (print $dimensions " " "webp") -}}
{{- $image = $image | resources.Copy $optimized -}}
{{- $writeToFile := $image.Permalink -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
{{- $image = $image.Fit (print $dimensions " " $type) -}}
{{- $image = $image | resources.Copy $copy -}}
{{-
$data = slice | append (dict
"Width" $image.Width
"Height" $image.Height
"Permalink" $image.Permalink
"RelPermalink" $image.RelPermalink
)
-}}
{{- $image = .Content | resources.FromString (print $target (path.Base .)) -}}
{{- $image = $image.Fit (print $dimensions " " "webp") -}}
{{- $image = $image | resources.Copy $optimized -}}
{{- $writeToFile := $image.Permalink -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- return (index $data 0) -}}
|