forked from drowl87/hextra_mirror

* feat: enhance image resolving * chore: don't process image path that begins with relative link * docs: add instruction for adding images * chore: update docs * chore: add filenames to images docs
28 lines
1.0 KiB
HTML
28 lines
1.0 KiB
HTML
{{- $alt := .PlainText | safeHTML -}}
|
|
{{- $lazyLoading := .Page.Site.Params.enableImagelazyLoading | default true -}}
|
|
{{- $dest := .Destination -}}
|
|
|
|
{{- $isRemote := not (urls.Parse $dest).Scheme -}}
|
|
{{- $isPage := and (eq .Page.Kind "page") (not .Page.BundleType) -}}
|
|
{{- $startsWithSlash := hasPrefix $dest "/" -}}
|
|
{{- $startsWithRelative := hasPrefix $dest "../" -}}
|
|
|
|
{{- if and $dest $isRemote -}}
|
|
{{- if $startsWithSlash -}}
|
|
{{/* Images under static directory */}}
|
|
{{- $dest = (relURL $dest) -}}
|
|
{{- else if and $isPage (not $startsWithRelative) -}}
|
|
{{/* Images that are sibling to the individual page file */}}
|
|
{{ $dest = (printf "../%s" $dest) }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- with .Title -}}
|
|
<figure>
|
|
<img src="{{ $dest | safeURL }}" title="{{ . }}" alt="{{ $alt }}" {{ if $lazyLoading }}loading="lazy"{{ end }} />
|
|
<figcaption>{{ . }}</figcaption>
|
|
</figure>
|
|
{{- else -}}
|
|
<img src="{{ $dest | safeURL }}" alt="{{ $alt }}" {{ if $lazyLoading }}loading="lazy"{{ end }} />
|
|
{{- end -}}
|