{{ $disableImageOptimization := .Page.Site.Params.disableImageOptimization | default false }} {{- $images := .Resources.ByType "image" -}} {{- $background := $images.GetMatch "*background*" -}} {{- if not $background }} {{ with .Site.Params.defaultBackgroundImage }} {{ if or (strings.HasPrefix . "http:") (strings.HasPrefix . "https:") }} {{ $background = resources.GetRemote . }} {{ else }} {{ $background = resources.Get . }} {{ end }} {{ end }} {{ end -}} {{- if not $background }}{{ $background = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}} {{- if not $background }}{{ $background = $images.GetMatch "*feature*" }}{{ end -}} {{- $featured := $images.GetMatch "*feature*" -}} {{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}} {{ if .Params.featureimage }} {{- $url:= .Params.featureimage -}} {{- if not $featured }}{{ $featured = resources.GetRemote $url }}{{ end -}} {{ end }} {{- if not $featured }}{{ $featured = $images.GetMatch "*background*" }}{{ end -}} {{- if not $featured }} {{ with .Site.Params.defaultFeaturedImage }} {{ if or (strings.HasPrefix . "http:") (strings.HasPrefix . "https:") }} {{ $featured = resources.GetRemote . }} {{ else }} {{ $featured = resources.Get . }} {{ end }} {{ end }} {{ end -}} {{ $isParentList := eq (.Scratch.Get "scope") "list" }} {{ $shouldBlur := $.Params.layoutBackgroundBlur | default (or (and ($.Site.Params.article.layoutBackgroundBlur | default true) (not $isParentList)) (and ($.Site.Params.list.layoutBackgroundBlur | default true) ($isParentList)) ) }} {{- with $featured -}} {{ if or $disableImageOptimization (strings.HasSuffix . ".svg") }} {{ with . }}
{{ end }} {{ else }} {{ with .Resize (print ($.Site.Params.backgroundImageWidth | default "1200") "x") }}
{{ end }} {{ end }} {{- end -}} {{- with $background -}} {{ if or $disableImageOptimization (strings.HasSuffix . ".svg") }} {{ with . }}
{{ end }} {{ else }} {{ with .Resize (print ($.Site.Params.backgroundImageWidth | default "1200") "x") }}
{{ end }} {{ end }} {{- end -}} {{ if $shouldBlur | default false }}
{{ $backgroundBlur := resources.Get "js/background-blur.js" }} {{ $backgroundBlur = $backgroundBlur | resources.Minify | resources.Fingerprint (.Site.Params.fingerprintAlgorithm | default "sha512") }} {{ end }}