diff options
Diffstat (limited to 'layouts/partials/helper/image.html')
-rw-r--r-- | layouts/partials/helper/image.html | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/layouts/partials/helper/image.html b/layouts/partials/helper/image.html index 3a78d6d..fc9925f 100644 --- a/layouts/partials/helper/image.html +++ b/layouts/partials/helper/image.html @@ -1,5 +1,6 @@ {{ $result := dict "exists" false "permalink" nil "resource" nil "isDefault" false }} -{{ $imageField := .Params.image }} +{{ $imageField := .Context.Params.image }} + {{ if $imageField }} <!-- If page has `image` field set --> {{ $result = merge $result (dict "exists" true) }} @@ -9,7 +10,7 @@ <!-- Is a external image --> {{ $result = merge $result (dict "permalink" $imageField) }} {{ else }} - {{ $pageResourceImage := .Resources.GetMatch (printf "%s" ($imageField | safeURL)) }} + {{ $pageResourceImage := .Context.Resources.GetMatch (printf "%s" ($imageField | safeURL)) }} {{ $siteResourceImage := resources.GetMatch (printf "%s" ($imageField | safeURL)) }} {{ if $pageResourceImage }} @@ -27,6 +28,34 @@ {{ end }} {{ end }} +{{ else if and (ne .Type nil) (index .Context.Site.Params.defaultImage .Type) }} + <!-- Type arg is set, check for defaultImage setting --> + + {{ $defaultImageSetting := index .Context.Site.Params.defaultImage .Type }} + + {{ if $defaultImageSetting.enabled }} + {{ $result = merge $result (dict "isDefault" true) }} + {{ $result = merge $result (dict "exists" true) }} + + {{ if $defaultImageSetting.local }} + {{ $siteResourceImage := resources.GetMatch (printf "%s" ($defaultImageSetting.src | safeURL)) }} + + {{ if $siteResourceImage }} + <!-- Try search image under site's assets folder --> + {{ $result = merge $result (dict "permalink" $siteResourceImage.RelPermalink) }} + {{ $result = merge $result (dict "resource" $siteResourceImage) }} + {{ else }} + <!-- Can not find the image --> + {{ errorf "Failed loading image: %q" $defaultImageSetting.src }} + {{ $result = merge $result (dict "exists" false) }} + {{ end }} + + {{ else }} + + {{ $result = merge $result (dict "permalink" $defaultImageSetting.src) }} + + {{ end }} + {{ end }} {{ end }} {{ return $result }}
\ No newline at end of file |