diff --git a/layouts/partials/featured.html b/layouts/partials/featured.html deleted file mode 100644 index 10de1d2..0000000 --- a/layouts/partials/featured.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ $linkToCover := "" }} -{{ if .Params.featured_image }} - {{ $linkToCover = .Params.featured_image }} -{{ else }} - {{ $img := .Resources.GetMatch "**cover*.jpg" }} - {{ with $img }} - {{ $linkToCover = .Permalink }} - {{ end }} -{{ end }} -{{ return $linkToCover }} \ No newline at end of file diff --git a/layouts/partials/func/GetFeaturedImage.html b/layouts/partials/func/GetFeaturedImage.html new file mode 100644 index 0000000..c00b086 --- /dev/null +++ b/layouts/partials/func/GetFeaturedImage.html @@ -0,0 +1,35 @@ +{{/* + GetFeaturedImage + + 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 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). + + @return Permalink to featured image, or an empty string if not found. + +*/}} + +{{/* Declare a new string variable, $linkToCover */}} +{{ $linkToCover := "" }} + +{{/* Use the value from front matter if present */}} +{{ if .Params.featured_image }} + {{ $linkToCover = .Params.featured_image }} + +{{/* Find the first image with 'cover' in the name in this page bundle. */}} +{{ else }} + {{ $img := (.Resources.ByType "image").GetMatch "*cover*" }} + {{ with $img }} + {{ $linkToCover = .Permalink }} + {{ end }} +{{ end }} + +{{/* return either a permalink, or an empty string. Note that partials can only have a single +return statement, so this needs to be at the end of the partial (and not in the if block) */}} +{{ return $linkToCover }} \ No newline at end of file diff --git a/layouts/partials/page-header.html b/layouts/partials/page-header.html index 22b7822..9f2ebd5 100644 --- a/layouts/partials/page-header.html +++ b/layouts/partials/page-header.html @@ -1,4 +1,4 @@ -{{ $featured_image := partial "featured.html" . }} +{{ $featured_image := partial "func/GetFeaturedImage.html" . }} {{ if $featured_image }} {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}} {{ $featured_image := (trim $featured_image "/") | absURL }} diff --git a/layouts/partials/summary-with-image.html b/layouts/partials/summary-with-image.html index 8fcf1ae..702a305 100644 --- a/layouts/partials/summary-with-image.html +++ b/layouts/partials/summary-with-image.html @@ -1,4 +1,4 @@ -{{ $featured_image := partial "featured.html" . }} +{{ $featured_image := partial "func/GetFeaturedImage.html" . }}
diff --git a/layouts/post/summary-with-image.html b/layouts/post/summary-with-image.html index 3545c3c..3afac67 100644 --- a/layouts/post/summary-with-image.html +++ b/layouts/post/summary-with-image.html @@ -1,7 +1,7 @@