diff options
Diffstat (limited to 'themes/default/layouts/partials/gallery-walk.html')
-rw-r--r-- | themes/default/layouts/partials/gallery-walk.html | 138 |
1 files changed, 46 insertions, 92 deletions
diff --git a/themes/default/layouts/partials/gallery-walk.html b/themes/default/layouts/partials/gallery-walk.html index 6dd9fbd..ca95d3f 100644 --- a/themes/default/layouts/partials/gallery-walk.html +++ b/themes/default/layouts/partials/gallery-walk.html @@ -1,96 +1,50 @@ -{{- $folder := . -}} -{{- $files := slice -}} -{{- $dimensions := "320x320" -}} -{{- $author := strings.TrimPrefix "public/" (strings.TrimSuffix "/media/" $folder) -}} - -{{- if fileExists $folder -}} - - {{- range readDir $folder -}} - - {{- $name := index (split .Name ".") 0 -}} - {{- $extension := path.Ext .Name -}} - - {{- if or - (eq $extension ".apng") - (eq $extension ".avif") - (eq $extension ".gif") - (eq $extension ".jfif") - (eq $extension ".jpeg") - (eq $extension ".jpg") - (eq $extension ".pjp") - (eq $extension ".pjpeg") - (eq $extension ".png") - (eq $extension ".svg") - (eq $extension ".webp") - (eq $extension ".webp") +{{- $data := slice -}} +{{- $author := partial "function-authors-data.html" . -}} +{{- $filteredPages := partial "function-filters-content.html" .Site.RegularPages -}} + +{{- range (where $filteredPages "Section" $author.user) -}} + {{- if in .Content "<picture>" -}} + {{- $data = $data | append (dict + "alt" (delimit (findRE `(?sU)alt=".*"` .Content 1) "") + "height" (delimit (findRE `(?sU)height=".*"` .Content 1) "") + "src" (delimit (findRE `(?sU)src=".*"` .Content 1) "") + "srcset" (delimit (findRE `(?sU)srcset=".*"` .Content 1) "") + "style" (delimit (findRE `(?sU)style=".*"` .Content 1) "") + "title" (delimit (findRE `(?sU)title=".*"` .Content 1) "") + "type" (delimit (findRE `(?sU)type=".*"` .Content 1) "") + "width" (delimit (findRE `(?sU)width=".*"` .Content 1) "") + "relatedHref" .Permalink + ) -}} - {{- - $files = $files | append (dict - "Name" .Name - "Path" (path.Join $folder .Name) - ) - -}} - {{- end -}} {{- end -}} - - {{- if fileExists (path.Join $folder "profile") -}} - {{- range readDir (path.Join $folder "profile") -}} - - {{- $name := index (split .Name ".") 0 -}} - {{- $extension := path.Ext .Name -}} - - {{- if or - (eq $extension ".apng") - (eq $extension ".avif") - (eq $extension ".gif") - (eq $extension ".jfif") - (eq $extension ".jpeg") - (eq $extension ".jpg") - (eq $extension ".pjp") - (eq $extension ".pjpeg") - (eq $extension ".png") - (eq $extension ".svg") - (eq $extension ".webp") - (eq $extension ".webp") - -}} - {{- - $files = $files | append (dict - "Name" .Name - "Path" (path.Join $folder "profile" .Name) - ) - -}} - {{- end -}} - {{- end -}} + {{- if eq (len $data) 6 -}} + {{- break -}} {{- end -}} - - {{- if $files }} - - {{- range first 6 $files }} - {{- if not .IsDir }} - {{- with $image := resources.Get .Path -}} - {{- $image = (.Content | resources.FromString (print (partial "function-paths-media.html") "/" $author "/gallery-walker_" (path.Base .))).Fit (print $dimensions " webp") }} - <picture> - <source srcset="{{- $image.RelPermalink -}}" type="image/webp" /> - {{- $image = (.Content | resources.FromString (print (partial "function-paths-media.html") "/" $author "/gallery-walker_" (path.Base .))).Fit (print $dimensions " png") }} - <img - alt="{{- .Name }}" - title="{{- .Name }}" - width="{{ $image.Width }}" - height="{{ $image.Height }}" - src="{{ $image.RelPermalink }}" - /> - </picture> +{{- end -}} + +{{- if $data -}} + {{- range $image := $data }} + <a href="{{ $image.relatedHref }}"> + <picture> + {{- with $image.srcset -}} + <source + {{ $image.srcset | safeHTMLAttr }} + {{ $image.type | safeHTMLAttr }} + /> + {{- end -}} + <img + loading="lazy" + {{ $image.alt | safeHTMLAttr }} + {{ $image.title | safeHTMLAttr }} + {{ with ne (index (last 1 (split $image.width "=")) 0) `""` }} + {{ $image.width | safeHTMLAttr }} + {{ $image.height | safeHTMLAttr }} {{ end }} - {{- end -}} - {{- end -}} - - {{- else -}} - <footer> - <code>No media found!</code> - </footer> - {{- end -}} -{{- else -}} - <footer> - <code>No media found!</code> - </footer> -{{- end }} + {{ $image.src | safeHTMLAttr }} + {{ $image.style | safeHTMLAttr }} + /> + </picture> + </a> + {{ end }} + <gallery-overlay></gallery-overlay> +{{- end -}} |