mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-15 10:39:30 -07:00
Compare commits
40 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed3b08dce2 | ||
|
|
8ba41fc32c | ||
|
|
0f537630e8 | ||
|
|
3f60289381 | ||
|
|
a3c2310375 | ||
|
|
b9de1b9c70 | ||
|
|
ac5fb33f41 | ||
|
|
ba044a2147 | ||
|
|
b34a85fa92 | ||
|
|
7b0cd6aae7 | ||
|
|
bc04ef37bb | ||
|
|
a5807f7625 | ||
|
|
0c16bab065 | ||
|
|
30a01cfd63 | ||
|
|
1e2f1fadde | ||
|
|
4932953871 | ||
|
|
44f3187540 | ||
|
|
80d5a2071b | ||
|
|
c02099aba9 | ||
|
|
50b0e6a5f4 | ||
|
|
6e066497f6 | ||
|
|
af664924e5 | ||
|
|
cdebc028cb | ||
|
|
6210fdda61 | ||
|
|
58f4ebe137 | ||
|
|
1381190a1a | ||
|
|
99220ec318 | ||
|
|
44b883ea96 | ||
|
|
8fd8ed52fe | ||
|
|
6a75a9bc83 | ||
|
|
96b38e9e60 | ||
|
|
267e79a090 | ||
|
|
b3ca475134 | ||
|
|
0126dfdd7e | ||
|
|
2c8db4abe1 | ||
|
|
4e0f083840 | ||
|
|
b3e3c7b0d4 | ||
|
|
784716658d | ||
|
|
a8975c5324 | ||
|
|
11c6fc4c0c |
@@ -22,6 +22,7 @@
|
||||
"arrow-body-style": "off",
|
||||
"prefer-arrow-callback": "off",
|
||||
"import/no-cycle": "error",
|
||||
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
||||
"sort-imports": [
|
||||
"error",
|
||||
{
|
||||
|
||||
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
- name: Get changed files in scope
|
||||
id: changed-files-specific
|
||||
uses: tj-actions/changed-files@v40
|
||||
uses: tj-actions/changed-files@v41
|
||||
with:
|
||||
files: |
|
||||
package.json
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
@font-face {
|
||||
font-family: 'Geist';
|
||||
src: url('/lib/fonts/GeistVF.woff2') format('woff2');
|
||||
src:
|
||||
url('/lib/fonts/GeistVF.woff2') format('woff2 supports variations'),
|
||||
url('/lib/fonts/GeistVF.woff2') format('woff2-variations');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
|
||||
@@ -31,27 +31,6 @@ const indexDispNums = Array.from(
|
||||
indexDiv.getElementsByClassName('num')
|
||||
) as HTMLSpanElement[]
|
||||
|
||||
// links div
|
||||
const linksDiv = document.getElementsByClassName('links').item(0) as HTMLDivElement
|
||||
|
||||
// links
|
||||
const links = Array.from(linksDiv.getElementsByClassName('link')) as HTMLAnchorElement[]
|
||||
|
||||
// current link index
|
||||
const currentLinkIndex = document
|
||||
.getElementById('main')
|
||||
?.getAttribute('currentMenuItemIndex') as string
|
||||
|
||||
// set current link
|
||||
for (const [index, link] of links.entries()) {
|
||||
if (index === parseInt(currentLinkIndex)) {
|
||||
// set current link style
|
||||
link.classList.add('current')
|
||||
// set current link title (only if not home)
|
||||
if (index !== 0) document.title = link.innerText + ' | ' + document.title
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* init
|
||||
*/
|
||||
|
||||
@@ -36,6 +36,8 @@ If you are already using Git for your site, you can add the theme as a submodule
|
||||
git submodule add https://github.com/Sped0n/bridget themes/bridget
|
||||
```
|
||||
|
||||
After cloning/downloading theme files to the directory, if you want to customize the theme, please run `pnpm install` or `npm install` first.
|
||||
|
||||
### Module (recommended)
|
||||
|
||||
> If you want to modify the theme, use Git installation instead.
|
||||
@@ -155,8 +157,8 @@ replacements = "github.com/Sped0n/bridget -> ../.."
|
||||
path = "github.com/Sped0n/bridget"
|
||||
```
|
||||
|
||||
- If you want to <u>modify the theme</u> or you have <u>installation with Git</u>, please keep the `replacements` configuration and change the path after the arrow to the location of your local theme file.
|
||||
- If you have <u>installation with Module</u>, remove the `replacements` configuration.
|
||||
- If you want to <u>modify the theme</u> or you have <u>installation with Git</u>, please **keep the `replacements` configuration** and change the path after the arrow to the location of your local theme file (relative path only).
|
||||
- If you have <u>installation with Module</u>, **remove the `replacements` configuration**.
|
||||
|
||||
### `markup.toml`
|
||||
|
||||
@@ -164,7 +166,11 @@ path = "github.com/Sped0n/bridget"
|
||||
|
||||
### `params.toml`
|
||||
|
||||
There is a detailed description in the comments.
|
||||
Detailed description in the comments.
|
||||
|
||||
> ⚠️⚠️⚠️
|
||||
>
|
||||
> Only thing that you need to pay **extra attention** is the [`bundled`](https://github.com/Sped0n/bridget/blob/1e2f1fadde9c16989eef1ab771f2ac8463dec5a4/exampleSite/config/_default/params.toml#L6) option, please read the corresponding doc and set it as your need.
|
||||
|
||||
### `sitemap.toml`
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# description of the site (will be placed in meta)
|
||||
description = "Bridget is a minimal Hugo theme designed for photographers / visual artists."
|
||||
description = "Bridget is a minimal Hugo theme designed for photographers/visual artists."
|
||||
# use bundled js and css
|
||||
# * if you want to build the js and css from scratch, set this to false and run `npm install` and `npm run build`
|
||||
# * tldr: set this to false if you want to develop and edit the js and css
|
||||
|
||||
@@ -10,9 +10,9 @@ menu:
|
||||
unifiedAlt: ''
|
||||
---
|
||||
|
||||
Bridget is a _minimal_ Hugo theme designed for photographers / visual artists.
|
||||
Bridget is a _minimal_ Hugo theme designed for photographers/visual artists.
|
||||
|
||||
The inspiration for this theme came from a video by <u>[Hyperlexed](https://www.youtube.com/@Hyperplexed)</u>, which can be found <u>[here](https://www.youtube.com/watch?v=Jt3A2lNN2aE)</u>. Initially, it was designed using pure TypeScript and CSS. However, after website designer <u>[Tyler McRobert](https://tylermcrobert.com)</u> made the source code publicly available, the whole project was modified to mimic the original design. The animations in Bridget are achieved using gsap and swiper. In essence, it is more like a porting of the original design into Hugo.
|
||||
The inspiration for this theme came from a video by <u>[Hyperlexed](https://www.youtube.com/@Hyperplexed)</u>, which can be found <u>[here](https://www.youtube.com/watch?v=Jt3A2lNN2aE)</u>. Initially, it was developed using raw TypeScript and CSS. However, after website designer <u>[Tyler McRobert](https://tylermcrobert.com)</u> made the source code publicly available, I realized that I have invented many unnecessary components, and this project was modified to porting the original design to hugo while focussing on _performance_.
|
||||
|
||||
Once again, great shout out to <u>[Tyler McRobert](https://tylermcrobert.com)</u> for his inspiration to this project.
|
||||
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
{{- define "main" -}}
|
||||
{{- $params := .Scratch.Get "params" -}}
|
||||
{{- $currentPage := . -}}
|
||||
{{- with partial "function/currentMenuItem.html" . -}}
|
||||
<script>document.getElementById("main").setAttribute("currentMenuItemIndex", "{{- (sub .ID 1) -}}")</script>
|
||||
{{- end -}}
|
||||
<div class="container">
|
||||
{{- partial "nav.html" . -}}
|
||||
</div>
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>{{ site.Title }}</title>
|
||||
{{- partial "head/link.html" -}}
|
||||
{{- partial "head/meta.html" -}}
|
||||
{{- partial "head/seo.html" -}}
|
||||
{{- partial "head/favicon.html" -}}
|
||||
{{- partial "head/link.html" . -}}
|
||||
{{- partial "head/meta.html" . -}}
|
||||
{{- partial "head/seo.html" . -}}
|
||||
{{- partial "head/favicon.html" . -}}
|
||||
</head>
|
||||
<body lang="{{- site.LanguageCode -}}">
|
||||
<div id="main">
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
{{- define "main" -}}
|
||||
{{- $params := .Scratch.Get "params" -}}
|
||||
{{- $currentPage := . -}}
|
||||
{{- with partial "function/currentMenuItem.html" . -}}
|
||||
<script>
|
||||
document.getElementById("main").setAttribute("currentMenuItemIndex", "{{- (sub .ID 1) -}}")
|
||||
document.getElementById("main").setAttribute("nextText", "{{- i18n "next" -}}")
|
||||
document.getElementById("main").setAttribute("prevText", "{{- i18n "prev" -}}")
|
||||
document.getElementById("main").setAttribute("closeText", "{{- i18n "close" -}}")
|
||||
</script>
|
||||
{{- end -}}
|
||||
<script>
|
||||
document.getElementById("main").setAttribute("nextText", "{{- i18n "next" -}}")
|
||||
document.getElementById("main").setAttribute("prevText", "{{- i18n "prev" -}}")
|
||||
document.getElementById("main").setAttribute("closeText", "{{- i18n "close" -}}")
|
||||
</script>
|
||||
<div class="container">
|
||||
{{- partial "nav.html" . -}}
|
||||
</div>
|
||||
|
||||
@@ -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 -}}
|
||||
|
||||
@@ -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) -}}
|
||||
|
||||
@@ -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 -}}
|
||||
|
||||
@@ -1,9 +1,22 @@
|
||||
<meta name="Description" content="{{- site.Params.description -}}" />
|
||||
<meta
|
||||
name="application-name"
|
||||
content="{{- .Site.Params.app.title | default site.Title -}}"
|
||||
/>
|
||||
<meta
|
||||
name="apple-mobile-web-app-title"
|
||||
content="{{- .Site.Params.app.title | default site.Title -}}"
|
||||
/>
|
||||
{{/* Title */}}
|
||||
{{- $page_title := "" -}}
|
||||
{{- with partial "function/currentMenuItem.html" . -}}
|
||||
{{ $page_title = printf "%s" site.Title | printf "%s%s" " | " | printf "%s%s" .Title | printf "%s" }}
|
||||
{{- end -}}
|
||||
<title>{{ $page_title }}</title>
|
||||
|
||||
{{/* Basic */}}
|
||||
<meta name="Description" content="{{ site.Params.description }}" />
|
||||
<meta name="application-name" content="{{ $page_title }}" />
|
||||
<meta name="apple-mobile-web-app-title" content="{{ $page_title }}" />
|
||||
|
||||
{{/* Opengraph */}}
|
||||
<meta property="og:title" content="{{ $page_title }}" />
|
||||
<meta name="twitter:title" content="{{ $page_title }}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="{{ .Permalink }}" />
|
||||
<meta property="og:description" content="{{ site.Params.description }}" />
|
||||
<meta name="twitter:description" content="{{ site.Params.description }}" />
|
||||
|
||||
{{/* Generator */}}
|
||||
{{ hugo.Generator }}
|
||||
|
||||
@@ -4,14 +4,30 @@
|
||||
</div>
|
||||
<div class="links">
|
||||
{{- $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 -}}
|
||||
<a href="{{- .URL | relURL -}}" class="link">{{- .Title -}}</a>
|
||||
<a
|
||||
href="{{- .URL | relURL -}}"
|
||||
class="link{{- if eq $index $currentIndex -}}
|
||||
{{- printf " current" -}}
|
||||
{{- end -}}"
|
||||
>{{- .Title -}}</a
|
||||
>
|
||||
{{- else -}}
|
||||
<a href="{{- .URL | relURL -}}" class="link">{{- .Title -}}</a>, 
|
||||
<a
|
||||
href="{{- .URL | relURL -}}"
|
||||
class="link{{- if eq $index $currentIndex -}}
|
||||
{{- printf " current" -}}
|
||||
{{- end -}}"
|
||||
>{{- .Title -}}</a
|
||||
>, 
|
||||
{{- end -}}
|
||||
{{- $index = add $index 1 -}}
|
||||
{{- end -}}
|
||||
|
||||
34
package.json
34
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bridget",
|
||||
"version": "v0.0.3",
|
||||
"version": "v0.0.4",
|
||||
"description": "bridget theme source file",
|
||||
"packageManager": "pnpm@8.10.2",
|
||||
"private": true,
|
||||
@@ -37,29 +37,29 @@
|
||||
},
|
||||
"homepage": "https://github.com/Sped0n/bridget#readme",
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@rollup/plugin-typescript": "^11.1.5",
|
||||
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
||||
"@typescript-eslint/parser": "^6.10.0",
|
||||
"eslint": "^8.53.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
||||
"@typescript-eslint/parser": "^6.17.0",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-config-standard": "^17.1.0",
|
||||
"eslint-config-standard-with-typescript": "^39.1.1",
|
||||
"eslint-config-standard-with-typescript": "^43.0.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.29.0",
|
||||
"eslint-plugin-n": "^16.3.1",
|
||||
"eslint-plugin-prettier": "^5.0.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-n": "^16.6.1",
|
||||
"eslint-plugin-prettier": "^5.1.2",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "3.0.3",
|
||||
"prettier": "3.1.1",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"prettier-plugin-organize-imports": "^3.2.4",
|
||||
"rollup": "^4.3.0",
|
||||
"typescript": "^5.2.2"
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"gsap": "^3.12.2",
|
||||
"swiper": "^11.0.4"
|
||||
"gsap": "^3.12.4",
|
||||
"swiper": "^11.0.5",
|
||||
"rollup": "^4.9.3",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@rollup/plugin-typescript": "^11.1.5"
|
||||
}
|
||||
}
|
||||
|
||||
808
pnpm-lock.yaml
generated
808
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/bundled/js/8mM4Ei.js
Normal file
1
static/bundled/js/8mM4Ei.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
static/bundled/js/f6JTi3.js
Normal file
1
static/bundled/js/f6JTi3.js
Normal file
File diff suppressed because one or more lines are too long
@@ -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("./-BhIIs.js");return[t.gsap,t.Power3]}async function a(){return(await import("./ep7_9p.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<e.index?-1:1))}catch(t){return[]}}();!function(t){const e=m.get();e.length=t,x(e,0),m.set(e)}(S.length),function(){const t=m.get();N(n(t.threshold)),v(n(t.index+1),n(t.length)),m.addWatcher((t=>{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};
|
||||
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<e.index?-1:1))}catch(t){return[]}}();!function(t){const e=u.get();e.length=t,x(e,0),u.set(e)}(B.length),function(){const t=u.get();v(n(t.threshold)),C(n(t.index+1),n(t.length)),u.addWatcher((t=>{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};
|
||||
Binary file not shown.
Reference in New Issue
Block a user