{{- $context := .context }}
{{- $url := .url }}
{{- $title := .title }}
{{- $alt := .alt }}
{{- $classes := slice }}
{{- $lightbox := true }}
{{- $height := "auto" }}
{{- $width := "auto" }}
{{- $dest_url := urls.Parse $url }}
{{- $dest_path := $dest_url.Path }}
{{- $image := $context.Resources.GetMatch $dest_path }}
{{- if not $image }}
	{{- $image = .Resources.GetMatch $dest_path }}
{{- end }}
{{- if not $image }}
	{{- $image = .Resources.GetRemote $url }}
{{- end }}
{{- if $image }}
	{{- $url = $image.RelPermalink }}
	{{- if $dest_url.RawQuery }}
		{{- $url = printf "%s?%s" $url $dest_url.RawQuery }}
	{{- end }}
{{- end }}
{{- if $dest_url.RawQuery }}
	{{- if $dest_url.Query.Get "classes" }}
		{{- $classes = $classes | append (split ($dest_url.Query.Get "classes") ",") }}
	{{- end }}
	{{- $lightbox = and (ne ($dest_url.Query.Get "lightbox") "false") (ne ($dest_url.Query.Get "featherlight") "false") }}
	{{- with $dest_url.Query.Get "height" }}
		{{ $height = . }}
	{{- end }}
	{{- with $dest_url.Query.Get "width" }}
		{{ $width = . }}
	{{- end }}
{{- end }}
{{- $id := cond (or (eq .id nil) (eq .id "")) (partial "make-random-md5.hugo") .id }}
{{- if $lightbox }}
<a href="#image-{{ $id }}" class="lightbox-link">
{{- end }}
<img src="{{ $url | safeURL }}" alt="{{ $alt }}"{{ with $title }} title="{{ . }}"{{ end }}{{ if len ($classes) }} class="{{ delimit $classes " " }}"{{ end }} style="height: {{ $height }}; width: {{ $width }};" loading="lazy">
{{- if $lightbox }}
</a>
<a href="javascript:history.back();" class="lightbox" id="image-{{ $id }}">
<img src="{{ $url | safeURL }}" alt="{{ $alt }}"{{ with $title }} title="{{ . }}"{{ end }} class="lightbox-image" loading="lazy">
</a>
{{- end }}