27 lines
1.0 KiB
HTML
27 lines
1.0 KiB
HTML
{{/* Input: Params. Output: dict {"default": RESOURCE, "lqip": RESOURCE, "responsive": [RESOURCE, ...]} */}}
|
|
|
|
{{ $res := .img }}
|
|
{{ $resizeOptions := .resizeoptions }}
|
|
{{ $sizes := .responsivesizes }}
|
|
|
|
{{ $imageDict := partial "resizer/simple" . }}
|
|
{{ $default := $imageDict.default }}
|
|
{{ $name := replace (path.Base ($res.Permalink)) (path.Ext $res.Name) "" }}
|
|
|
|
{{/* Fill responsive slice. Abort loop with $break when size exceeded (needed due to templating restrictions). */}}
|
|
{{ $responsive := slice }}
|
|
{{ $break := false }}
|
|
{{- range $sizes -}}
|
|
{{ if not $break }}
|
|
{{- $resized := $res.Resize (printf "%s %s" . $resizeOptions) -}}
|
|
{{- $resized := slice $resized | resources.Concat (printf "%s-%s%s" $name . (path.Ext $default.Permalink)) -}}
|
|
{{- $responsive = append $resized $responsive -}}
|
|
|
|
{{- if or (gt $resized.Width $default.Width) (gt $resized.Height $default.Height) -}}
|
|
{{- $break = true -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- return merge (dict "responsive" $responsive) $imageDict -}}
|