diff options
author | Fredrik Jonsson <frjo@xdeb.org> | 2021-06-23 11:17:53 +0300 |
---|---|---|
committer | Fredrik Jonsson <frjo@xdeb.org> | 2021-06-23 11:17:53 +0300 |
commit | a292f0f9fe26b8a9f034875d333f8f624e24fb53 (patch) | |
tree | 62c92d75daeb2cb0ab1c5f337455faff343ab5eb | |
parent | a1e7e3f79bfee7235abd8e7b88d40df3ce7aec89 (diff) |
Add srcset support to figure and img shortcodes.
-rw-r--r-- | layouts/shortcodes/figure.html | 12 | ||||
-rw-r--r-- | layouts/shortcodes/img.html | 12 |
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 }} |