diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html
index 93353e94..74000b80 100644
--- a/layouts/_default/_markup/render-image.html
+++ b/layouts/_default/_markup/render-image.html
@@ -1,49 +1,50 @@
+{{ define "RenderImageSimple" -}}
+
+{{- end }}
+
+{{ define "RenderImageResponsive" -}}
+
+{{- end }}
+
+{{ define "RenderImageCaption" -}}
+ {{- with .caption }}
+ {{ . | markdownify }}
+ {{- end }}
+{{- end }}
+
{{- $disableImageOptimization := .Page.Site.Params.disableImageOptimization | default false }}
{{- $url := urls.Parse .Destination }}
{{- $altText := .Text }}
{{- $caption := .Title }}
-{{- if findRE "^https?" $url.Scheme }}
-
-
- {{ with $caption }}{{ . | markdownify }}{{ end }}
-
-{{- else }}
- {{- $resource := "" }}
- {{- if $.Page.Resources.GetMatch ($url.String) }}
- {{- $resource = $.Page.Resources.GetMatch ($url.String) }}
- {{- else if resources.GetMatch ($url.String) }}
- {{- $resource = resources.Get ($url.String) }}
- {{- end }}
- {{- with $resource }}
-
- {{- if or $disableImageOptimization (eq .MediaType.SubType "svg")}}
-
- {{- else }}
-
- {{- end }}
- {{ with $caption }}{{ . | markdownify }}{{ end }}
-
- {{- else }}
-
-
- {{ with $caption }}{{ . | markdownify }}{{ end }}
-
- {{- end }}
+{{- $isRemote := findRE "^https?" $url.Scheme }}
+{{- $resource := "" }}
+
+{{- if not $isRemote }}
+ {{- $resource = or ($.Page.Resources.GetMatch $url.String) (resources.Get $url.String) }}
{{- end }}
+
+
+ {{- if $isRemote }}
+ {{ template "RenderImageSimple" (dict "src" $url.String "alt" $altText) }}
+ {{- else if $resource }}
+ {{- $isSVG := eq $resource.MediaType.SubType "svg" }}
+ {{- $shouldOptimize := and (not $disableImageOptimization) (not $isSVG) }}
+ {{- if $shouldOptimize }}
+ {{ template "RenderImageResponsive" (dict "resource" $resource "alt" $altText) }}
+ {{- else }}
+ {{ template "RenderImageSimple" (dict "src" $resource.RelPermalink "alt" $altText) }}
+ {{- end }}
+ {{- else }}
+ {{ template "RenderImageSimple" (dict "src" $url.String "alt" $altText) }}
+ {{- end }}
+
+ {{ template "RenderImageCaption" (dict "caption" $caption) }}
+