aboutsummaryrefslogtreecommitdiff
path: root/themes/hugo-theme-stack/layouts/_default/_markup/render-image.html
diff options
context:
space:
mode:
Diffstat (limited to 'themes/hugo-theme-stack/layouts/_default/_markup/render-image.html')
-rw-r--r--themes/hugo-theme-stack/layouts/_default/_markup/render-image.html41
1 files changed, 41 insertions, 0 deletions
diff --git a/themes/hugo-theme-stack/layouts/_default/_markup/render-image.html b/themes/hugo-theme-stack/layouts/_default/_markup/render-image.html
new file mode 100644
index 0000000..0ed5584
--- /dev/null
+++ b/themes/hugo-theme-stack/layouts/_default/_markup/render-image.html
@@ -0,0 +1,41 @@
+{{- $image := .Page.Resources.GetMatch (printf "%s" (.Destination | safeURL)) -}}
+{{- $Permalink := .Destination | relURL | safeURL -}}
+{{- $alt := .PlainText | safeHTML -}}
+{{- $Width := 0 -}}
+{{- $Height := 0 -}}
+{{- $Srcset := "" -}}
+
+{{/* SVG and external images won't work with gallery layout, because their width and height attributes are unknown */}}
+{{- $galleryImage := false -}}
+
+{{- if $image -}}
+ {{- $notSVG := ne (path.Ext .Destination) ".svg" -}}
+ {{- $Permalink = $image.RelPermalink -}}
+
+ {{- if $notSVG -}}
+ {{- $Width = $image.Width -}}
+ {{- $Height = $image.Height -}}
+ {{- $galleryImage = true -}}
+
+ {{- if (default true .Page.Site.Params.imageProcessing.content.enabled) -}}
+ {{- $small := $image.Resize `480x` -}}
+ {{- $big := $image.Resize `1024x` -}}
+ {{- $Srcset = printf `%s 480w, %s 1024w` $small.RelPermalink $big.RelPermalink -}}
+ {{- end -}}
+ {{- end -}}
+{{- end -}}
+
+<img src="{{ $Permalink }}"
+ {{ with $Width }}width="{{ . }}"{{ end }}
+ {{ with $Height }}height="{{ . }}"{{ end }}
+ {{ with $Srcset }}srcset="{{ . }}"{{ end }}
+ loading="lazy"
+ {{ with $alt }}
+ alt="{{ . }}"
+ {{ end }}
+ {{ if $galleryImage }}
+ class="gallery-image"
+ data-flex-grow="{{ div (mul $image.Width 100) $image.Height }}"
+ data-flex-basis="{{ div (mul $image.Width 240) $image.Height }}px"
+ {{ end }}
+> \ No newline at end of file