Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/frjo/hugo-theme-zen.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFredrik Jonsson <frjo@xdeb.org>2021-06-23 11:17:53 +0300
committerFredrik Jonsson <frjo@xdeb.org>2021-06-23 11:17:53 +0300
commita292f0f9fe26b8a9f034875d333f8f624e24fb53 (patch)
tree62c92d75daeb2cb0ab1c5f337455faff343ab5eb
parenta1e7e3f79bfee7235abd8e7b88d40df3ce7aec89 (diff)
Add srcset support to figure and img shortcodes.
-rw-r--r--layouts/shortcodes/figure.html12
-rw-r--r--layouts/shortcodes/img.html12
2 files changed, 22 insertions, 2 deletions
diff --git a/layouts/shortcodes/figure.html b/layouts/shortcodes/figure.html
index e3c16bc..683b697 100644
--- a/layouts/shortcodes/figure.html
+++ b/layouts/shortcodes/figure.html
@@ -7,6 +7,8 @@
{{ $link := .Get "link" -}}
{{ $size := .Get "size" -}}
{{ $src := .Get "src" -}}
+{{ $srcset := .Get "srcset" -}}
+{{ $srcsetw := (slice) }}
{{ $title := .Get "title" -}}
{{ $width := .Get "width" -}}
{{ $maxwidth := .Site.Params.imageMaxWidth -}}
@@ -24,6 +26,14 @@
{{ $realwidth = $original.Width -}}
{{ $realheight = $original.Height -}}
{{ end -}}
+ {{ if $srcset -}}
+ {{ range $set := split $srcset " " -}}
+ {{ $image := $original.Resize (printf "%sx" $set) -}}
+ {{ $srcsetw = $srcsetw | append (printf "%s %sw" $image.RelPermalink $set) }}
+ {{ end }}
+ {{ $width = "" -}}
+ {{ $height = "" -}}
+ {{ end -}}
{{ else if and $src (fileExists (add "/static" $src)) -}}
{{ with (imageConfig (add "/static" $src)) -}}
{{ $realwidth = .Width -}}
@@ -54,7 +64,7 @@
{{ end -}}
<figure class="image{{ with $class }} {{ . }}{{ end }}">
{{ with $link }}<a href="{{ . }}">{{ end -}}
-<img src="{{ $src }}"{{ with $alt }} alt="{{ . }}"{{ end }}{{ with $width }} width="{{ . }}"{{ end }}{{ with $height }} height="{{ . }}"{{ end }}>
+<img src="{{ $src }}"{{ with $srcsetw }} srcset="{{ delimit . ", " }}"{{ end }}{{ with $alt }} alt="{{ . }}"{{ end }}{{ with $width }} width="{{ . }}"{{ end }}{{ with $height }} height="{{ . }}"{{ end }}>
{{- if $link }}</a>{{ end }}
{{ if or $title $caption $attr -}}
<figcaption>
diff --git a/layouts/shortcodes/img.html b/layouts/shortcodes/img.html
index e7caff2..6bf7bd2 100644
--- a/layouts/shortcodes/img.html
+++ b/layouts/shortcodes/img.html
@@ -4,6 +4,8 @@
{{ $link := .Get "link" -}}
{{ $size := .Get "size" -}}
{{ $src := .Get "src" -}}
+{{ $srcset := .Get "srcset" -}}
+{{ $srcsetw := (slice) }}
{{ $width := .Get "width" -}}
{{ $maxwidth := .Site.Params.imageMaxWidth -}}
{{ $realwidth := 0 -}}
@@ -20,6 +22,14 @@
{{ $realwidth = $original.Width -}}
{{ $realheight = $original.Height -}}
{{ end -}}
+ {{ if $srcset -}}
+ {{ range $set := split $srcset " " -}}
+ {{ $image := $original.Resize (printf "%sx" $set) -}}
+ {{ $srcsetw = $srcsetw | append (printf "%s %sw" $image.RelPermalink $set) }}
+ {{ end }}
+ {{ $width = "" -}}
+ {{ $height = "" -}}
+ {{ end -}}
{{ else if and $src (fileExists (add "/static" $src)) -}}
{{ with (imageConfig (add "/static" $src)) -}}
{{ $realwidth = .Width -}}
@@ -49,5 +59,5 @@
{{ $height = (math.Round $height) -}}
{{ end -}}
{{ with $link }}<a class="image-link" href="{{ . }}">{{ end -}}
-<img class="image{{ with $class }} {{ . }}{{ end }}" src="{{ $src }}"{{ with $alt }} alt="{{ . }}"{{ end }}{{ with $width }} width="{{ . }}"{{ end }}{{ with $height }} height="{{ . }}"{{ end }}>
+<img class="image{{ with $class }} {{ . }}{{ end }}" src="{{ $src }}"{{ with $srcsetw }} srcset="{{ delimit . ", " }}"{{ end }}{{ with $alt }} alt="{{ . }}"{{ end }}{{ with $width }} width="{{ . }}"{{ end }}{{ with $height }} height="{{ . }}"{{ end }}>
{{- if $link }}</a>{{ end }}