Use new 'Image render hook' template from Hugo. (#1526)
* Pull render-image template from Hugo
https://github.com/gohugoio/hugo/commits/master/tpl/tplimpl/embedded/templates/_default/_markup/render-image.html
cloned at b893a09aa62c01a62e32b0effdb02e86b51d46d6
* Add loading=lazy attribute
c353447d8e
This commit is contained in:
parent
a2eb47bb4b
commit
f163fb1dc0
|
@ -1 +1,22 @@
|
||||||
<img loading="lazy" src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title}} title="{{ . }}" {{ end }} />
|
{{- $u := urls.Parse .Destination -}}
|
||||||
|
{{- $src := $u.String -}}
|
||||||
|
{{- if not $u.IsAbs -}}
|
||||||
|
{{- $path := strings.TrimPrefix "./" $u.Path }}
|
||||||
|
{{- with or (.PageInner.Resources.Get $path) (resources.Get $path) -}}
|
||||||
|
{{- $src = .RelPermalink -}}
|
||||||
|
{{- with $u.RawQuery -}}
|
||||||
|
{{- $src = printf "%s?%s" $src . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with $u.Fragment -}}
|
||||||
|
{{- $src = printf "%s#%s" $src . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $attributes := merge .Attributes (dict "alt" .Text "src" $src "title" (.Title | transform.HTMLEscape) "loading" "lazy") -}}
|
||||||
|
<img
|
||||||
|
{{- range $k, $v := $attributes -}}
|
||||||
|
{{- if $v -}}
|
||||||
|
{{- printf " %s=%q" $k $v | safeHTMLAttr -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}>
|
||||||
|
{{- /**/ -}}
|
||||||
|
|
Loading…
Reference in New Issue