blob: 764fa6d5e260a67e5921c684c59f2fbffc07624b (
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
|
{{- $folder := .Folder -}}
{{- $files := slice -}}
{{- $dimensions := "320x320" -}}
{{- $author := strings.TrimPrefix "public/" (strings.TrimSuffix "/media/" $folder) -}}
{{- $prefix := print (partial "function-paths.html" "media") "/" $author "/gallery-walker_" -}}
{{- if fileExists $folder -}}
{{- range readDir $folder -}}
{{- $name := index (split .Name ".") 0 -}}
{{- $extension := path.Ext .Name -}}
{{- if or
(eq $extension ".apng")
(eq $extension ".avif")
(eq $extension ".gif")
(eq $extension ".jfif")
(eq $extension ".jpeg")
(eq $extension ".jpg")
(eq $extension ".pjp")
(eq $extension ".pjpeg")
(eq $extension ".png")
(eq $extension ".svg")
(eq $extension ".webp")
-}}
{{-
$files = $files | append (dict
"Name" .Name
"Path" (path.Join $folder .Name)
)
-}}
{{- end -}}
{{- if eq (len $files) 6 -}}
{{- break -}}
{{- end -}}
{{- end -}}
{{- if $files -}}
{{- range $files -}}
{{- with $image := resources.Get .Path -}}
{{- $srcset := (.Content | resources.FromString (print $prefix (path.Base .))).Fit (print $dimensions " webp") -}}
{{- $image = (.Content | resources.FromString (print $prefix (path.Base .))).Fit (print $dimensions " png") -}}
{{- $decodedURL := print "/" (replaceRE "-" "/" (path.Base .Name) 2 | replaceRE "-.........webp" "") "/" -}}
{{- $relatedPage := or (in $decodedURL "/messages/") (in $decodedURL "/feeds/") -}}
{{- if not $relatedPage -}}
{{- $decodedURL = print "/" $author "/" -}}
{{- end -}}
<a href="{{ $decodedURL }}">
<picture>
<source srcset="{{ $srcset.RelPermalink }}" type="image/webp" />
<img loading="lazy"
alt="{{ .Name }}"
title="{{ .Name }}"
width="{{ $image.Width }}"
height="{{ $image.Height }}"
src="{{ $image.RelPermalink }}"
/>
</picture>
</a>
{{- end -}}
{{- end -}}
<gallery-overlay></gallery-overlay>
{{- else -}}
<footer>
<code>No media found!</code>
</footer>
{{- end -}}
{{- else -}}
<footer>
<code>No media found!</code>
</footer>
{{- end }}
|