feat: embed threshold and index val of navbar into html/inline js (#241)

* feat: refactor image retrieval logic and improve variable initialization

- Add a new file `layouts/partials/function/getImageSlice.html`
- Initialize variables `$context`, `$Path`, and `$params`
- Set `$Path` based on the result of the `partial/function/currentMenuItem.html` partial
- Retrieve the page `$gallery` based on `$Path`
- Return all resources of type `image` from `$gallery`

* refactor: adapt getImageSlice function to `single.json`

* feat: refactor navigation UI components to use static go template

* feat: update navigation functionality and threshold rendering
This commit is contained in:
Spedon
2024-01-20 18:03:26 +08:00
committed by GitHub
parent ff1a76eef8
commit ae1a08eb82
4 changed files with 56 additions and 20 deletions

View File

@@ -1,15 +1,9 @@
{{- $Page := . -}}
{{- $Path := "" -}}
{{- $context := . -}}
{{- $params := .Page.Params | merge .Site.Params.Page -}}
{{- with partial "function/currentMenuItem.html" . -}}
{{- $Path = .Identifier -}}
{{- end -}}
{{- $gallery := site.GetPage $Path -}}
{{- with $gallery.Resources.ByType "image" -}}
{{- with partial "function/getImageSlice.html" . -}}
{{- $index := len . -}}
{{- $Page.Scratch.Add "img" slice -}}
{{- $context.Scratch.Add "img" slice -}}
{{- range sort . "Name" "desc" -}}
{{- $image := . -}}
{{- $index = sub $index 1 -}}
@@ -19,7 +13,7 @@
{{- end -}}
{{- $lores := .Resize (site.Params.loResOpt | default "700x webp Lanczos q60") -}}
{{- $hires := .Resize (site.Params.hiResOpt | default "2000x webp Lanczos q75") -}}
{{- $Page.Scratch.Add "img" (dict
{{- $context.Scratch.Add "img" (dict
"index" (int $index)
"alt" (string $alt)
"loUrl" (string $lores.RelPermalink)
@@ -31,7 +25,7 @@
)
-}}
{{- end -}}
{{ $Page.Scratch.Get "img" | jsonify }}
{{ $context.Scratch.Get "img" | jsonify }}
{{- else -}}
[]
{{- end -}}