From 1f11fbe012c8def45b5b9dfa9f6ad4f56b831a97 Mon Sep 17 00:00:00 2001
From: Regis Philibert <login@regisphilibert.com>
Date: Thu, 23 Dec 2021 20:45:27 +0000
Subject: [PATCH] Featured image detection refactoring: (#462)
---
layouts/partials/func/GetFeaturedImage.html | 34 +++++++++++++++++++---------------
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/layouts/partials/func/GetFeaturedImage.html b/layouts/partials/func/GetFeaturedImage.html
index a6219c7..12ffe1c 100644
--- a/layouts/partials/func/GetFeaturedImage.html
+++ b/layouts/partials/func/GetFeaturedImage.html
@@ -1,33 +1,37 @@
{{/*
- GetFeaturedImage
+ GetFeaturedImage
- This partial gets the url for featured image for a given page.
+ This partial gets the url for featured image for a given page.
- If a featured_image was set in the page's front matter, then that will be used.
+ If a featured_image was set in the page's front matter, then that will be used.
- If not set, this will search page resources to find an image that contains the word
- "cover", and if found, returns the path to that resource.
+ If not set, this will search page resources to find an image that contains the word
+ "cover", and if found, returns the path to that resource.
- If no featured_image was set, and there's no "cover" image in page resources, then
- this partial returns an empty string (which evaluates to false).
+ If no featured_image was set, and there's no "cover" image in page resources, then
+ this partial returns an empty string (which evaluates to false).
- @return RelPermalink to featured image, or an empty string if not found.
+ @return RelPermalink to featured image, or an empty string if not found.
*/}}
{{/* Declare a new string variable, $linkToCover */}}
{{ $linkToCover := "" }}
-
+{{ $matches := "feature,cover" }}
{{/* Use the value from front matter if present */}}
-{{ if .Params.featured_image }}
- {{ $linkToCover = .Params.featured_image }}
-
+{{ with .Params.featured_image }}
+ {{ $linkToCover = . }}
+ {{/* If we find a Page Resource matching the exact value, we use it instead. */}}
+ {{ with $.Resources.GetMatch . }}
+ {{ $linkToCover = .RelPermalink }}
+ {{ end }}
{{/* Find the first image with 'cover' in the name in this page bundle. */}}
{{ else }}
- {{ $img := (.Resources.ByType "image").GetMatch "*cover*" }}
- {{ with $img }}
- {{ $linkToCover = .RelPermalink }}
+ {{ with .Resources.ByType "image" }}
+ {{ with .GetMatch (printf "**{%s}*" $matches) }}
+ {{ $linkToCover = .RelPermalink }}
{{ end }}
+ {{ end }}
{{ end }}
{{/* return either a permalink, or an empty string. Note that partials can only have a single
--
Gitblit v1.10.0