hexo-theme-redefine-x 2.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug-chinese.yml +115 -0
- package/.github/ISSUE_TEMPLATE/bug-english.yml +106 -0
- package/.github/ISSUE_TEMPLATE/enhancement-chinese.yml +55 -0
- package/.github/ISSUE_TEMPLATE/enhancement-english.yml +55 -0
- package/.github/workflows/build-and-commit.yml +49 -0
- package/.github/workflows/npm-publish.yml +34 -0
- package/.github/workflows/stale-issues.yml +20 -0
- package/CHANGELOG_REDEFINE_X.md +236 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/CONTRIBUTING.md +51 -0
- package/DONATION.md +82 -0
- package/LICENSE +674 -0
- package/README.md +135 -0
- package/README_zh-CN.md +138 -0
- package/README_zh-TW.md +137 -0
- package/TODO.md +215 -0
- package/_config.yml +489 -0
- package/languages/en.yml +93 -0
- package/languages/es.yml +92 -0
- package/languages/fr.yml +92 -0
- package/languages/ja.yml +92 -0
- package/languages/zh-CN.yml +95 -0
- package/languages/zh-TW.yml +94 -0
- package/layout/404.ejs +1 -0
- package/layout/archive.ejs +1 -0
- package/layout/category.ejs +1 -0
- package/layout/components/comments/comment.ejs +22 -0
- package/layout/components/comments/giscus.ejs +42 -0
- package/layout/components/comments/gitalk.ejs +47 -0
- package/layout/components/comments/twikoo.ejs +50 -0
- package/layout/components/comments/waline.ejs +34 -0
- package/layout/components/footer/footer.ejs +99 -0
- package/layout/components/header/head.ejs +222 -0
- package/layout/components/header/navbar.ejs +163 -0
- package/layout/components/header/preloader.ejs +148 -0
- package/layout/components/header/progress-bar.ejs +12 -0
- package/layout/components/plugins/aplayer.ejs +3 -0
- package/layout/components/scripts.ejs +90 -0
- package/layout/components/sidebar/author.ejs +6 -0
- package/layout/components/sidebar/avatar.ejs +3 -0
- package/layout/components/sidebar/statistics.ejs +14 -0
- package/layout/components/swup.ejs +27 -0
- package/layout/index.ejs +1 -0
- package/layout/layout.ejs +13 -0
- package/layout/page.ejs +57 -0
- package/layout/pages/archive/archive.ejs +3 -0
- package/layout/pages/bookmarks/bookmarks.ejs +68 -0
- package/layout/pages/category/categories.ejs +11 -0
- package/layout/pages/category/category-detail.ejs +6 -0
- package/layout/pages/friends/friends-link.ejs +59 -0
- package/layout/pages/home/home-article.ejs +52 -0
- package/layout/pages/home/home-background.ejs +33 -0
- package/layout/pages/home/home-banner.ejs +234 -0
- package/layout/pages/home/home-content.ejs +62 -0
- package/layout/pages/home/home-sidebar.ejs +78 -0
- package/layout/pages/masonry/masonry.ejs +28 -0
- package/layout/pages/notfound/notfound.ejs +8 -0
- package/layout/pages/page-template.ejs +23 -0
- package/layout/pages/post/article-content.ejs +153 -0
- package/layout/pages/post/article-copyright.ejs +69 -0
- package/layout/pages/post/article-info.ejs +78 -0
- package/layout/pages/post/post-tools.ejs +17 -0
- package/layout/pages/post/toc.ejs +15 -0
- package/layout/pages/shuoshuo/essays.ejs +23 -0
- package/layout/pages/tag/tag-detail.ejs +6 -0
- package/layout/pages/tag/tags.ejs +24 -0
- package/layout/post.ejs +1 -0
- package/layout/tag.ejs +1 -0
- package/layout/tags.ejs +1 -0
- package/layout/utils/image-viewer.ejs +3 -0
- package/layout/utils/local-search.ejs +20 -0
- package/layout/utils/paginator.ejs +8 -0
- package/layout/utils/posts-list.ejs +28 -0
- package/layout/utils/side-tools.ejs +51 -0
- package/package.json +45 -0
- package/scripts/config-export.js +66 -0
- package/scripts/data-handle.js +37 -0
- package/scripts/events/404.js +16 -0
- package/scripts/events/welcome.js +141 -0
- package/scripts/filters/delete-mask-handle.js +27 -0
- package/scripts/filters/encrypt.js +202 -0
- package/scripts/filters/img-handle.js +9 -0
- package/scripts/filters/lazyload-handle.js +350 -0
- package/scripts/filters/lib/hbe.default.js +15 -0
- package/scripts/filters/link-handle.js +42 -0
- package/scripts/filters/stylus-handle.js +9 -0
- package/scripts/filters/table-handle.js +11 -0
- package/scripts/helpers/meta-helpers.js +38 -0
- package/scripts/helpers/page-helpers.js +153 -0
- package/scripts/helpers/recommendation-helpers.js +367 -0
- package/scripts/helpers/theme-helpers.js +251 -0
- package/scripts/helpers/waline-helpers.js +33 -0
- package/scripts/modules/btn.js +85 -0
- package/scripts/modules/btns.js +71 -0
- package/scripts/modules/folding.js +34 -0
- package/scripts/modules/note-large.js +72 -0
- package/scripts/modules/note.js +64 -0
- package/scripts/modules/tabs.js +99 -0
- package/source/assets/hbe.style.css +220 -0
- package/source/assets/odometer-theme-minimal.css +81 -0
- package/source/css/build/tailwind.css +2 -0
- package/source/css/common/animated.styl +71 -0
- package/source/css/common/basic.styl +239 -0
- package/source/css/common/codeblock/code-block.styl +158 -0
- package/source/css/common/codeblock/code-theme.styl +82 -0
- package/source/css/common/codeblock/highlight.styl +189 -0
- package/source/css/common/codeblock/hljs-themes/dark/a11y-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/agate.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/atom-one-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/github-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/monokai-sublime.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/night-owl.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/nord.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/tokyo-night-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/vs2015.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/light/atom-one-light.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/light/default.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/light/github.styl +18 -0
- package/source/css/common/colors.styl +112 -0
- package/source/css/common/markdown.styl +337 -0
- package/source/css/common/redefine-theme.styl +65 -0
- package/source/css/common/theme.styl +72 -0
- package/source/css/common/variables.styl +145 -0
- package/source/css/layout/_modules/aplayer.styl +799 -0
- package/source/css/layout/_modules/buttons.styl +42 -0
- package/source/css/layout/_modules/folding.styl +180 -0
- package/source/css/layout/_modules/notes.styl +181 -0
- package/source/css/layout/_modules/tabs.styl +105 -0
- package/source/css/layout/_partials/404.styl +14 -0
- package/source/css/layout/_partials/archive-list.styl +49 -0
- package/source/css/layout/_partials/article-copyright-info.styl +27 -0
- package/source/css/layout/_partials/article-meta-info.styl +62 -0
- package/source/css/layout/_partials/comments/comment.styl +11 -0
- package/source/css/layout/_partials/comments/gitalk.styl +529 -0
- package/source/css/layout/_partials/comments/twikoo.styl +62 -0
- package/source/css/layout/_partials/comments/waline.styl +1151 -0
- package/source/css/layout/_partials/footer.styl +59 -0
- package/source/css/layout/_partials/home-banner.styl +48 -0
- package/source/css/layout/_partials/image-viewer.styl +37 -0
- package/source/css/layout/_partials/local-search.styl +137 -0
- package/source/css/layout/_partials/navbar.styl +309 -0
- package/source/css/layout/_partials/page-template.styl +147 -0
- package/source/css/layout/_partials/paginator.styl +65 -0
- package/source/css/layout/_partials/post-tools.styl +43 -0
- package/source/css/layout/_partials/progress-bar.styl +33 -0
- package/source/css/layout/_partials/side-tools.styl +87 -0
- package/source/css/layout/_partials/tagcloud.styl +136 -0
- package/source/css/layout/_partials/toc.styl +105 -0
- package/source/css/layout/animations.styl +42 -0
- package/source/css/layout/archive-content.styl +8 -0
- package/source/css/layout/article-content.styl +257 -0
- package/source/css/layout/bookmarks.styl +8 -0
- package/source/css/layout/category-content.styl +21 -0
- package/source/css/layout/category-list.styl +119 -0
- package/source/css/layout/home-content.styl +114 -0
- package/source/css/layout/home-sidebar.styl +126 -0
- package/source/css/layout/page.styl +144 -0
- package/source/css/layout/tag-content.styl +30 -0
- package/source/css/style.styl +26 -0
- package/source/css/tailwind.source.css +236 -0
- package/source/fontawesome/all.min.css +6 -0
- package/source/fontawesome/brands.min.css +6 -0
- package/source/fontawesome/duotone.min.css +6 -0
- package/source/fontawesome/fontawesome.min.css +6 -0
- package/source/fontawesome/light.min.css +6 -0
- package/source/fontawesome/regular.min.css +6 -0
- package/source/fontawesome/sharp-solid.min.css +6 -0
- package/source/fontawesome/solid.min.css +6 -0
- package/source/fontawesome/svg-with-js.min.css +6 -0
- package/source/fontawesome/thin.min.css +6 -0
- package/source/fontawesome/v4-font-face.min.css +6 -0
- package/source/fontawesome/v4-shims.min.css +6 -0
- package/source/fontawesome/v5-font-face.min.css +6 -0
- package/source/fonts/Chillax/Chillax-Variable.eot +0 -0
- package/source/fonts/Chillax/Chillax-Variable.ttf +0 -0
- package/source/fonts/Chillax/Chillax-Variable.woff +0 -0
- package/source/fonts/Chillax/Chillax-Variable.woff2 +0 -0
- package/source/fonts/Chillax/chillax.css +39 -0
- package/source/fonts/Geist/GeistVF.ttf +0 -0
- package/source/fonts/Geist/GeistVF.woff +0 -0
- package/source/fonts/Geist/GeistVF.woff2 +0 -0
- package/source/fonts/Geist/geist.css +16 -0
- package/source/fonts/GeistMono/GeistMonoVF.ttf +0 -0
- package/source/fonts/GeistMono/GeistMonoVF.woff +0 -0
- package/source/fonts/GeistMono/GeistMonoVF.woff2 +0 -0
- package/source/fonts/GeistMono/geist-mono.css +16 -0
- package/source/images/bookmark-placeholder.svg +9 -0
- package/source/images/loading.svg +5 -0
- package/source/images/redefine-avatar.svg +1 -0
- package/source/images/redefine-favicon.svg +1 -0
- package/source/images/redefine-logo.svg +1 -0
- package/source/images/redefine-logo.webp +0 -0
- package/source/images/redefine-og.webp +0 -0
- package/source/images/wallhaven-wqery6-dark.webp +0 -0
- package/source/images/wallhaven-wqery6-light.webp +0 -0
- package/source/js/build/layouts/bookmarkNav.js +2 -0
- package/source/js/build/layouts/bookmarkNav.js.map +1 -0
- package/source/js/build/layouts/categoryList.js +2 -0
- package/source/js/build/layouts/categoryList.js.map +1 -0
- package/source/js/build/layouts/essays.js +2 -0
- package/source/js/build/layouts/essays.js.map +1 -0
- package/source/js/build/layouts/lazyload.js +2 -0
- package/source/js/build/layouts/lazyload.js.map +1 -0
- package/source/js/build/layouts/navbarShrink.js +2 -0
- package/source/js/build/layouts/navbarShrink.js.map +1 -0
- package/source/js/build/layouts/toc.js +2 -0
- package/source/js/build/layouts/toc.js.map +1 -0
- package/source/js/build/libs/APlayer.min.js +2 -0
- package/source/js/build/libs/Swup.min.js +2 -0
- package/source/js/build/libs/SwupPreloadPlugin.min.js +1 -0
- package/source/js/build/libs/SwupProgressPlugin.min.js +1 -0
- package/source/js/build/libs/SwupScriptsPlugin.min.js +1 -0
- package/source/js/build/libs/SwupScrollPlugin.min.js +1 -0
- package/source/js/build/libs/SwupSlideTheme.min.js +1 -0
- package/source/js/build/libs/Typed.min.js +10 -0
- package/source/js/build/libs/anime.min.js +8 -0
- package/source/js/build/libs/mermaid.min.js +2314 -0
- package/source/js/build/libs/minimasonry.min.js +1 -0
- package/source/js/build/libs/moment-with-locales.min.js +2 -0
- package/source/js/build/libs/moment.min.js +2 -0
- package/source/js/build/libs/odometer.min.js +2 -0
- package/source/js/build/libs/pangu.min.js +9 -0
- package/source/js/build/libs/pjax.min.js +1 -0
- package/source/js/build/libs/waline.js +84 -0
- package/source/js/build/main.js +2 -0
- package/source/js/build/main.js.map +1 -0
- package/source/js/build/plugins/aplayer.js +2 -0
- package/source/js/build/plugins/aplayer.js.map +1 -0
- package/source/js/build/plugins/hbe.js +2 -0
- package/source/js/build/plugins/hbe.js.map +1 -0
- package/source/js/build/plugins/masonry.js +2 -0
- package/source/js/build/plugins/masonry.js.map +1 -0
- package/source/js/build/plugins/mermaid.js +2 -0
- package/source/js/build/plugins/mermaid.js.map +1 -0
- package/source/js/build/plugins/pangu.js +2 -0
- package/source/js/build/plugins/pangu.js.map +1 -0
- package/source/js/build/plugins/tabs.js +2 -0
- package/source/js/build/plugins/tabs.js.map +1 -0
- package/source/js/build/plugins/typed.js +2 -0
- package/source/js/build/plugins/typed.js.map +1 -0
- package/source/js/build/tools/codeBlock.js +2 -0
- package/source/js/build/tools/codeBlock.js.map +1 -0
- package/source/js/build/tools/imageViewer.js +2 -0
- package/source/js/build/tools/imageViewer.js.map +1 -0
- package/source/js/build/tools/lightDarkSwitch.js +2 -0
- package/source/js/build/tools/lightDarkSwitch.js.map +1 -0
- package/source/js/build/tools/localSearch.js +2 -0
- package/source/js/build/tools/localSearch.js.map +1 -0
- package/source/js/build/tools/runtime.js +2 -0
- package/source/js/build/tools/runtime.js.map +1 -0
- package/source/js/build/tools/scrollTopBottom.js +2 -0
- package/source/js/build/tools/scrollTopBottom.js.map +1 -0
- package/source/js/build/tools/tocToggle.js +2 -0
- package/source/js/build/tools/tocToggle.js.map +1 -0
- package/source/js/build/utils.js +2 -0
- package/source/js/build/utils.js.map +1 -0
- package/source/js/build.js +148 -0
- package/source/js/layouts/bookmarkNav.js +65 -0
- package/source/js/layouts/categoryList.js +53 -0
- package/source/js/layouts/essays.js +25 -0
- package/source/js/layouts/lazyload.js +199 -0
- package/source/js/layouts/navbarShrink.js +135 -0
- package/source/js/layouts/toc.js +115 -0
- package/source/js/libs/APlayer.min.js +2 -0
- package/source/js/libs/APlayer.min.js.map +1 -0
- package/source/js/libs/Swup.min.js +2 -0
- package/source/js/libs/Swup.min.js.map +1 -0
- package/source/js/libs/SwupPreloadPlugin.min.js +1 -0
- package/source/js/libs/SwupPreloadPlugin.min.js.map +1 -0
- package/source/js/libs/SwupProgressPlugin.min.js +1 -0
- package/source/js/libs/SwupScriptsPlugin.min.js +1 -0
- package/source/js/libs/SwupScrollPlugin.min.js +1 -0
- package/source/js/libs/SwupScrollPlugin.min.js.map +1 -0
- package/source/js/libs/SwupSlideTheme.min.js +1 -0
- package/source/js/libs/Typed.min.js +10 -0
- package/source/js/libs/anime.min.js +8 -0
- package/source/js/libs/mermaid.min.js +2314 -0
- package/source/js/libs/mermaid.min.js.map +7 -0
- package/source/js/libs/minimasonry.min.js +1 -0
- package/source/js/libs/moment-with-locales.min.js +2 -0
- package/source/js/libs/moment.min.js +2 -0
- package/source/js/libs/odometer.min.js +2 -0
- package/source/js/libs/pangu.min.js +9 -0
- package/source/js/libs/pjax.min.js +1 -0
- package/source/js/libs/waline.js +84 -0
- package/source/js/libs/waline.js.map +1 -0
- package/source/js/main.js +95 -0
- package/source/js/plugins/aplayer.js +33 -0
- package/source/js/plugins/hbe.js +350 -0
- package/source/js/plugins/masonry.js +115 -0
- package/source/js/plugins/mermaid.js +7 -0
- package/source/js/plugins/pangu.js +12 -0
- package/source/js/plugins/tabs.js +29 -0
- package/source/js/plugins/typed.js +62 -0
- package/source/js/tools/codeBlock.js +48 -0
- package/source/js/tools/imageViewer.js +194 -0
- package/source/js/tools/lightDarkSwitch.js +165 -0
- package/source/js/tools/localSearch.js +327 -0
- package/source/js/tools/runtime.js +28 -0
- package/source/js/tools/scrollTopBottom.js +34 -0
- package/source/js/tools/tocToggle.js +58 -0
- package/source/js/utils.js +383 -0
- package/source/webfonts/fa-brands-400.ttf +0 -0
- package/source/webfonts/fa-brands-400.woff2 +0 -0
- package/source/webfonts/fa-duotone-900.ttf +0 -0
- package/source/webfonts/fa-duotone-900.woff2 +0 -0
- package/source/webfonts/fa-light-300.ttf +0 -0
- package/source/webfonts/fa-light-300.woff2 +0 -0
- package/source/webfonts/fa-regular-400.ttf +0 -0
- package/source/webfonts/fa-regular-400.woff2 +0 -0
- package/source/webfonts/fa-sharp-solid-900.ttf +0 -0
- package/source/webfonts/fa-sharp-solid-900.woff2 +0 -0
- package/source/webfonts/fa-solid-900.ttf +0 -0
- package/source/webfonts/fa-solid-900.woff2 +0 -0
- package/source/webfonts/fa-thin-100.ttf +0 -0
- package/source/webfonts/fa-thin-100.woff2 +0 -0
- package/source/webfonts/fa-v4compatibility.ttf +0 -0
- package/source/webfonts/fa-v4compatibility.woff2 +0 -0
- package/vercel.json +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hbe.js","names":["main","initTOC","initHBE","cryptoObj","window","crypto","msCrypto","storage","localStorage","storageName","location","pathname","keySalt","textToArray","ivSalt","mainElement","document","getElementById","wrongPassMessage","dataset","wrongHashMessage","dataElement","getElementsByTagName","encryptedData","innerText","HmacDigist","hexToArray","s","Uint8Array","match","map","h","parseInt","i","length","n","ba","Array","j","c","codePointAt","arrayBufferToHex","arrayBuffer","byteLength","TypeError","value","view","result","toString","async","convertHTMLToElement","content","out","createElement","innerHTML","querySelectorAll","forEach","elem","replaceWith","getExecutableScript","oldElem","att","decrypt","decryptKey","iv","hmacKey","typedArray","subtle","name","buffer","then","decoded","TextDecoder","decode","startsWith","hideButton","textContent","type","classList","add","addEventListener","removeItem","reload","style","display","appendChild","import","module","forceLoadAllPreloaders","catch","preloader","loaded","src","img","alt","parentNode","replaceChild","refresh","event","Event","dispatchEvent","verifyContent","key","encoded","TextEncoder","encode","signature","verify","hash","console","log","alert","e","hbeLoader","oldStorageData","JSON","parse","getItem","sIv","sDk","dk","sHmk","hmk","importKey","dkCK","hmkCK","isComposing","password","keyMaterial","getKeyMaterial","encoder","getHmacKey","deriveKey","salt","iterations","getDecryptKey","getIv","deriveBits","exportKey","newStorageData","setItem","stringify"],"sources":["0"],"mappings":"eAASA,MAAY,+BACZC,MAAe,2BAEjB,SAASC,UACd,MAAMC,EAAYC,OAAOC,QAAUD,OAAOE,SACpCC,EAAUH,OAAOI,aAEjBC,EAAc,sBAAwBL,OAAOM,SAASC,SACtDC,EAAUC,YAAY,wBACtBC,EAASD,YAAY,oBAMrBE,EAAcC,SAASC,eAAe,qBACtCC,EAAmBH,EAAYI,QAAa,IAC5CC,EAAmBL,EAAYI,QAAa,IAC5CE,EAAcN,EAAYO,qBAAqB,UAAmB,QAClEC,EAAgBF,EAAYG,UAC5BC,EAAaJ,EAAYF,QAAoB,WAEnD,SAASO,WAAWC,GAClB,OAAO,IAAIC,WACTD,EAAEE,MAAM,gBAAgBC,KAAKC,GACpBC,SAASD,EAAG,MAGzB,CAEA,SAASlB,YAAYc,GAKnB,IAJA,IAAIM,EAAIN,EAAEO,OACNC,EAAI,EACJC,EAAK,IAAIC,MAEJC,EAAI,EAAGA,EAAIL,GAAK,CACvB,IAAIM,EAAIZ,EAAEa,YAAYF,GAClBC,EAAI,KACNH,EAAGD,KAAOI,EACVD,KACSC,EAAI,KAAOA,EAAI,MACxBH,EAAGD,KAAQI,GAAK,EAAK,IACrBH,EAAGD,KAAY,GAAJI,EAAU,IACrBD,KACSC,EAAI,MAAQA,EAAI,OACzBH,EAAGD,KAAQI,GAAK,GAAM,IACtBH,EAAGD,KAASI,GAAK,EAAK,GAAM,IAC5BH,EAAGD,KAAY,GAAJI,EAAU,IACrBD,MAEAF,EAAGD,KAAQI,GAAK,GAAM,IACtBH,EAAGD,KAASI,GAAK,GAAM,GAAM,IAC7BH,EAAGD,KAASI,GAAK,EAAK,GAAM,IAC5BH,EAAGD,KAAY,GAAJI,EAAU,IACrBD,GAAK,EAET,CACA,OAAO,IAAIV,WAAWQ,EACxB,CAEA,SAASK,iBAAiBC,GACxB,GACyB,iBAAhBA,GACS,OAAhBA,GACkC,iBAA3BA,EAAYC,WAEnB,MAAM,IAAIC,UAAU,uCAOtB,IAJA,IAEIC,EAFAC,EAAO,IAAIlB,WAAWc,GACtBK,EAAS,GAGJd,EAAI,EAAGA,EAAIa,EAAKZ,OAAQD,IAE/Bc,GAA2B,KAD3BF,EAAQC,EAAKb,GAAGe,SAAS,KACTd,OAAe,IAAMW,EAAQA,EAG/C,OAAOE,CACT,CAmBAE,eAAeC,qBAAqBC,GAClC,IAAIC,EAAMpC,SAASqC,cAAc,OAMjC,OALAD,EAAIE,UAAYH,EAChBC,EAAIG,iBAAiB,UAAUC,SAAQP,MAAOQ,IAC5CA,EAAKC,kBArBTT,eAAeU,oBAAoBC,GACjC,IAAIR,EAAMpC,SAASqC,cAAc,UAajC,MAZgB,CACd,OACA,OACA,MACA,cACA,QACA,kBAEMG,SAASK,IACXD,EAAQC,KAAMT,EAAIS,GAAOD,EAAQC,GAAI,IAGpCT,CACT,CAM2BO,CAAoBF,GAAM,IAG5CL,CACT,CAwFAH,eAAea,QAAQC,EAAYC,EAAIC,GACrC,IAAIC,EAAaxC,WAAWH,GA0E5B,aAxEqBpB,EAAUgE,OAC5BL,QACC,CACEM,KAAM,UACNJ,GAAIA,GAEND,EACAG,EAAWG,QAEZC,MAAKrB,MAAOF,IACX,MACMwB,GADU,IAAIC,aACIC,OAAO1B,GAG/B,IAAKwB,EAAQG,WAtMC,6BAuMZ,KAAM,sDAGR,MAAMC,EAAa3D,SAASqC,cAAc,UAC1CsB,EAAWC,YAAc,gBACzBD,EAAWE,KAAO,SAClBF,EAAWG,UAAUC,IAAI,cACzBJ,EAAWK,iBAAiB,SAAS,KACnC5E,OAAOI,aAAayE,WAAWxE,GAC/BL,OAAOM,SAASwE,QAAQ,IAG1BlE,SAASC,eAAe,qBAAqBkE,MAAMC,QAAU,SAC7DpE,SAASC,eAAe,qBAAqBqC,UAAY,GACzDtC,SACGC,eAAe,qBACfoE,kBAAkBnC,qBAAqBqB,IAC1CvD,SAASC,eAAe,qBAAqBoE,YAAYV,GAGzDW,OAAO,0BAA0BhB,MAAMiB,IACjCA,EAAOC,wBACTD,EAAOC,wBACT,IACCC,OAAM,KAEPzE,SAASuC,iBAAiB,kBAAkBC,SAASkC,IACnD,GAAiC,SAA7BA,EAAUvE,QAAQwE,OAAmB,CACvC,MAAMC,EAAMF,EAAUvE,QAAQyE,IAC9B,GAAIA,EAAK,CACP,MAAMC,EAAM7E,SAASqC,cAAc,OACnCwC,EAAID,IAAMA,EACVC,EAAIC,IAAMJ,EAAUvE,QAAQ2E,KAAO,GAC/BJ,EAAUK,YACZL,EAAUK,WAAWC,aAAaH,EAAKH,EAE3C,CACF,IACA,IAIJ1F,EAAKiG,UACLhG,IAGA,IAAIiG,EAAQ,IAAIC,MAAM,qBAGtB,OAFA/F,OAAOgG,cAAcF,SAxF3BjD,eAAeoD,cAAcC,EAAKnD,GAChC,MACMoD,GADU,IAAIC,aACIC,OAAOtD,GAE/B,IAAIuD,EAAYhF,WAAWD,GAE3B,MAAMsB,QAAe5C,EAAUgE,OAAOwC,OACpC,CACEvC,KAAM,OACNwC,KAAM,WAERN,EACAI,EACAH,GAOF,OALAM,QAAQC,IAAI,wBAAwB/D,KAC/BA,IACHgE,MAAM3F,GACNyF,QAAQC,IAAI,GAAG1F,UAA0BsF,EAAW,uBAE/C3D,CACT,CAqEmBsD,CAAcpC,EAASM,EAAQ,IAE7CkB,OAAOuB,IACND,MAAM7F,GACN2F,QAAQC,IAAIE,IACL,IAIb,EAEA,SAASC,YACP,MAAMC,EAAiBC,KAAKC,MAAM7G,EAAQ8G,QAAQ5G,IAElD,GAAIyG,EAAgB,CAClBL,QAAQC,IACN,kCAAkCrG,OAClCyG,GAGF,MAAMI,EAAM5F,WAAWwF,EAAelD,IAAIK,OACpCkD,EAAML,EAAeM,GACrBC,EAAOP,EAAeQ,IAE5BvH,EAAUgE,OACPwD,UACC,MACAJ,EACA,CACEnD,KAAM,UACNlC,OAAQ,MAEV,EACA,CAAC,YAEFoC,MAAMsD,IACLzH,EAAUgE,OACPwD,UACC,MACAF,EACA,CACErD,KAAM,OACNwC,KAAM,UACN1E,OAAQ,MAEV,EACA,CAAC,WAEFoC,MAAMuD,IACL/D,QAAQ8D,EAAMN,EAAKO,GAAOvD,MAAMvB,IACzBA,GACHxC,EAAQ0E,WAAWxE,EACrB,GACA,GACF,GAEV,CAEAM,EAAYiE,iBAAiB,WAAW/B,MAAOiD,IAC7C,GAAIA,EAAM4B,aAA6B,UAAd5B,EAAMI,IAAiB,CAC9C,MAAMyB,EAAW/G,SAASC,eAAe,WAAW4B,MAC9CmF,QAtNZ,SAASC,eAAeF,GACtB,IAAIG,EAAU,IAAI1B,YAClB,OAAOrG,EAAUgE,OAAOwD,UACtB,MACAO,EAAQzB,OAAOsB,GACf,CACE3D,KAAM,WAER,EACA,CAAC,YAAa,cAElB,CA2MgC6D,CAAeF,GACnC9D,QA1MZ,SAASkE,WAAWH,GAClB,OAAO7H,EAAUgE,OAAOiE,UACtB,CACEhE,KAAM,SACNwC,KAAM,UACNyB,KAAMzH,EAAQyD,OACdiE,WAAY,MAEdN,EACA,CACE5D,KAAM,OACNwC,KAAM,UACN1E,OAAQ,MAEV,EACA,CAAC,UAEL,CAyL4BiG,CAAWH,GAC3BjE,QAxLZ,SAASwE,cAAcP,GACrB,OAAO7H,EAAUgE,OAAOiE,UACtB,CACEhE,KAAM,SACNwC,KAAM,UACNyB,KAAMzH,EAAQyD,OACdiE,WAAY,MAEdN,EACA,CACE5D,KAAM,UACNlC,OAAQ,MAEV,EACA,CAAC,WAEL,CAwK+BqG,CAAcP,GACjChE,QAvKZ,SAASwE,MAAMR,GACb,OAAO7H,EAAUgE,OAAOsE,WACtB,CACErE,KAAM,SACNwC,KAAM,UACNyB,KAAMvH,EAAOuD,OACbiE,WAAY,KAEdN,EACA,IAEJ,CA4JuBQ,CAAMR,GAEvBlE,QAAQC,EAAYC,EAAIC,GAASK,MAAMvB,IACrC8D,QAAQC,IAAI,mBAAmB/D,KAC3BA,GACF5C,EAAUgE,OAAOuE,UAAU,MAAO3E,GAAYO,MAAMkD,IAClDrH,EAAUgE,OAAOuE,UAAU,MAAOzE,GAASK,MAAMoD,IAC/C,MAAMiB,EAAiB,CACrBnB,GAAIA,EACJxD,GAAIvB,iBAAiBuB,GACrB0D,IAAKA,GAEPnH,EAAQqI,QAAQnI,EAAa0G,KAAK0B,UAAUF,GAAgB,GAC5D,GAEN,GAEJ,IAEJ,CAEA1B,EACF","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export function initMasonry(){var e=document.querySelector(".loading-placeholder"),t=document.querySelector("#masonry-container");if(e&&t){e.style.display="block",t.style.display="none";for(var o=document.querySelectorAll("#masonry-container .masonry-item img"),n=document.querySelectorAll("#masonry-container .masonry-item .img-preloader"),a=o.length+n.length,r=0,i=0;i<o.length;i++){var d=o[i];d.complete?onItemReady():(d.addEventListener("load",onItemReady),d.addEventListener("error",onItemReady))}n.length>0&&import("../layouts/lazyload.js").then((e=>{n.forEach((t=>{if("true"===t.dataset.loaded||"IMG"===t.tagName)onItemReady();else{new MutationObserver(((e,t)=>{e.forEach((e=>{e.addedNodes.forEach((e=>{"IMG"===e.tagName&&(e.complete?onItemReady():(e.addEventListener("load",onItemReady),e.addEventListener("error",onItemReady)),t.disconnect())}))}))})).observe(t.parentNode,{childList:!0}),e.forceLoadAllPreloaders&&e.forceLoadAllPreloaders()}}))})).catch((()=>{n.forEach((()=>onItemReady()))})),(0===a||r===a)&&initializeMasonryLayout()}function onItemReady(){++r===a&&initializeMasonryLayout()}function initializeMasonryLayout(){e.style.opacity=0,setTimeout((()=>{var o;e.style.display="none",t.style.display="block",o=window.innerWidth>=768?255:150,new MiniMasonry({baseWidth:o,container:t,gutterX:10,gutterY:10,surroundingGutter:!1}).layout(),t.style.opacity=1}),100)}}if(data.masonry){try{swup.hooks.on("page:view",initMasonry)}catch(e){}document.addEventListener("DOMContentLoaded",initMasonry)}
|
|
2
|
+
//# sourceMappingURL=masonry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"masonry.js","names":["initMasonry","loadingPlaceholder","document","querySelector","masonryContainer","style","display","images","querySelectorAll","preloaders","totalCount","length","loadedCount","i","img","complete","onItemReady","addEventListener","import","then","module","forEach","preloader","dataset","loaded","tagName","MutationObserver","mutations","obs","mutation","addedNodes","node","disconnect","observe","parentNode","childList","forceLoadAllPreloaders","catch","initializeMasonryLayout","opacity","setTimeout","baseWidth","window","innerWidth","MiniMasonry","container","gutterX","gutterY","surroundingGutter","layout","data","masonry","swup","hooks","on","e"],"sources":["0"],"mappings":"OAAO,SAASA,cACd,IAAIC,EAAqBC,SAASC,cAAc,wBAC5CC,EAAmBF,SAASC,cAAc,sBAC9C,GAAKF,GAAuBG,EAA5B,CAEAH,EAAmBI,MAAMC,QAAU,QACnCF,EAAiBC,MAAMC,QAAU,OAqBjC,IAlBA,IAAIC,EAASL,SAASM,iBACpB,wCAEEC,EAAaP,SAASM,iBACxB,mDAGEE,EAAaH,EAAOI,OAASF,EAAWE,OACxCC,EAAc,EAUTC,EAAI,EAAGA,EAAIN,EAAOI,OAAQE,IAAK,CACtC,IAAIC,EAAMP,EAAOM,GACbC,EAAIC,SACNC,eAEAF,EAAIG,iBAAiB,OAAQD,aAC7BF,EAAIG,iBAAiB,QAASD,aAElC,CAGIP,EAAWE,OAAS,GACtBO,OAAO,0BAA0BC,MAAMC,IACrCX,EAAWY,SAASC,IAElB,GAAiC,SAA7BA,EAAUC,QAAQC,QAA2C,QAAtBF,EAAUG,QACnDT,kBACK,CAEY,IAAIU,kBAAiB,CAACC,EAAWC,KAChDD,EAAUN,SAASQ,IACjBA,EAASC,WAAWT,SAASU,IACN,QAAjBA,EAAKN,UACHM,EAAKhB,SACPC,eAEAe,EAAKd,iBAAiB,OAAQD,aAC9Be,EAAKd,iBAAiB,QAASD,cAEjCY,EAAII,aACN,GACA,GACF,IAGKC,QAAQX,EAAUY,WAAY,CAAEC,WAAW,IAGhDf,EAAOgB,wBACThB,EAAOgB,wBAEX,IACA,IACDC,OAAM,KAEP5B,EAAWY,SAAQ,IAAML,eAAc,KAKxB,IAAfN,GAEOE,IAAgBF,IADzB4B,yBA3EkD,CAgBpD,SAAStB,gBACPJ,IACoBF,GAClB4B,yBAEJ,CA2DA,SAASA,0BACPrC,EAAmBI,MAAMkC,QAAU,EACnCC,YAAW,KAGT,IACIC,EAHJxC,EAAmBI,MAAMC,QAAU,OACnCF,EAAiBC,MAAMC,QAAU,QAI/BmC,EAHgBC,OAAOC,YAEN,IACL,IAEA,IAEA,IAAIC,YAAY,CAC5BH,UAAWA,EACXI,UAAWzC,EACX0C,QAAS,GACTC,QAAS,GACTC,mBAAmB,IAEbC,SACR7C,EAAiBC,MAAMkC,QAAU,CAAC,GACjC,IACL,CACF,CAEA,GAAIW,KAAKC,QAAS,CAChB,IACEC,KAAKC,MAAMC,GAAG,YAAatD,YAC7B,CAAE,MAAOuD,GAAI,CAEbrD,SAASe,iBAAiB,mBAAoBjB,YAChD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid.js","names":["theme","plugins","mermaid","enable","swup","hooks","on","initialize","e"],"sources":["0"],"mappings":"AAAA,IAAqC,IAAjCA,MAAMC,QAAQC,QAAQC,OACxB,IACEC,KAAKC,MAAMC,GAAG,aAAa,KACzBJ,QAAQK,YAAY,GAExB,CAAE,MAAOC,GAAI","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pangu.js","names":["initPanguJS","pangu","spacingElementByClassName","autoSpacingPage","document","addEventListener","swup","hooks","on","e"],"sources":["0"],"mappings":"AAAA,SAASA,cAEPC,MAAMC,0BAA0B,iBAEhCD,MAAME,iBACR,CAEAC,SAASC,iBAAiB,mBAAoBL,aAE9C,IACEM,KAAKC,MAAMC,GAAG,YAAaR,YAC7B,CAAE,MAAOS,GAAI","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function setTabs(){let e=document.querySelectorAll(".tabs .nav-tabs");e&&e.forEach((e=>{e.querySelectorAll("a").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const t=e.target.parentElement.parentElement.parentElement;return t.querySelector(".nav-tabs .active").classList.remove("active"),e.target.parentElement.classList.add("active"),t.querySelector(".tab-content .active").classList.remove("active"),t.querySelector(e.target.className).classList.add("active"),!1}))}))}))}try{swup.hooks.on("page:view",setTabs)}catch(e){}document.addEventListener("DOMContentLoaded",setTabs);
|
|
2
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","names":["setTabs","tabs","document","querySelectorAll","forEach","tab","link","addEventListener","e","preventDefault","stopPropagation","parentTab","target","parentElement","querySelector","classList","remove","add","className","swup","hooks","on"],"sources":["0"],"mappings":"AAAA,SAASA,UACP,IAAIC,EAAOC,SAASC,iBAAiB,mBAChCF,GAELA,EAAKG,SAASC,IACZA,EAAIF,iBAAiB,KAAKC,SAASE,IACjCA,EAAKC,iBAAiB,SAAUC,IAC9BA,EAAEC,iBACFD,EAAEE,kBAEF,MAAMC,EAAYH,EAAEI,OAAOC,cAAcA,cAAcA,cAQvD,OAPAF,EAAUG,cAAc,qBAAqBC,UAAUC,OAAO,UAC9DR,EAAEI,OAAOC,cAAcE,UAAUE,IAAI,UACrCN,EACGG,cAAc,wBACdC,UAAUC,OAAO,UACpBL,EAAUG,cAAcN,EAAEI,OAAOM,WAAWH,UAAUE,IAAI,WAEnD,CAAK,GACZ,GACF,GAEN,CAEA,IACEE,KAAKC,MAAMC,GAAG,YAAarB,QAC7B,CAAE,MAAOQ,GAAI,CAEbN,SAASK,iBAAiB,mBAAoBP","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const config={usrTypeSpeed:theme.home_banner.subtitle.typing_speed,usrBackSpeed:theme.home_banner.subtitle.backing_speed,usrBackDelay:theme.home_banner.subtitle.backing_delay,usrStartDelay:theme.home_banner.subtitle.starting_delay,usrLoop:theme.home_banner.subtitle.loop,usrSmartBackspace:theme.home_banner.subtitle.smart_backspace,usrHitokotoAPI:theme.home_banner.subtitle.hitokoto.api};export default function initTyped(e){const{usrTypeSpeed:t,usrBackSpeed:o,usrBackDelay:a,usrStartDelay:n,usrLoop:s,usrSmartBackspace:r,usrHitokotoAPI:i}=config;function typing(i){new Typed("#"+e,{strings:[i],typeSpeed:t||100,smartBackspace:r||!1,backSpeed:o||80,backDelay:a||1500,loop:s||!1,startDelay:n||500})}if(theme.home_banner.subtitle.hitokoto.enable)fetch(i).then((e=>e.json())).then((e=>{e.from_who&&theme.home_banner.subtitle.hitokoto.show_author?typing(e.hitokoto+"——"+e.from_who):typing(e.hitokoto)})).catch(console.error);else{const i=[...theme.home_banner.subtitle.text];if(document.getElementById(e)){new Typed("#"+e,{strings:i,typeSpeed:t||100,smartBackspace:r||!1,backSpeed:o||80,backDelay:a||1500,loop:s||!1,startDelay:n||500})}}}
|
|
2
|
+
//# sourceMappingURL=typed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed.js","names":["config","usrTypeSpeed","theme","home_banner","subtitle","typing_speed","usrBackSpeed","backing_speed","usrBackDelay","backing_delay","usrStartDelay","starting_delay","usrLoop","loop","usrSmartBackspace","smart_backspace","usrHitokotoAPI","hitokoto","api","initTyped","id","typing","dataList","Typed","strings","typeSpeed","smartBackspace","backSpeed","backDelay","startDelay","enable","fetch","then","response","json","data","from_who","show_author","catch","console","error","sentenceList","text","document","getElementById"],"sources":["0"],"mappings":"OAGO,MAAMA,OAAS,CACpBC,aAAcC,MAAMC,YAAYC,SAASC,aACzCC,aAAcJ,MAAMC,YAAYC,SAASG,cACzCC,aAAcN,MAAMC,YAAYC,SAASK,cACzCC,cAAeR,MAAMC,YAAYC,SAASO,eAC1CC,QAASV,MAAMC,YAAYC,SAASS,KACpCC,kBAAmBZ,MAAMC,YAAYC,SAASW,gBAC9CC,eAAgBd,MAAMC,YAAYC,SAASa,SAASC,oBAGvC,SAASC,UAAUC,GAChC,MAAMnB,aACJA,EAAYK,aACZA,EAAYE,aACZA,EAAYE,cACZA,EAAaE,QACbA,EAAOE,kBACPA,EAAiBE,eACjBA,GACEhB,OAEJ,SAASqB,OAAOC,GACH,IAAIC,MAAM,IAAMH,EAAI,CAC7BI,QAAS,CAACF,GACVG,UAAWxB,GAAgB,IAC3ByB,eAAgBZ,IAAqB,EACrCa,UAAWrB,GAAgB,GAC3BsB,UAAWpB,GAAgB,KAC3BK,KAAMD,IAAW,EACjBiB,WAAYnB,GAAiB,KAEjC,CAEA,GAAIR,MAAMC,YAAYC,SAASa,SAASa,OACtCC,MAAMf,GACHgB,MAAMC,GAAaA,EAASC,SAC5BF,MAAMG,IACDA,EAAKC,UAAYlC,MAAMC,YAAYC,SAASa,SAASoB,YACvDhB,OAAOc,EAAKlB,SAAW,KAAOkB,EAAKC,UAEnCf,OAAOc,EAAKlB,SACd,IAEDqB,MAAMC,QAAQC,WACZ,CACL,MAAMC,EAAe,IAAIvC,MAAMC,YAAYC,SAASsC,MACpD,GAAIC,SAASC,eAAexB,GAAK,CACpB,IAAIG,MAAM,IAAMH,EAAI,CAC7BI,QAASiB,EACThB,UAAWxB,GAAgB,IAC3ByB,eAAgBZ,IAAqB,EACrCa,UAAWrB,GAAgB,GAC3BsB,UAAWpB,GAAgB,KAC3BK,KAAMD,IAAW,EACjBiB,WAAYnB,GAAiB,KAEjC,CACF,CACF","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export default()=>{HTMLElement.prototype.wrap=function(e){this.parentNode.insertBefore(e,this),this.parentNode.removeChild(this),e.appendChild(this)},document.querySelectorAll("figure.highlight").forEach((e=>{const t=document.createElement("div");e.wrap(t),t.classList.add("highlight-container"),t.insertAdjacentHTML("beforeend",'<div class="copy-button"><i class="fa-regular fa-copy"></i></div>'),t.insertAdjacentHTML("beforeend",'<div class="fold-button"><i class="fa-solid fa-chevron-down"></i></div>');const o=t.querySelector(".copy-button"),a=t.querySelector(".fold-button");o.addEventListener("click",(()=>{const e=[...t.querySelectorAll(".code .line")].map((e=>e.innerText)).join("\n");navigator.clipboard.writeText(e),o.querySelector("i").className="fa-regular fa-check",setTimeout((()=>{o.querySelector("i").className="fa-regular fa-copy"}),1e3)})),a.addEventListener("click",(()=>{t.classList.toggle("folded"),a.querySelector("i").className=t.classList.contains("folded")?"fa-solid fa-chevron-up":"fa-solid fa-chevron-down"}))}))};
|
|
2
|
+
//# sourceMappingURL=codeBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeBlock.js","names":["HTMLElement","prototype","wrap","wrapper","this","parentNode","insertBefore","removeChild","appendChild","document","querySelectorAll","forEach","element","container","createElement","classList","add","insertAdjacentHTML","copyButton","querySelector","foldButton","addEventListener","code","map","line","innerText","join","navigator","clipboard","writeText","className","setTimeout","toggle","contains"],"sources":["0"],"mappings":"cAAqB,KACnBA,YAAYC,UAAUC,KAAO,SAAUC,GACrCC,KAAKC,WAAWC,aAAaH,EAASC,MACtCA,KAAKC,WAAWE,YAAYH,MAC5BD,EAAQK,YAAYJ,KACtB,EAEAK,SAASC,iBAAiB,oBAAoBC,SAASC,IACrD,MAAMC,EAAYJ,SAASK,cAAc,OACzCF,EAAQV,KAAKW,GACbA,EAAUE,UAAUC,IAAI,uBACxBH,EAAUI,mBACR,YACA,qEAEFJ,EAAUI,mBACR,YACA,2EAEF,MAAMC,EAAaL,EAAUM,cAAc,gBACrCC,EAAaP,EAAUM,cAAc,gBAC3CD,EAAWG,iBAAiB,SAAS,KACnC,MACMC,EADY,IAAIT,EAAUH,iBAAiB,gBAC1Ba,KAAKC,GAASA,EAAKC,YAAWC,KAAK,MAG1DC,UAAUC,UAAUC,UAAUP,GAG9BJ,EAAWC,cAAc,KAAKW,UAAY,sBAG1CC,YAAW,KACTb,EAAWC,cAAc,KAAKW,UAAY,oBAAoB,GAC7D,IAAK,IAEVV,EAAWC,iBAAiB,SAAS,KACnCR,EAAUE,UAAUiB,OAAO,UAC3BZ,EAAWD,cAAc,KAAKW,UAAYjB,EAAUE,UAAUkB,SAC5D,UAEE,yBACA,0BAA0B,GAC9B,GACF","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export default function imageViewer(){let e=!1,t=1,n=!1,r=!1,o=0,i=0,a=0,s=0,c=0;const d=document.querySelector(".image-viewer-container");if(!d)return void console.warn("Image viewer container not found. Exiting imageViewer function.");const l=d.querySelector("img");if(!l)return void console.warn("Target image not found in image viewer container. Exiting imageViewer function.");const showHandle=e=>{document.body.style.overflow=e?"hidden":"auto",e?d.classList.add("active"):d.classList.remove("active")};let m=0;const dragEndHandle=e=>{n&&e.stopPropagation(),n=!1,l.style.cursor="grab"};l.addEventListener("wheel",(e=>{e.preventDefault();const n=l.getBoundingClientRect(),r=e.clientX-n.left,o=e.clientY-n.top,i=r-n.width/2,a=o-n.height/2,d=t;t+=-.001*e.deltaY,t=Math.min(Math.max(.8,t),4),d<t?(s-=i*(t-d),c-=a*(t-d)):(s=0,c=0),l.style.transform=`translate(${s}px, ${c}px) scale(${t})`}),{passive:!1}),l.addEventListener("mousedown",(e=>{e.preventDefault(),n=!0,i=e.clientX,a=e.clientY,l.style.cursor="grabbing"}),{passive:!1}),l.addEventListener("mousemove",(e=>{if(n){const n=(new Date).getTime();if(n-m<100)return;m=n;const o=e.clientX-i,d=e.clientY-a;s+=o,c+=d,i=e.clientX,a=e.clientY,l.style.transform=`translate(${s}px, ${c}px) scale(${t})`,r=!0}}),{passive:!1}),l.addEventListener("mouseup",dragEndHandle,{passive:!1}),l.addEventListener("mouseleave",dragEndHandle,{passive:!1}),d.addEventListener("click",(n=>{r||(e=!1,showHandle(e),t=1,s=0,c=0,l.style.transform=`translate(${s}px, ${c}px) scale(${t})`),r=!1}));const u=document.querySelectorAll(".markdown-body img:not(.img-preloader-loaded), .masonry-item img:not(.img-preloader-loaded), #shuoshuo-content img:not(.img-preloader-loaded)"),g=[];u.forEach((e=>{g.push({element:e,getSrc:()=>e.dataset.originalSrc||e.src})}));const escapeKeyListener=n=>{"Escape"===n.key&&e&&(e=!1,showHandle(e),t=1,s=0,c=0,l.style.transform=`translate(${s}px, ${c}px) scale(${t})`,document.removeEventListener("keydown",escapeKeyListener))},observeNewImages=()=>{document.querySelectorAll(".markdown-body .img-preloader-loaded, .masonry-item .img-preloader-loaded, #shuoshuo-content .img-preloader-loaded").forEach((t=>{if(!g.some((e=>e.element===t))){const n=g.length;g.push({element:t,getSrc:()=>t.dataset.originalSrc||t.src}),t.addEventListener("click",(()=>{o=n,e=!0,showHandle(e),l.src=t.dataset.originalSrc||t.src,document.addEventListener("keydown",escapeKeyListener)}))}}))};if(g.length>0||document.querySelector(".img-preloader")){g.forEach(((t,n)=>{t.element.addEventListener("click",(()=>{o=n,e=!0,showHandle(e),l.src=t.getSrc(),document.addEventListener("keydown",escapeKeyListener)}))}));const handleArrowKeys=t=>{if(e){if("ArrowUp"===t.key||"ArrowLeft"===t.key)o=(o-1+g.length)%g.length;else{if("ArrowDown"!==t.key&&"ArrowRight"!==t.key)return;o=(o+1)%g.length}l.src=g[o].getSrc()}};document.addEventListener("keydown",handleArrowKeys);new MutationObserver(observeNewImages).observe(document.body,{childList:!0,subtree:!0}),setInterval(observeNewImages,1e3)}}
|
|
2
|
+
//# sourceMappingURL=imageViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageViewer.js","names":["imageViewer","isBigImage","scale","isMouseDown","dragged","currentImgIndex","lastMouseX","lastMouseY","translateX","translateY","maskDom","document","querySelector","console","warn","targetImg","showHandle","isShow","body","style","overflow","classList","add","remove","lastTime","dragEndHandle","event","stopPropagation","cursor","addEventListener","preventDefault","rect","getBoundingClientRect","offsetX","clientX","left","offsetY","clientY","top","dx","width","dy","height","oldScale","deltaY","Math","min","max","transform","passive","currentTime","Date","getTime","deltaX","imgDoms","querySelectorAll","allViewableElements","forEach","img","push","element","getSrc","dataset","originalSrc","src","escapeKeyListener","key","removeEventListener","observeNewImages","some","item","index","length","handleArrowKeys","MutationObserver","observe","childList","subtree","setInterval"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{main as e}from"../main.js";const t=".mermaid";export const ModeToggle={modeToggleButton_dom:null,iconDom:null,mermaidLightTheme:null,mermaidDarkTheme:null,async mermaidInit(e){window.mermaid&&(await new Promise(((e,i)=>{try{var o=document.querySelectorAll(t),a=o.length;o.forEach((t=>{null!=t.getAttribute("data-original-code")&&(t.removeAttribute("data-processed"),t.innerHTML=t.getAttribute("data-original-code")),0==--a&&e()}))}catch(e){i(e)}})),mermaid.initialize({theme:e}),mermaid.init({theme:e},document.querySelectorAll(t)))},enableLightMode(){document.body.classList.remove("dark-mode"),document.documentElement.classList.remove("dark"),document.body.classList.add("light-mode"),document.documentElement.classList.add("light"),this.iconDom.className="fa-regular fa-moon",e.styleStatus.isDark=!1,e.setStyleStatus(),this.mermaidInit(this.mermaidLightTheme),this.setGiscusTheme()},enableDarkMode(){document.body.classList.remove("light-mode"),document.documentElement.classList.remove("light"),document.body.classList.add("dark-mode"),document.documentElement.classList.add("dark"),this.iconDom.className="fa-regular fa-brightness",e.styleStatus.isDark=!0,e.setStyleStatus(),this.mermaidInit(this.mermaidDarkTheme),this.setGiscusTheme()},async setGiscusTheme(t){if(document.querySelector("#giscus-container")){let i=document.querySelector("iframe.giscus-frame");for(;!i;)await new Promise((e=>setTimeout(e,1e3))),i=document.querySelector("iframe.giscus-frame");for(;i.classList.contains("giscus-frame--loading");)await new Promise((e=>setTimeout(e,1e3)));t??=e.styleStatus.isDark?"dark":"light",i.contentWindow.postMessage({giscus:{setConfig:{theme:t}}},"https://giscus.app")}},isDarkPrefersColorScheme:()=>window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)"),initModeStatus(){const t=e.getStyleStatus();t?t.isDark?this.enableDarkMode():this.enableLightMode():this.isDarkPrefersColorScheme().matches?this.enableDarkMode():this.enableLightMode()},initModeToggleButton(){this.modeToggleButton_dom.addEventListener("click",(()=>{document.body.classList.contains("dark-mode")?this.enableLightMode():this.enableDarkMode()}))},initModeAutoTrigger(){this.isDarkPrefersColorScheme().addEventListener("change",(e=>{e.matches?this.enableDarkMode():this.enableLightMode()}))},async init(){this.modeToggleButton_dom=document.querySelector(".tool-dark-light-toggle"),this.iconDom=document.querySelector(".tool-dark-light-toggle i"),this.mermaidLightTheme=void 0!==theme.mermaid&&void 0!==theme.mermaid.style&&void 0!==theme.mermaid.style.light?theme.mermaid.style.light:"default",this.mermaidDarkTheme=void 0!==theme.mermaid&&void 0!==theme.mermaid.style&&void 0!==theme.mermaid.style.dark?theme.mermaid.style.dark:"dark",this.initModeStatus(),this.initModeToggleButton(),this.initModeAutoTrigger();try{await new Promise(((e,i)=>{try{var o=document.querySelectorAll(t),a=o.length;o.forEach((t=>{t.setAttribute("data-original-code",t.innerHTML),0==--a&&e()}))}catch(e){i(e)}})).catch(console.error)}catch(e){}}};export default function initModeToggle(){ModeToggle.init()}
|
|
2
|
+
//# sourceMappingURL=lightDarkSwitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightDarkSwitch.js","names":["main","elementCode","ModeToggle","modeToggleButton_dom","iconDom","mermaidLightTheme","mermaidDarkTheme","mermaidInit","theme","window","mermaid","Promise","resolve","reject","els","document","querySelectorAll","count","length","forEach","element","getAttribute","removeAttribute","innerHTML","error","initialize","init","enableLightMode","body","classList","remove","documentElement","add","this","className","styleStatus","isDark","setStyleStatus","setGiscusTheme","enableDarkMode","querySelector","giscusFrame","r","setTimeout","contains","contentWindow","postMessage","giscus","setConfig","isDarkPrefersColorScheme","matchMedia","initModeStatus","getStyleStatus","matches","initModeToggleButton","addEventListener","initModeAutoTrigger","e","style","light","dark","setAttribute","catch","console","initModeToggle"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export default function initLocalSearch(){let e=config.path;if(!e)return void console.warn("`hexo-generator-searchdb` plugin is not installed!");let t,n=!1,o=!0;0===e.length?e="search.xml":e.endsWith("json")&&(o=!1);const r=document.querySelector(".search-input"),l=document.getElementById("search-result"),getIndexByWord=(e,t,n)=>{let o=e.length;if(0===o)return[];let r=0,l=[],s=[];for(n||(t=t.toLowerCase(),e=e.toLowerCase());(l=t.indexOf(e,r))>-1;)s.push({position:l,word:e}),r=l+o;return s},mergeIntoSlice=(e,t,n,o)=>{let r=n[n.length-1],{position:l,word:s}=r,i=[],a=0;for(;l+s.length<=t&&0!==n.length;){s===o&&a++,i.push({position:l,length:s.length});const e=l+s.length;n.pop();for(let t=n.length-1;t>=0&&(r=n[t],l=r.position,s=r.word,!(e<=l));t--)n.pop()}return{hits:i,start:e,end:t,searchTextCount:a}},highlightKeyword=(e,t)=>{let n="",o=t.start;return t.hits.forEach((t=>{n+=e.substring(o,t.position);let r=t.position+t.length;n+=`<b class="search-keyword">${e.substring(t.position,r)}</b>`,o=r})),n+=e.substring(o,t.end),n},inputEventFunction=()=>{if(!n)return;let e=r.value.trim().toLowerCase(),o=e.split(/[-\s]+/);o.length>1&&o.push(e);let s=[];if(e.length>0&&t.forEach((({title:t,content:n,url:r})=>{let l=t.toLowerCase(),i=n.toLowerCase(),a=[],c=[],h=0;if(o.forEach((e=>{a=a.concat(getIndexByWord(e,l,!1)),c=c.concat(getIndexByWord(e,i,!1))})),a.length>0||c.length>0){let o=a.length+c.length;[a,c].forEach((e=>{e.sort(((e,t)=>t.position!==e.position?t.position-e.position:e.word.length-t.word.length))}));let l=[];if(0!==a.length){let n=mergeIntoSlice(0,t.length,a,e);h+=n.searchTextCountInSlice,l.push(n)}let i=[];for(;0!==c.length;){let t=c[c.length-1],{position:o,word:r}=t,l=o-20,s=o+80;l<0&&(l=0),s<o+r.length&&(s=o+r.length),s>n.length&&(s=n.length);let a=mergeIntoSlice(l,s,c,e);h+=a.searchTextCountInSlice,i.push(a)}i.sort(((e,t)=>e.searchTextCount!==t.searchTextCount?t.searchTextCount-e.searchTextCount:e.hits.length!==t.hits.length?t.hits.length-e.hits.length:e.start-t.start));let u=parseInt(theme.navbar.search.top_n_per_article?theme.navbar.search.top_n_per_article:1,10);u>=0&&(i=i.slice(0,u));let p="";0!==l.length?p+=`<li><a href="${r}" class="search-result-title">${highlightKeyword(t,l[0])}</a>`:p+=`<li><a href="${r}" class="search-result-title">${t}</a>`,i.forEach((e=>{p+=`<a href="${r}"><p class="search-result">${highlightKeyword(n,e)}...</p></a>`})),p+="</li>",s.push({item:p,id:s.length,hitCount:o,searchTextCount:h})}})),1===o.length&&""===o[0])l.innerHTML='<div id="no-result"><i class="fa-solid fa-magnifying-glass fa-5x"></i></div>';else if(0===s.length)l.innerHTML='<div id="no-result"><i class="fa-solid fa-box-open fa-5x"></i></div>';else{s.sort(((e,t)=>e.searchTextCount!==t.searchTextCount?t.searchTextCount-e.searchTextCount:e.hitCount!==t.hitCount?t.hitCount-e.hitCount:t.id-e.id));let e='<ul class="search-result-list">';s.forEach((t=>{e+=t.item})),e+="</ul>",l.innerHTML=e,window.pjax&&window.pjax.refresh(l)}},fetchData=()=>{fetch(config.root+e).then((e=>e.text())).then((e=>{n=!0,t=o?[...(new DOMParser).parseFromString(e,"text/xml").querySelectorAll("entry")].map((e=>({title:e.querySelector("title").textContent,content:e.querySelector("content").textContent,url:e.querySelector("url").textContent}))):JSON.parse(e),t=t.filter((e=>e.title)).map((e=>(e.title=e.title.trim(),e.content=e.content?e.content.trim().replace(/<[^>]+>/g,""):"",e.url=decodeURIComponent(e.url).replace(/\/{2,}/g,"/"),e)));const r=document.querySelector("#no-result");r&&(r.innerHTML='<i class="fa-solid fa-magnifying-glass fa-5x"></i>')}))};theme.navbar.search.preload&&fetchData(),r&&r.addEventListener("input",inputEventFunction),document.querySelectorAll(".search-popup-trigger").forEach((e=>{e.addEventListener("click",(()=>{document.body.style.overflow="hidden",document.querySelector(".search-pop-overlay").classList.add("active"),setTimeout((()=>r.focus()),500),n||fetchData()}))}));const onPopupClose=()=>{document.body.style.overflow="",document.querySelector(".search-pop-overlay").classList.remove("active")};document.querySelector(".search-pop-overlay").addEventListener("click",(e=>{e.target===document.querySelector(".search-pop-overlay")&&onPopupClose()})),document.querySelector(".search-input-field-pre").addEventListener("click",(()=>{r.value="",r.focus(),inputEventFunction()})),document.querySelector(".popup-btn-close").addEventListener("click",onPopupClose);try{swup.hooks.on("page:view",(e=>{onPopupClose()}))}catch(e){}window.addEventListener("keyup",(e=>{"Escape"===e.key&&onPopupClose()}))}
|
|
2
|
+
//# sourceMappingURL=localSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localSearch.js","names":["initLocalSearch","searchPath","config","path","console","warn","datas","isfetched","isXml","length","endsWith","searchInputDom","document","querySelector","resultContent","getElementById","getIndexByWord","word","text","caseSensitive","wordLen","startPosition","position","index","toLowerCase","indexOf","push","mergeIntoSlice","start","end","searchText","currentItem","hits","searchTextCountInSlice","wordEnd","pop","i","searchTextCount","highlightKeyword","slice","result","prevEnd","forEach","hit","substring","inputEventFunction","value","trim","keywords","split","resultItems","title","content","url","titleInLowerCase","contentInLowerCase","indexOfTitle","indexOfContent","keyword","concat","hitCount","sort","itemLeft","itemRight","slicesOfTitle","tmp","slicesOfContent","item","sliceLeft","sliceRight","upperBound","parseInt","theme","navbar","search","top_n_per_article","resultItem","id","innerHTML","resultLeft","resultRight","searchResultList","window","pjax","refresh","fetchData","fetch","root","then","response","res","DOMParser","parseFromString","querySelectorAll","map","element","textContent","JSON","parse","filter","data","replace","decodeURIComponent","noResultDom","preload","addEventListener","body","style","overflow","classList","add","setTimeout","focus","onPopupClose","remove","event","target","swup","hooks","on","visit","e","key"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const footerRuntime=()=>{const e=theme.footerStart;window.setTimeout(footerRuntime,1e3);const t=new Date(e),n=((new Date).getTime()-t.getTime())/864e5,o=Math.floor(n),m=24*(n-o),d=Math.floor(m),r=60*(m-d),i=Math.floor(60*(m-d)),u=Math.floor(60*(r-i)),a=document.getElementById("runtime_days"),s=document.getElementById("runtime_hours"),M=document.getElementById("runtime_minutes"),c=document.getElementById("runtime_seconds");a&&(a.innerHTML=o),s&&(s.innerHTML=d),M&&(M.innerHTML=i),c&&(c.innerHTML=u)};window.addEventListener("DOMContentLoaded",footerRuntime);
|
|
2
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","names":["footerRuntime","startTime","theme","footerStart","window","setTimeout","X","Date","a","getTime","A","Math","floor","b","B","c","C","D","runtime_days","document","getElementById","runtime_hours","runtime_minutes","runtime_seconds","innerHTML","addEventListener"],"sources":["0"],"mappings":"AAAA,MAAMA,cAAgB,KACpB,MAAMC,EAAYC,MAAMC,YACxBC,OAAOC,WAAWL,cAAe,KAEjC,MAAMM,EAAI,IAAIC,KAAKN,GAIbO,IAHI,IAAID,MACFE,UAAYH,EAAEG,WAChB,MAEJC,EAAIC,KAAKC,MAAMJ,GACfK,EAAc,IAATL,EAAIE,GACTI,EAAIH,KAAKC,MAAMC,GACfE,EAAc,IAATF,EAAIC,GACTE,EAAIL,KAAKC,MAAgB,IAATC,EAAIC,IACpBG,EAAIN,KAAKC,MAAgB,IAATG,EAAIC,IAEpBE,EAAeC,SAASC,eAAe,gBACvCC,EAAgBF,SAASC,eAAe,iBACxCE,EAAkBH,SAASC,eAAe,mBAC1CG,EAAkBJ,SAASC,eAAe,mBAE5CF,IAAcA,EAAaM,UAAYd,GACvCW,IAAeA,EAAcG,UAAYV,GACzCQ,IAAiBA,EAAgBE,UAAYR,GAC7CO,IAAiBA,EAAgBC,UAAYP,EAAC,EAGpDb,OAAOqB,iBAAiB,mBAAoBzB","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export default()=>{const o=document.querySelector(".tool-scroll-to-top"),t=document.querySelector(".tool-scroll-to-bottom"),backToTop=()=>{window.scrollTo({top:0,behavior:"smooth"})},backToBottom=()=>{const o=document.body.scrollHeight;window.scrollTo({top:o,behavior:"smooth"})};o.addEventListener("click",backToTop),t.addEventListener("click",backToBottom)};
|
|
2
|
+
//# sourceMappingURL=scrollTopBottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollTopBottom.js","names":["backToTopButton_dom","document","querySelector","backToBottomButton_dom","backToTop","window","scrollTo","top","behavior","backToBottom","docHeight","body","scrollHeight","addEventListener"],"sources":["0"],"mappings":"cAA4B,KAC1B,MAAMA,EAAsBC,SAASC,cAAc,uBAC7CC,EAAyBF,SAASC,cACtC,0BAGIE,UAAY,KAChBC,OAAOC,SAAS,CACdC,IAAK,EACLC,SAAU,UACV,EAGEC,aAAe,KACnB,MAAMC,EAAYT,SAASU,KAAKC,aAChCP,OAAOC,SAAS,CACdC,IAAKG,EACLF,SAAU,UACV,EAIFR,EAAoBa,iBAAiB,QAAST,WAI9CD,EAAuBU,iBAAiB,QAASJ,aAIjC","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{main as e}from"../main.js";export function initTocToggle(){const t={toggleBar:document.querySelector(".page-aside-toggle"),postPageContainerDom:document.querySelector(".post-page-container"),toggleBarIcon:document.querySelector(".page-aside-toggle i"),articleContentContainerDom:document.querySelector(".article-content-container"),mainContentDom:document.querySelector(".main-content"),isOpenPageAside:!1,initToggleBarButton(){this.toggleBar&&this.toggleBar.addEventListener("click",(()=>{this.isOpenPageAside=!this.isOpenPageAside,e.styleStatus.isOpenPageAside=this.isOpenPageAside,e.setStyleStatus(),this.changePageLayoutWhenOpenToggle(this.isOpenPageAside)}))},toggleClassName(e,t,o){e&&e.classList.toggle(t,o)},changePageLayoutWhenOpenToggle(e){this.toggleClassName(this.toggleBarIcon,"fas",e),this.toggleClassName(this.toggleBarIcon,"fa-indent",e),this.toggleClassName(this.toggleBarIcon,"fa-outdent",!e),this.toggleClassName(this.postPageContainerDom,"show-toc",e),this.toggleClassName(this.mainContentDom,"has-toc",e)},pageAsideHandleOfTOC(e){this.toggleBar.style.display="flex",this.isOpenPageAside=e,this.changePageLayoutWhenOpenToggle(e)}};return t.initToggleBarButton(),t}try{swup.hooks.on("page:view",(()=>{initTocToggle()}))}catch(t){}document.addEventListener("DOMContentLoaded",initTocToggle);
|
|
2
|
+
//# sourceMappingURL=tocToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tocToggle.js","names":["main","initTocToggle","TocToggle","toggleBar","document","querySelector","postPageContainerDom","toggleBarIcon","articleContentContainerDom","mainContentDom","isOpenPageAside","initToggleBarButton","this","addEventListener","styleStatus","setStyleStatus","changePageLayoutWhenOpenToggle","toggleClassName","element","className","condition","classList","toggle","isOpen","pageAsideHandleOfTOC","style","display","swup","hooks","on","e"],"sources":["0"],"mappings":"eAESA,MAAY,oBAEd,SAASC,gBACd,MAAMC,EAAY,CAChBC,UAAWC,SAASC,cAAc,sBAClCC,qBAAsBF,SAASC,cAAc,wBAC7CE,cAAeH,SAASC,cAAc,wBACtCG,2BAA4BJ,SAASC,cACnC,8BAEFI,eAAgBL,SAASC,cAAc,iBAEvCK,iBAAiB,EAEjB,mBAAAC,GACEC,KAAKT,WACHS,KAAKT,UAAUU,iBAAiB,SAAS,KACvCD,KAAKF,iBAAmBE,KAAKF,gBAC7BV,EAAKc,YAAYJ,gBAAkBE,KAAKF,gBACxCV,EAAKe,iBACLH,KAAKI,+BAA+BJ,KAAKF,gBAAgB,GAE/D,EAEA,eAAAO,CAAgBC,EAASC,EAAWC,GAC9BF,GACFA,EAAQG,UAAUC,OAAOH,EAAWC,EAExC,EACA,8BAAAJ,CAA+BO,GAC7BX,KAAKK,gBAAgBL,KAAKL,cAAe,MAAOgB,GAChDX,KAAKK,gBAAgBL,KAAKL,cAAe,YAAagB,GACtDX,KAAKK,gBAAgBL,KAAKL,cAAe,cAAegB,GACxDX,KAAKK,gBAAgBL,KAAKN,qBAAsB,WAAYiB,GAC5DX,KAAKK,gBAAgBL,KAAKH,eAAgB,UAAWc,EACvD,EAEA,oBAAAC,CAAqBD,GACnBX,KAAKT,UAAUsB,MAAMC,QAAU,OAC/Bd,KAAKF,gBAAkBa,EACvBX,KAAKI,+BAA+BO,EACtC,GAIF,OADArB,EAAUS,sBACHT,CACT,CAGA,IACEyB,KAAKC,MAAMC,GAAG,aAAa,KACzB5B,eAAe,GAEnB,CAAE,MAAO6B,GAAI,CAEb1B,SAASS,iBAAiB,mBAAoBZ","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{navbarShrink as e}from"./layouts/navbarShrink.js";import{initTOC as t}from"./layouts/toc.js";import{main as o}from"./main.js";import n from"./tools/imageViewer.js";export const navigationState={isNavigating:!1};export default function initUtils(){const i={html_root_dom:document.querySelector("html"),pageContainer_dom:document.querySelector(".page-container"),pageTop_dom:document.querySelector(".main-content-header"),homeBanner_dom:document.querySelector(".home-banner-container"),homeBannerBackground_dom:document.querySelector(".home-banner-background"),scrollProgressBar_dom:document.querySelector(".scroll-progress-bar"),pjaxProgressBar_dom:document.querySelector(".pjax-progress-bar"),backToTopButton_dom:document.querySelector(".tool-scroll-to-top"),toolsList:document.querySelector(".hidden-tools-list"),toggleButton:document.querySelector(".toggle-tools-list"),innerHeight:window.innerHeight,pjaxProgressBarTimer:null,prevScrollValue:0,fontSizeLevel:0,triggerViewHeight:.5*window.innerHeight,isHasScrollProgressBar:!0===theme.global.scroll_progress.bar,isHasScrollPercent:!0===theme.global.scroll_progress.percentage,updateScrollStyle(){const e=window.pageYOffset||document.documentElement.scrollTop,t=document.documentElement.scrollHeight,o=window.innerHeight||document.documentElement.clientHeight,n=this.calculatePercentage(e,t,o);this.updateScrollProgressBar(n),this.updateScrollPercent(n),this.updatePageTopVisibility(e,o),this.prevScrollValue=e},updateScrollProgressBar(e){if(this.isHasScrollProgressBar){const t=e.toFixed(3),o=0===e?"hidden":"visible";this.scrollProgressBar_dom.style.visibility=o,this.scrollProgressBar_dom.style.width=`${t}%`}},updateScrollPercent(e){if(this.isHasScrollPercent){const t=this.backToTopButton_dom.querySelector(".percent"),o=0!==e&&void 0!==e;this.backToTopButton_dom.classList.toggle("show",o),t.innerHTML=e.toFixed(0)}},updatePageTopVisibility(e,t){if(theme.navbar.auto_hide){const o=this.prevScrollValue,n=o>t&&e>o;this.pageTop_dom.classList.toggle("hide",n)}else this.pageTop_dom.classList.remove("hide")},calculatePercentage(e,t,o){let n=Math.round(e/(t-o)*100);return isNaN(n)||n<0||!isFinite(n)?n=0:n>100&&(n=100),n},registerWindowScroll(){window.addEventListener("scroll",(()=>{this.updateScrollStyle(),this.updateTOCScroll(),this.updateNavbarShrink(),this.updateAutoHideTools()})),window.addEventListener("scroll",this.debounce((()=>this.updateHomeBannerBlur()),20))},updateTOCScroll(){theme.articles.toc.enable&&t().hasOwnProperty("updateActiveTOCLink")&&t().updateActiveTOCLink()},updateNavbarShrink(){navigationState.isNavigating||e.init()},debounce(e,t){let o;return function(){clearTimeout(o),o=setTimeout((()=>e.apply(this,arguments)),t)}},updateHomeBannerBlur(){if(this.homeBannerBackground_dom&&"fixed"===theme.home_banner.style&&location.pathname===config.root){const e=(window.scrollY||window.pageYOffset)>=this.triggerViewHeight?15:0;try{requestAnimationFrame((()=>{this.homeBannerBackground_dom.style.filter=`blur(${e}px)`,this.homeBannerBackground_dom.style.webkitFilter=`blur(${e}px)`}))}catch(e){console.error("Error updating banner blur:",e)}}},updateAutoHideTools(){const e=window.scrollY,t=document.body.scrollHeight,o=window.innerHeight,n=document.getElementsByClassName("right-side-tools-container"),i=document.getElementById("aplayer");for(let r=0;r<n.length;r++){const s=n[r];e<=100?location.pathname===config.root&&(s.classList.add("hide"),null!==i&&i.classList.add("hide")):e+o>=t-20?(s.classList.add("hide"),null!==i&&i.classList.add("hide")):(s.classList.remove("hide"),null!==i&&i.classList.remove("hide"))}},toggleToolsList(){theme.global.side_tools&&theme.global.side_tools.auto_expand&&this.toolsList.classList.add("show"),this.toggleButton.addEventListener("click",(()=>{this.toolsList.classList.toggle("show")}))},fontAdjPlus_dom:document.querySelector(".tool-font-adjust-plus"),fontAdMinus_dom:document.querySelector(".tool-font-adjust-minus"),globalFontSizeAdjust(){const e=this.html_root_dom,t=this.fontAdjPlus_dom,n=this.fontAdMinus_dom,i=document.defaultView.getComputedStyle(document.body).fontSize,r=parseFloat(i);let s=0;const l=o.getStyleStatus();function setFontSize(t){const n=r*(1+.05*t);e.style.fontSize=`${n}px`,o.styleStatus.fontSizeLevel=t,o.setStyleStatus()}l&&(s=l.fontSizeLevel,setFontSize(s)),t.addEventListener("click",(function increaseFontSize(){s=Math.min(s+1,5),setFontSize(s)})),n.addEventListener("click",(function decreaseFontSize(){s=Math.max(s-1,0),setFontSize(s)}))},goComment(){this.goComment_dom=document.querySelector(".go-comment"),this.goComment_dom&&this.goComment_dom.addEventListener("click",(()=>{const e=document.querySelector("#comment-anchor");if(e){const t=e.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:t,behavior:"smooth"})}}))},getElementHeight(e){const t=document.querySelector(e);return t?t.getBoundingClientRect().height:0},inithomeBannerHeight(){this.homeBanner_dom&&(this.homeBanner_dom.style.height=this.innerHeight+"px")},initPageHeightHandle(){if(this.homeBanner_dom)return;const e=this.getElementHeight(".main-content-header")+this.getElementHeight(".main-content-body")+this.getElementHeight(".main-content-footer"),t=window.innerHeight,o=document.querySelector(".main-content-footer");if(e<t){const n=Math.floor(t-e);n>0&&(o.style.marginTop=n-2+"px")}},setHowLongAgoLanguage:(e,t)=>t.replace(/%s/g,e),getHowLongAgo(e){const t=lang_ago,o=Math.floor(e/2592e3/12),n=Math.floor(e/2592e3),i=Math.floor(e/86400/7),r=Math.floor(e/86400),s=Math.floor(e/3600%24),l=Math.floor(e/60%60),a=Math.floor(e%60);return o>0?this.setHowLongAgoLanguage(o,t.year):n>0?this.setHowLongAgoLanguage(n,t.month):i>0?this.setHowLongAgoLanguage(i,t.week):r>0?this.setHowLongAgoLanguage(r,t.day):s>0?this.setHowLongAgoLanguage(s,t.hour):l>0?this.setHowLongAgoLanguage(l,t.minute):a>0?this.setHowLongAgoLanguage(a,t.second):void 0},relativeTimeInHome(){const e=document.querySelectorAll(".home-article-meta-info .home-article-date"),t=theme.home.article_date_format;"relative"===t?e&&e.forEach((e=>{const t=Date.now(),o=new Date(e.dataset.date.split(" GMT")[0]).getTime();e.innerHTML=this.getHowLongAgo(Math.floor((t-o)/1e3))})):"auto"===t&&e&&e.forEach((e=>{const t=Date.now(),o=new Date(e.dataset.date.split(" GMT")[0]).getTime();Math.floor((t-o)/864e5)<7&&(e.innerHTML=this.getHowLongAgo(Math.floor((t-o)/1e3)))}))}};i.updateAutoHideTools(),i.registerWindowScroll(),i.toggleToolsList(),i.globalFontSizeAdjust(),i.goComment(),i.initPageHeightHandle(),i.inithomeBannerHeight(),i.relativeTimeInHome(),n()}
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["navbarShrink","initTOC","main","imageViewer","navigationState","isNavigating","initUtils","utils","html_root_dom","document","querySelector","pageContainer_dom","pageTop_dom","homeBanner_dom","homeBannerBackground_dom","scrollProgressBar_dom","pjaxProgressBar_dom","backToTopButton_dom","toolsList","toggleButton","innerHeight","window","pjaxProgressBarTimer","prevScrollValue","fontSizeLevel","triggerViewHeight","isHasScrollProgressBar","theme","global","scroll_progress","bar","isHasScrollPercent","percentage","updateScrollStyle","scrollTop","pageYOffset","documentElement","scrollHeight","clientHeight","percent","this","calculatePercentage","updateScrollProgressBar","updateScrollPercent","updatePageTopVisibility","progressPercent","toFixed","visibility","style","width","percentDom","showButton","undefined","classList","toggle","innerHTML","navbar","auto_hide","hidePageTop","remove","percentageValue","Math","round","isNaN","isFinite","registerWindowScroll","addEventListener","updateTOCScroll","updateNavbarShrink","updateAutoHideTools","debounce","updateHomeBannerBlur","articles","toc","enable","hasOwnProperty","updateActiveTOCLink","init","func","delay","timer","clearTimeout","setTimeout","apply","arguments","home_banner","location","pathname","config","root","blurValue","scrollY","requestAnimationFrame","filter","webkitFilter","e","console","error","y","height","body","windowHeight","toolList","getElementsByClassName","aplayer","getElementById","i","length","tools","add","toggleToolsList","side_tools","auto_expand","fontAdjPlus_dom","fontAdMinus_dom","globalFontSizeAdjust","htmlRoot","fontAdjustPlus","fontAdjustMinus","fontSize","defaultView","getComputedStyle","baseFontSize","parseFloat","styleStatus","getStyleStatus","setFontSize","level","setStyleStatus","increaseFontSize","min","decreaseFontSize","max","goComment","goComment_dom","target","offset","getBoundingClientRect","top","scrollTo","behavior","getElementHeight","selectors","dom","inithomeBannerHeight","initPageHeightHandle","allDomHeight","pb_dom","marginTopValue","floor","marginTop","setHowLongAgoLanguage","p1","p2","replace","getHowLongAgo","timestamp","l","lang_ago","__Y","__M","__W","__d","__h","__m","__s","year","month","week","day","hour","minute","second","relativeTimeInHome","post","querySelectorAll","df","home","article_date_format","forEach","v","nowDate","Date","now","postDate","dataset","date","split","getTime"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
const { minify } = require("terser");
|
|
2
|
+
const fs = require("fs/promises");
|
|
3
|
+
const path = require("path");
|
|
4
|
+
const glob = require("glob-promise");
|
|
5
|
+
|
|
6
|
+
const THEME_ROOT = path.join(__dirname, "../..");
|
|
7
|
+
const SOURCE_DIR = path.join(THEME_ROOT, "source/js");
|
|
8
|
+
const BUILD_DIR = path.join(THEME_ROOT, "source/js/build");
|
|
9
|
+
|
|
10
|
+
// Convert Windows paths to forward slashes for glob patterns
|
|
11
|
+
const toGlobPath = (p) => p.split(path.sep).join('/');
|
|
12
|
+
|
|
13
|
+
const IGNORE_PATTERNS = [
|
|
14
|
+
toGlobPath(path.join(SOURCE_DIR, "libs/**")),
|
|
15
|
+
toGlobPath(path.join(BUILD_DIR, "**")),
|
|
16
|
+
toGlobPath(path.join(SOURCE_DIR, "build.js")),
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
const minifyOptions = {
|
|
20
|
+
compress: {
|
|
21
|
+
dead_code: true,
|
|
22
|
+
drop_console: false,
|
|
23
|
+
drop_debugger: true,
|
|
24
|
+
keep_classnames: true,
|
|
25
|
+
keep_fnames: true,
|
|
26
|
+
},
|
|
27
|
+
mangle: {
|
|
28
|
+
keep_classnames: true,
|
|
29
|
+
keep_fnames: true,
|
|
30
|
+
},
|
|
31
|
+
format: {
|
|
32
|
+
comments: false,
|
|
33
|
+
},
|
|
34
|
+
module: true,
|
|
35
|
+
sourceMap: {
|
|
36
|
+
filename: "source-map",
|
|
37
|
+
url: "source-map.map",
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
async function ensureDirectoryExists(dir) {
|
|
42
|
+
try {
|
|
43
|
+
await fs.mkdir(dir, { recursive: true });
|
|
44
|
+
} catch (err) {
|
|
45
|
+
if (err.code !== "EEXIST") {
|
|
46
|
+
throw new Error(`Failed to create directory ${dir}: ${err.message}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function copyFile(source, destination) {
|
|
52
|
+
try {
|
|
53
|
+
const destinationDir = path.dirname(destination);
|
|
54
|
+
await ensureDirectoryExists(destinationDir);
|
|
55
|
+
await fs.copyFile(source, destination);
|
|
56
|
+
console.log(`✓ Copied ${source} -> ${destination}`);
|
|
57
|
+
} catch (err) {
|
|
58
|
+
console.error(`× Error copying ${source}:`, err);
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
async function processFile(file) {
|
|
64
|
+
try {
|
|
65
|
+
const code = await fs.readFile(file, "utf8");
|
|
66
|
+
const relativePath = path.relative(SOURCE_DIR, file);
|
|
67
|
+
const buildPath = path.join(BUILD_DIR, relativePath);
|
|
68
|
+
const buildDirPath = path.dirname(buildPath);
|
|
69
|
+
|
|
70
|
+
// Update source map options for this specific file
|
|
71
|
+
const fileSpecificOptions = {
|
|
72
|
+
...minifyOptions,
|
|
73
|
+
sourceMap: {
|
|
74
|
+
...minifyOptions.sourceMap,
|
|
75
|
+
filename: path.basename(file),
|
|
76
|
+
url: `${path.basename(file)}.map`,
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const minified = await minify(code, fileSpecificOptions);
|
|
81
|
+
|
|
82
|
+
await ensureDirectoryExists(buildDirPath);
|
|
83
|
+
|
|
84
|
+
// Write minified code
|
|
85
|
+
await fs.writeFile(buildPath, minified.code);
|
|
86
|
+
|
|
87
|
+
// Write source map if it exists
|
|
88
|
+
if (minified.map) {
|
|
89
|
+
await fs.writeFile(`${buildPath}.map`, minified.map);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
console.log(`✓ Minified ${file} -> ${buildPath}`);
|
|
93
|
+
} catch (err) {
|
|
94
|
+
console.error(`× Error processing ${file}:`, err);
|
|
95
|
+
throw err; // Re-throw to handle in the main function
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
async function minifyJS() {
|
|
100
|
+
try {
|
|
101
|
+
await ensureDirectoryExists(BUILD_DIR);
|
|
102
|
+
|
|
103
|
+
// Get lib files to copy
|
|
104
|
+
const libFiles = await glob(toGlobPath(`${SOURCE_DIR}/libs/**/*.js`));
|
|
105
|
+
|
|
106
|
+
// Get JS files to minify (excluding libs and other ignored patterns)
|
|
107
|
+
const files = await glob(toGlobPath(`${SOURCE_DIR}/**/*.js`), {
|
|
108
|
+
ignore: IGNORE_PATTERNS,
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
if (files.length === 0 && libFiles.length === 0) {
|
|
112
|
+
console.log("No JavaScript files found to process");
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
console.log(`Found ${files.length} files to minify and ${libFiles.length} lib files to copy...`);
|
|
117
|
+
|
|
118
|
+
// Copy lib files
|
|
119
|
+
for (const file of libFiles) {
|
|
120
|
+
const relativePath = path.relative(SOURCE_DIR, file);
|
|
121
|
+
const buildPath = path.join(BUILD_DIR, relativePath);
|
|
122
|
+
await copyFile(file, buildPath);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Process remaining files in parallel with a concurrency limit
|
|
126
|
+
const concurrencyLimit = 4; // Adjust based on your needs
|
|
127
|
+
const chunks = [];
|
|
128
|
+
|
|
129
|
+
for (let i = 0; i < files.length; i += concurrencyLimit) {
|
|
130
|
+
chunks.push(files.slice(i, i + concurrencyLimit));
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
for (const chunk of chunks) {
|
|
134
|
+
await Promise.all(chunk.map(processFile));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
console.log("\n✓ All files processed successfully!");
|
|
138
|
+
} catch (err) {
|
|
139
|
+
console.error("× Build failed:", err);
|
|
140
|
+
process.exit(1);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Run the build process
|
|
145
|
+
minifyJS().catch((err) => {
|
|
146
|
+
console.error("× Unhandled error:", err);
|
|
147
|
+
process.exit(1);
|
|
148
|
+
});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export default function initBookmarkNav() {
|
|
2
|
+
const navItems = document.querySelectorAll('.bookmark-nav-item');
|
|
3
|
+
const sections = document.querySelectorAll('section[id]');
|
|
4
|
+
|
|
5
|
+
if (!navItems.length || !sections.length) return;
|
|
6
|
+
|
|
7
|
+
// Throttle function
|
|
8
|
+
function throttle(func, limit) {
|
|
9
|
+
let inThrottle;
|
|
10
|
+
return function() {
|
|
11
|
+
const args = arguments;
|
|
12
|
+
const context = this;
|
|
13
|
+
if (!inThrottle) {
|
|
14
|
+
func.apply(context, args);
|
|
15
|
+
inThrottle = true;
|
|
16
|
+
setTimeout(() => inThrottle = false, limit);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function setActiveNavItem() {
|
|
22
|
+
const fromTop = window.scrollY + 100;
|
|
23
|
+
let currentSection = null;
|
|
24
|
+
|
|
25
|
+
sections.forEach(section => {
|
|
26
|
+
const sectionTop = section.offsetTop;
|
|
27
|
+
const sectionHeight = section.offsetHeight;
|
|
28
|
+
|
|
29
|
+
if (fromTop >= sectionTop && fromTop < sectionTop + sectionHeight) {
|
|
30
|
+
currentSection = section;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
navItems.forEach(item => {
|
|
35
|
+
item.classList.remove('bg-second-background-color');
|
|
36
|
+
if (currentSection && item.getAttribute('data-category') === currentSection.getAttribute('id')) {
|
|
37
|
+
item.classList.add('bg-second-background-color');
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// // Handle click events on nav items
|
|
43
|
+
// navItems.forEach(item => {
|
|
44
|
+
// item.addEventListener('click', (e) => {
|
|
45
|
+
// e.preventDefault();
|
|
46
|
+
// const targetId = item.getAttribute('data-category');
|
|
47
|
+
// const targetSection = document.getElementById(targetId);
|
|
48
|
+
// if (targetSection) {
|
|
49
|
+
// targetSection.scrollIntoView();
|
|
50
|
+
// }
|
|
51
|
+
// });
|
|
52
|
+
// });
|
|
53
|
+
|
|
54
|
+
// Throttle scroll handler to run at most every 100ms
|
|
55
|
+
window.addEventListener('scroll', throttle(setActiveNavItem, 100));
|
|
56
|
+
|
|
57
|
+
// Initial check
|
|
58
|
+
setActiveNavItem();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
try {
|
|
62
|
+
swup.hooks.on("page:view", initBookmarkNav);
|
|
63
|
+
} catch (e) {}
|
|
64
|
+
|
|
65
|
+
document.addEventListener("DOMContentLoaded", initBookmarkNav);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const toggleStyle = (element, style, firstValue, secondValue) => {
|
|
2
|
+
element.style[style] =
|
|
3
|
+
element.style[style] === firstValue ? secondValue : firstValue;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
const setupCategoryList = () => {
|
|
7
|
+
const parentElements = Array.from(
|
|
8
|
+
document.querySelectorAll(".all-category-list-item"),
|
|
9
|
+
).filter((item) =>
|
|
10
|
+
item.parentElement.classList.contains("all-category-list"),
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
parentElements.forEach((parentElement) => {
|
|
14
|
+
const childElements = parentElement.querySelectorAll(
|
|
15
|
+
".all-category-list-child",
|
|
16
|
+
);
|
|
17
|
+
childElements.forEach((childElement) => {
|
|
18
|
+
childElement.style.maxHeight = "0px";
|
|
19
|
+
childElement.style.marginTop = "0px";
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
parentElement.addEventListener("click", () => {
|
|
23
|
+
const clickedElementTopOffset = parentElement.offsetTop;
|
|
24
|
+
childElements.forEach((childElement) => {
|
|
25
|
+
toggleStyle(childElement, "maxHeight", "0px", "1000px");
|
|
26
|
+
toggleStyle(childElement, "marginTop", "0px", "15px");
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
parentElements.forEach((siblingElement) => {
|
|
30
|
+
if (
|
|
31
|
+
siblingElement.offsetTop === clickedElementTopOffset &&
|
|
32
|
+
siblingElement !== parentElement
|
|
33
|
+
) {
|
|
34
|
+
const siblingChildElements = siblingElement.querySelectorAll(
|
|
35
|
+
".all-category-list-child",
|
|
36
|
+
);
|
|
37
|
+
siblingChildElements.forEach((siblingChildElement) => {
|
|
38
|
+
toggleStyle(siblingChildElement, "maxHeight", "0px", "1000px");
|
|
39
|
+
toggleStyle(siblingChildElement, "marginTop", "0px", "15px");
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
try {
|
|
48
|
+
swup.hooks.on("page:view", setupCategoryList);
|
|
49
|
+
} catch (e) {
|
|
50
|
+
console.error(e);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
document.addEventListener("DOMContentLoaded", setupCategoryList);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Function to format the dates
|
|
2
|
+
function formatEssayDates() {
|
|
3
|
+
const dateElements = document.querySelectorAll(".essay-date");
|
|
4
|
+
|
|
5
|
+
if (!dateElements) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
dateElements.forEach(function (element) {
|
|
10
|
+
const rawDate = element.getAttribute("data-date");
|
|
11
|
+
const locale = config.language || "en";
|
|
12
|
+
|
|
13
|
+
const formattedDate = moment(rawDate).locale(locale).calendar();
|
|
14
|
+
element.textContent = formattedDate;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
try {
|
|
19
|
+
swup.hooks.on("page:view", formatEssayDates);
|
|
20
|
+
} catch (e) {
|
|
21
|
+
console.error(e);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Initial call for the first page load
|
|
25
|
+
document.addEventListener("DOMContentLoaded", formatEssayDates);
|