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" . }}