From 8ba41fc32c9e448475fcce539e979f199e51b7bd Mon Sep 17 00:00:00 2001
From: Spedon <70063177+Sped0n@users.noreply.github.com>
Date: Sun, 7 Jan 2024 23:16:55 +0800
Subject: [PATCH] v0.0.5 (#219)
* feat: refactor condition for checking `site.Params.bundled`
- Add default condition for checking if `site.Params.bundled` is true or false
* refactor: update info page content
* chore: update site description
* refactor: refactor variable assignments and return statement in menu template
- Change the variable assignment from `.DirName` to `.Identifier` in the file `layouts/_default/single.json`
- Change the variable assignments in the file `layouts/partials/function/currentMenuItem.html`:
- From `$dirName := ""` to `$identifier := ""`
- From `$id := -1` to `$title := ""` and `$weight := -1`
- From `$dirName = .Identifier` to `$identifier = .Identifier`, `$title = .Title`, and `$weight = .Weight`
- Change the return statement in the file `layouts/partials/function/currentMenuItem.html` from `(dict "DirName" $dirName "ID" $id)` to `(dict "Identifier" $identifier "Title" $title "Weight" $weight)`
* feat: update nav links structure for current link styling
- Remove javascript code related to setting current link style and title
- Update nav links to use updated HTML structure for current link styling
* feat: update page titles and meta tags in layout files
- Update the `baseof.html` layout to include the current page title in the `
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 214cfef..dc38d44 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -1,14 +1,9 @@
{{- define "main" -}}
- {{- $params := .Scratch.Get "params" -}}
- {{- $currentPage := . -}}
- {{- with partial "function/currentMenuItem.html" . -}}
-
- {{- end -}}
+
{{- partial "nav.html" . -}}
diff --git a/layouts/_default/single.json b/layouts/_default/single.json
index 111efd3..f1d391e 100644
--- a/layouts/_default/single.json
+++ b/layouts/_default/single.json
@@ -3,7 +3,7 @@
{{- $params := .Page.Params | merge .Site.Params.Page -}}
{{- with partial "function/currentMenuItem.html" . -}}
- {{- $Path = .DirName -}}
+ {{- $Path = .Identifier -}}
{{- end -}}
{{- $gallery := site.GetPage $Path -}}
diff --git a/layouts/partials/function/currentMenuItem.html b/layouts/partials/function/currentMenuItem.html
index a84d487..1502602 100644
--- a/layouts/partials/function/currentMenuItem.html
+++ b/layouts/partials/function/currentMenuItem.html
@@ -1,15 +1,17 @@
{{- $currentPage := . -}}
-{{- $dirName := "" -}}
-{{- $id := -1 -}}
+{{- $identifier := "" -}}
+{{- $title := "" -}}
+{{- $weight := -1 -}}
{{- range site.Menus.main -}}
{{ $menu_item_url := .URL | relLangURL }}
{{ $page_url:= $currentPage.RelPermalink | relLangURL }}
{{ if eq $menu_item_url $page_url }}
- {{- $dirName = .Identifier -}}
- {{- $id = .Weight -}}
+ {{- $identifier = .Identifier -}}
+ {{- $title = .Title -}}
+ {{- $weight = .Weight -}}
{{- end -}}
{{- end -}}
-{{- return (dict "DirName" $dirName "ID" $id) -}}
+{{- return (dict "Identifier" $identifier "Title" $title "Weight" $weight) -}}
diff --git a/layouts/partials/head/link.html b/layouts/partials/head/link.html
index 143c2e4..ad68af9 100644
--- a/layouts/partials/head/link.html
+++ b/layouts/partials/head/link.html
@@ -8,7 +8,7 @@
{{- partial "plugin/style.html" $style -}}
{{/* main style */}}
-{{- if site.Params.bundled -}}
+{{- if (site.Params.bundled | default true) -}}
{{- $style := dict "Link" "/bundled/css/style.min.css" "Defer" true -}}
{{- partial "plugin/style.html" $style -}}
{{- else -}}
diff --git a/layouts/partials/head/meta.html b/layouts/partials/head/meta.html
index 2afdbc2..652218d 100644
--- a/layouts/partials/head/meta.html
+++ b/layouts/partials/head/meta.html
@@ -1,9 +1,22 @@
-
-
-
+{{/* Title */}}
+{{- $page_title := "" -}}
+{{- with partial "function/currentMenuItem.html" . -}}
+ {{ $page_title = printf "%s" site.Title | printf "%s%s" " | " | printf "%s%s" .Title | printf "%s" }}
+{{- end -}}
+
{{ $page_title }}
+
+{{/* Basic */}}
+
+
+
+
+{{/* Opengraph */}}
+
+
+
+
+
+
+
+{{/* Generator */}}
+{{ hugo.Generator }}
diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html
index bfeeb2d..f2592aa 100644
--- a/layouts/partials/nav.html
+++ b/layouts/partials/nav.html
@@ -4,14 +4,30 @@
{{- $index := 0 -}}
+ {{- $currentIndex := -1 -}}
+ {{- with partial "function/currentMenuItem.html" . -}}
+ {{- $currentIndex = sub .Weight 1 -}}
+ {{- end -}}
{{- $menus := .Site.Menus.main -}}
{{- $len := len $menus }}
{{- range $menus -}}
{{- $url := .URL | relURL -}}
{{- if eq (add $index 1) $len -}}
-
{{- .Title -}}
+
{{- .Title -}}
{{- else -}}
-
{{- .Title -}}, 
+
{{- .Title -}}, 
{{- end -}}
{{- $index = add $index 1 -}}
{{- end -}}
diff --git a/static/bundled/js/main.js b/static/bundled/js/main.js
index 7aaf961..ab995b2 100644
--- a/static/bundled/js/main.js
+++ b/static/bundled/js/main.js
@@ -1 +1 @@
-function t(t,e){return(t+1)%e}function e(t,e){return(t+e-1)%e}function n(t){return("0000"+t.toString()).slice(-4)}function s(t,e){return Math.floor(Math.random()*(e-t+1))+t}function o(t,e){new IntersectionObserver(((n,s)=>{n.forEach((n=>{n.intersectionRatio>0&&(e(t),s.disconnect())}))})).observe(t)}function r(t){return t.charAt(0).toUpperCase()+t.slice(1)}async function i(){const t=await import("./8mM4Ei.js");return[t.gsap,t.Power3]}async function a(){return(await import("./f6JTi3.js")).Swiper}class c{constructor(t){this.obj=t,this.watchers=[]}get(){return this.obj}set(t){this.obj=t,this.watchers.forEach((t=>{t(this.obj)}))}addWatcher(t){this.watchers.push(t)}}const l=new c(!0);let h;const d=[{threshold:20,trailLength:20},{threshold:40,trailLength:10},{threshold:80,trailLength:5},{threshold:140,trailLength:5},{threshold:200,trailLength:5}],m=new c({index:-1,length:0,threshold:d[p()].threshold,trailLength:d[p()].trailLength});function u(t){const e=m.get();e.index=t,m.set(e)}function g(){const e=m.get();e.index=t(e.index,e.length),m.set(e)}function f(){const t=m.get();t.index=e(t.index,t.length),m.set(t)}function x(t,e){const n=d.findIndex((e=>t.threshold===e.threshold))+e;if(n<0||n>=d.length)return t;sessionStorage.setItem("thresholdsIndex",n.toString());const s=d[n];return{...t,...s}}function p(){const t=sessionStorage.getItem("thresholdsIndex");return null===t?2:parseInt(t)}const w=document.getElementsByClassName("threshold").item(0),y=Array.from(w.getElementsByClassName("num")),E=w.getElementsByClassName("dec").item(0),j=w.getElementsByClassName("inc").item(0),L=document.getElementsByClassName("index").item(0),b=Array.from(L.getElementsByClassName("num")),I=document.getElementsByClassName("links").item(0),B=Array.from(I.getElementsByClassName("link")),C=document.getElementById("main")?.getAttribute("currentMenuItemIndex");for(const[t,e]of B.entries())t===parseInt(C)&&(e.classList.add("current"),0!==t&&(document.title=e.innerText+" | "+document.title));function N(t){y.forEach(((e,n)=>{e.innerText=t[n]}))}function v(t,e){b.forEach(((n,s)=>{n.innerText=s<4?t[s]:e[s-4]}))}h=document.getElementsByClassName("container").item(0),l.addWatcher((t=>{t?h.classList.remove("disableScroll"):h.classList.add("disableScroll")}));const S=await async function(){try{const t=await fetch(`${window.location.href}index.json`,{headers:{Accept:"application/json"}});return(await t.json()).sort(((t,e)=>t.index
{v(n(t.index+1),n(t.length)),N(n(t.threshold))})),E.addEventListener("click",(()=>{!function(){let t=m.get();t=x(t,-1),m.set(t)}()}),{passive:!0}),j.addEventListener("click",(()=>{!function(){let t=m.get();t=x(t,1),m.set(t)}()}),{passive:!0})}(),S.length>0&&(window.matchMedia("(hover: none)").matches?import("./fRwBqI.js").then((t=>{t.initMobile(S)})).catch((t=>{console.log(t)})):import("./PR3rto.js").then((t=>{t.initDesktop(S)})).catch((t=>{console.log(t)})));export{c as W,g as a,f as b,h as c,e as d,l as e,a as f,u as g,n as h,t as i,r as j,s as k,i as l,o,m as s};
\ No newline at end of file
+function t(t,e){return(t+1)%e}function e(t,e){return(t+e-1)%e}function n(t){return("0000"+t.toString()).slice(-4)}function s(t,e){return Math.floor(Math.random()*(e-t+1))+t}function o(t,e){new IntersectionObserver(((n,s)=>{n.forEach((n=>{n.intersectionRatio>0&&(e(t),s.disconnect())}))})).observe(t)}function i(t){return t.charAt(0).toUpperCase()+t.slice(1)}async function r(){const t=await import("./8mM4Ei.js");return[t.gsap,t.Power3]}async function a(){return(await import("./f6JTi3.js")).Swiper}class c{constructor(t){this.obj=t,this.watchers=[]}get(){return this.obj}set(t){this.obj=t,this.watchers.forEach((t=>{t(this.obj)}))}addWatcher(t){this.watchers.push(t)}}const h=new c(!0);let l;const d=[{threshold:20,trailLength:20},{threshold:40,trailLength:10},{threshold:80,trailLength:5},{threshold:140,trailLength:5},{threshold:200,trailLength:5}],u=new c({index:-1,length:0,threshold:d[p()].threshold,trailLength:d[p()].trailLength});function g(t){const e=u.get();e.index=t,u.set(e)}function m(){const e=u.get();e.index=t(e.index,e.length),u.set(e)}function f(){const t=u.get();t.index=e(t.index,t.length),u.set(t)}function x(t,e){const n=d.findIndex((e=>t.threshold===e.threshold))+e;if(n<0||n>=d.length)return t;sessionStorage.setItem("thresholdsIndex",n.toString());const s=d[n];return{...t,...s}}function p(){const t=sessionStorage.getItem("thresholdsIndex");return null===t?2:parseInt(t)}const w=document.getElementsByClassName("threshold").item(0),y=Array.from(w.getElementsByClassName("num")),E=w.getElementsByClassName("dec").item(0),j=w.getElementsByClassName("inc").item(0),L=document.getElementsByClassName("index").item(0),b=Array.from(L.getElementsByClassName("num"));function v(t){y.forEach(((e,n)=>{e.innerText=t[n]}))}function C(t,e){b.forEach(((n,s)=>{n.innerText=s<4?t[s]:e[s-4]}))}l=document.getElementsByClassName("container").item(0),h.addWatcher((t=>{t?l.classList.remove("disableScroll"):l.classList.add("disableScroll")}));const B=await async function(){try{const t=await fetch(`${window.location.href}index.json`,{headers:{Accept:"application/json"}});return(await t.json()).sort(((t,e)=>t.index{C(n(t.index+1),n(t.length)),v(n(t.threshold))})),E.addEventListener("click",(()=>{!function(){let t=u.get();t=x(t,-1),u.set(t)}()}),{passive:!0}),j.addEventListener("click",(()=>{!function(){let t=u.get();t=x(t,1),u.set(t)}()}),{passive:!0})}(),B.length>0&&(window.matchMedia("(hover: none)").matches?import("./fRwBqI.js").then((t=>{t.initMobile(B)})).catch((t=>{console.log(t)})):import("./PR3rto.js").then((t=>{t.initDesktop(B)})).catch((t=>{console.log(t)})));export{c as W,m as a,f as b,l as c,e as d,h as e,a as f,g,n as h,t as i,i as j,s as k,r as l,o,u as s};
\ No newline at end of file