From 100271fd9ccba40cd5841693a8f1c778f14d3990 Mon Sep 17 00:00:00 2001 From: debuginn Date: Thu, 12 Dec 2024 19:41:58 +0800 Subject: [PATCH] fead support render --- layouts/_default/_markup/render-image.html | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 layouts/_default/_markup/render-image.html diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html new file mode 100644 index 000000000..d2dc6a2d3 --- /dev/null +++ b/layouts/_default/_markup/render-image.html @@ -0,0 +1,58 @@ +{{- $Permalink := .Destination | safeURL -}} +{{- $image := "" -}} + +{{- if and (hasPrefix $Permalink "http") (default false .Page.Site.Params.render.image.externalLink.enabled) -}} + {{- with resources.GetRemote $Permalink -}} + {{- with .Err -}} + {{- $warnMsg := printf "%s" $Permalink -}} + {{- warnf "%s.\nPlease check the link: %s\n" . $warnMsg -}} + {{- else -}} + {{- $image = . -}} + {{- end -}} + {{- else -}} + {{- warnf "Unable to get remote resource %q" $Permalink -}} + {{- end -}} +{{- else -}} + {{- $image = .Page.Resources.GetMatch (printf "%s" $Permalink) -}} + {{- if $image -}} + {{- $Permalink = $image.RelPermalink -}} + {{- end -}} +{{- end -}} +{{- $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" -}} + + {{- 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 -}} + +{{ . }}