main
html 47 lines 1.4 KB
Raw
1 {{- $imgs := slice }}
2 {{- $imgParams := .Params.images }}
3 {{- $resources := .Resources.ByType "image" -}}
4 {{/* Find featured image resources if the images parameter is empty. */}}
5 {{- if not $imgParams }}
6 {{- $featured := $resources.GetMatch "*feature*" -}}
7 {{- if not $featured }}{{ $featured = $resources.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
8 {{- with $featured }}
9 {{- $imgs = $imgs | append (dict
10 "Image" .
11 "RelPermalink" .RelPermalink
12 "Permalink" .Permalink) }}
13 {{- end }}
14 {{- end }}
15 {{/* Use the first one of site images as the fallback. */}}
16 {{- if and (not $imgParams) (not $imgs) }}
17 {{- with site.Params.images }}
18 {{- $imgParams = first 1 . }}
19 {{- end }}
20 {{- end }}
21 {{/* Parse page's images parameter. */}}
22 {{- range $imgParams }}
23 {{- $img := . }}
24 {{- $url := urls.Parse $img }}
25 {{- if eq $url.Scheme "" }}
26 {{/* Internal image. */}}
27 {{- with $resources.GetMatch $img -}}
28 {{/* Image resource. */}}
29 {{- $imgs = $imgs | append (dict
30 "Image" .
31 "RelPermalink" .RelPermalink
32 "Permalink" .Permalink) }}
33 {{- else }}
34 {{- $imgs = $imgs | append (dict
35 "RelPermalink" (relURL $img)
36 "Permalink" (absURL $img)
37 ) }}
38 {{- end }}
39 {{- else }}
40 {{/* External image */}}
41 {{- $imgs = $imgs | append (dict
42 "RelPermalink" $img
43 "Permalink" $img
44 ) }}
45 {{- end }}
46 {{- end }}
47 {{- return $imgs }}