From 5839fd563fd318ed315e4d5a17533bce77549f67 Mon Sep 17 00:00:00 2001 From: an Date: Wed, 23 Aug 2023 19:54:49 +0800 Subject: [PATCH 01/27] Japanese translation --- languages/ja.yml | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 languages/ja.yml diff --git a/languages/ja.yml b/languages/ja.yml new file mode 100644 index 00000000..2d879b12 --- /dev/null +++ b/languages/ja.yml @@ -0,0 +1,89 @@ +# ---------------------------------------- +# 网站翻译 +# ---------------------------------------- +search: 検索... +toc: このページの目次 +prev: 前のページ +next: 次のページ +prev_posts: 前一篇 +next_posts: 次一篇 +page: "%d ページ" +recent_posts: 最新記事 +share: 分かち合う +powered_by: "%s で駆動する" +theme: テーマ +rss_feed: RSS Feed +category: 分類 +categories: 分類 +tag: タグ +tags: タグ +post: 記事 +posts: 記事 +tagcloud: タグクラウド +comment: コメント +comments: コメント +top: トップ +sticky: 屋根 + +# ---------------------------------------- +# 菜单翻译 +# ---------------------------------------- +home: トップページ +archive: ファイル +archives: ファイル +about: について +links: リンク +friends: フレンドシップリンク +friend: フレンドシップリンク +タイムライン: 時間軸 +shuoshuo: 話す + +# ---------------------------------------- +# 网站统计 +# ---------------------------------------- +site_uv: 訪問者数 +site_pv: 総アクセス数 +read-more: 全文を読む +wordcount: 字 +min2read: 分 +changelog: ログを更新 +status: 状態 + +# ---------------------------------------- +# 页脚 +# ---------------------------------------- +runtime: ブログが稼働する +days: 日 +hours: 時間 +ミニッツ: 分 +seconds: 秒 + +optimized_by: そしてEvanによって最適化される +ライツ: 著作権所有 + +# ---------------------------------------- +# 版权声明 +# ---------------------------------------- +copyright: + title: タイトル + author: 作者 + link: リンク + create_time: で作成されました + update_time: で更新されました + license_title: 著作権宣言 + license_content: "この文章は %s を使用して許可します。" + all_rights_reserved: "著作権所有 © %s、転載禁止です。" + public-domain: "この記事はパブリックドメインの著作物であて、転載、引用は自由。" + +ago: + second: "%s 秒前" + minute: "%s 分前" + hour: "%s 時間前" + day: "%s 日前" + week: "%s 週間前" + month: "%s 月前" + year: "%s 年前" + +create_time: 作成 +update_time: 更新 +expired: "この記事は %s 日前に最後に更新される" From a22b83110f1e7438bfd3a67c5e481f4bd66bd780 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sun, 27 Aug 2023 21:01:35 -0400 Subject: [PATCH 02/27] donation: add sponsor --- DONATION.md | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/DONATION.md b/DONATION.md index 109e8b2f..6436e487 100644 --- a/DONATION.md +++ b/DONATION.md @@ -43,26 +43,27 @@ Thank you! 按时间先后排序 / Sorted by chronological order -| 赞助时间 / Date | 赞助人 / Sponsor | 赞助金额 / Amount | 赞助方式 / Method | 网站 / Website | -|:---------------:|:----------------:|:----------------:|:----------------:|:--------------:| -| Mar 4 | [@username0occupied](https://github.com/username0occupied) | ¥6.66 | 微信红包 | - | -| Mar 4 | [@jkoor](https://github.com/jkoor) | ¥15.00 | 微信红包 | [https://jkor.site](https://jkor.site) | -| Mar 10 | **峰 | ¥20.14 | 支付宝 | - | -| Mar 17 | Summer.南方 | ¥1.68 | 微信赞赏码 | - | -| Mar 19 | 那个我依旧是从前的我😄 | ¥100.00 | 微信赞赏码 | - | -| Mar 31 | [@牧丰086](https://github.com/mufeng086) | ¥6.66 | 支付宝 | [https://mufeng086.top](https://mufeng086.top) | -| Apr 11 | 飞呀菲呀 | ¥6.66 | 微信赞赏码 | - | -| Apr 18 | 👺 | ¥6.66 | 微信赞赏码 | [https://liohi.github.io](https://liohi.github.io) | -| Apr 19 | [@yzsong06](https://github.com/yzsong06) | ¥3.00 | 微信赞赏码 | - | -| Apr 23 | **博 | ¥10.00 | 支付宝 | - | -| May 7 | JiaqiGemini | ¥14.99 | 微信赞赏码 | - | -| May 12 | [@Sevdawk](https://github.com/Sevdawk) | ¥8.88 | 微信赞赏码 | [https://sevdawk.github.io](https://sevdawk.github.io) | -| May 13 | 好名字 | ¥6.66 | 微信赞赏码 | - | -| May 24 | [@HuTa0kj](https://github.com/HuTa0kj) | ¥8.88 | 微信赞赏码 | [https://huta0kj.github.io](https://huta0kj.github.io) | -| Jun 5 | **杰 | ¥6.00 | 支付宝 | - | -| Jun 12 | Anonymous | ¥0.99 | 微信赞赏码 | - | -| Jun 22 | [@JuTemp](https://github.com/JuTemp) | ¥15.00 | 支付宝 | [https://jtp0415.top](https://jtp0415.top) | -| Jul 11 | 匿名 | ¥40.00 | 支付宝 | - | -| Jul 13 | [@825i](https://github.com/825i) | $20.00 | Paypal | [https://blog.xtu.icu/](https://blog.xtu.icu/) | -| Jul 14 | 点点 | ¥8.88 | 微信赞赏码 | - | -| Aug 1 | 风宇 | ¥14.99 | 微信赞赏码 | [https://krazyu.com](https://krazyu.com) | +| 赞助时间 / Date | 赞助人 / Sponsor | 赞助金额 / Amount | 赞助方式 / Method | 网站 / Website | +|:-----------:|:----------------------------------------------------------:|:-------------:|:----------------:|:------------------------------------------------------:| +| Mar 4 | [@username0occupied](https://github.com/username0occupied) | ¥6.66 | 微信红包 | - | +| Mar 4 | [@jkoor](https://github.com/jkoor) | ¥15.00 | 微信红包 | [https://jkor.site](https://jkor.site) | +| Mar 10 | **峰 | ¥20.14 | 支付宝 | - | +| Mar 17 | Summer.南方 | ¥1.68 | 微信赞赏码 | - | +| Mar 19 | 那个我依旧是从前的我😄 | ¥100.00 | 微信赞赏码 | - | +| Mar 31 | [@牧丰086](https://github.com/mufeng086) | ¥6.66 | 支付宝 | [https://mufeng086.top](https://mufeng086.top) | +| Apr 11 | 飞呀菲呀 | ¥6.66 | 微信赞赏码 | - | +| Apr 18 | 👺 | ¥6.66 | 微信赞赏码 | [https://liohi.github.io](https://liohi.github.io) | +| Apr 19 | [@yzsong06](https://github.com/yzsong06) | ¥3.00 | 微信赞赏码 | - | +| Apr 23 | **博 | ¥10.00 | 支付宝 | - | +| May 7 | JiaqiGemini | ¥14.99 | 微信赞赏码 | - | +| May 12 | [@Sevdawk](https://github.com/Sevdawk) | ¥8.88 | 微信赞赏码 | [https://sevdawk.github.io](https://sevdawk.github.io) | +| May 13 | 好名字 | ¥6.66 | 微信赞赏码 | - | +| May 24 | [@HuTa0kj](https://github.com/HuTa0kj) | ¥8.88 | 微信赞赏码 | [https://huta0kj.github.io](https://huta0kj.github.io) | +| Jun 5 | **杰 | ¥6.00 | 支付宝 | - | +| Jun 12 | Anonymous | ¥0.99 | 微信赞赏码 | - | +| Jun 22 | [@JuTemp](https://github.com/JuTemp) | ¥15.00 | 支付宝 | [https://jtp0415.top](https://jtp0415.top) | +| Jul 11 | 匿名 | ¥40.00 | 支付宝 | - | +| Jul 13 | [@825i](https://github.com/825i) | $20.00 | Paypal | [https://blog.xtu.icu/](https://blog.xtu.icu/) | +| Jul 14 | 点点 | ¥8.88 | 微信赞赏码 | - | +| Aug 1 | 风宇 | ¥14.99 | 微信赞赏码 | [https://krazyu.com](https://krazyu.com) | +| Aug 27 | 匿名 | ¥88.00 | 微信赞赏码 | - | From 262d06bedaceaf5e94a8458a0ddb8741070100e4 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sun, 27 Aug 2023 21:07:25 -0400 Subject: [PATCH 03/27] code: fix custom font #236 --- source/css/common/codeblock/highlight.styl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/css/common/codeblock/highlight.styl b/source/css/common/codeblock/highlight.styl index da81ad83..72acf93a 100755 --- a/source/css/common/codeblock/highlight.styl +++ b/source/css/common/codeblock/highlight.styl @@ -12,7 +12,7 @@ $code-block pre, code if (hexo-config('articles.code_block.font.enable') && hexo-config('articles.code_block.font.family')) - font-family hexo-config('articles.code_block.font.family'), 'Ubuntu Mono', Courier, monospace + font-family hexo-config('articles.code_block.font.family'), 'Ubuntu Mono', Courier, monospace !important else font-family 'Ubuntu Mono', Courier, monospace From c1055868421e1a3b2389479278afb56624940a61 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sun, 27 Aug 2023 21:22:08 -0400 Subject: [PATCH 04/27] navbar: fix icon mobile problem #230 --- source/js/layouts/navbarShrink.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/js/layouts/navbarShrink.js b/source/js/layouts/navbarShrink.js index 9768355c..bd3c438a 100755 --- a/source/js/layouts/navbarShrink.js +++ b/source/js/layouts/navbarShrink.js @@ -66,4 +66,10 @@ export const navbarShrink = { }, }; -navbarShrink.init(); +swup.hooks.on("page:view", () => { + navbarShrink.init(); +}); + +document.addEventListener("DOMContentLoaded", () => { + navbarShrink.init(); +}); From 420f5561da94b8eda827a282a89df08c005d73ab Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sun, 27 Aug 2023 21:28:21 -0400 Subject: [PATCH 05/27] navbar: fix mobile link clicking problem #231 --- layout/_partials/navbar.ejs | 2 +- source/js/layouts/navbarShrink.js | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/layout/_partials/navbar.ejs b/layout/_partials/navbar.ejs index 63d761d2..ac261a29 100755 --- a/layout/_partials/navbar.ejs +++ b/layout/_partials/navbar.ejs @@ -92,7 +92,7 @@ <% if (theme.navbar.links[i].submenus) { %> <% for (var submenu in theme.navbar.links[i].submenus){ %> -
  • +
  • <%= __(submenu.toLowerCase()).toUpperCase() %>
  • <% } %> diff --git a/source/js/layouts/navbarShrink.js b/source/js/layouts/navbarShrink.js index bd3c438a..6d87e867 100755 --- a/source/js/layouts/navbarShrink.js +++ b/source/js/layouts/navbarShrink.js @@ -38,11 +38,6 @@ export const navbarShrink = { ".navbar-drawer .drawer-navbar-list .drawer-navbar-item", ), ); - domList.push( - ...document.querySelectorAll( - ".navbar-drawer .drawer-navbar-list .dropdown-item", - ), - ); } domList.forEach((v) => { From 44c1006fb0e0c8995f923cbf75c21bf8da547a8d Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sun, 27 Aug 2023 21:45:33 -0400 Subject: [PATCH 06/27] shuoshuo: add avatar border #235 --- layout/_widgets/essays.ejs | 2 +- source/css/build/styles.css | 103 +++++++++++++++--------------------- 2 files changed, 44 insertions(+), 61 deletions(-) diff --git a/layout/_widgets/essays.ejs b/layout/_widgets/essays.ejs index 143b473d..4a1e7e10 100644 --- a/layout/_widgets/essays.ejs +++ b/layout/_widgets/essays.ejs @@ -8,7 +8,7 @@ %> <% for (const e of newessays) { %>
  • -
    <%- image_tag(theme.defaults.avatar, {class: "w-full h-full"}) %>
    +
    <%- image_tag(theme.defaults.avatar, {class: "w-full h-full rounded-[6.2px]"}) %>
    <%- moment(e.date).locale(config.language).calendar() %>
    <%- markdown(e.content) %>
    diff --git a/source/css/build/styles.css b/source/css/build/styles.css index 69856301..704a7934 100644 --- a/source/css/build/styles.css +++ b/source/css/build/styles.css @@ -592,6 +592,10 @@ video { position: sticky; } +.left-0 { + left: 0px; +} + .left-\[48\.5px\] { left: 48.5px; } @@ -600,6 +604,10 @@ video { right: 12px; } +.top-0 { + top: 0px; +} + .top-3 { top: 0.75rem; } @@ -612,14 +620,6 @@ video { top: 2px; } -.left-0 { - left: 0px; -} - -.top-0 { - top: 0px; -} - .z-1 { z-index: 1001; } @@ -837,10 +837,6 @@ video { gap: 1.5rem; } -.gap-3 { - gap: 0.75rem; -} - .overflow-hidden { overflow: hidden; } @@ -851,6 +847,14 @@ video { white-space: nowrap; } +.rounded-3xl { + border-radius: 1.5rem; +} + +.rounded-\[6\.2px\] { + border-radius: 6.2px; +} + .rounded-lg { border-radius: 0.5rem; } @@ -863,14 +867,6 @@ video { border-radius: 0.75rem; } -.rounded-full { - border-radius: 50%; -} - -.rounded-3xl { - border-radius: 1.5rem; -} - .rounded-l-lg { border-top-left-radius: 0.5rem; border-bottom-left-radius: 0.5rem; @@ -926,6 +922,10 @@ video { border-top-color: var(--border-color); } +.bg-background-color { + background-color: var(--background-color); +} + .bg-background-color-transparent-15 { background-color: var(--background-color-transparent-15); } @@ -939,10 +939,6 @@ video { background-color: rgb(250 250 250 / var(--tw-bg-opacity)); } -.bg-background-color { - background-color: var(--background-color); -} - .object-cover { -o-object-fit: cover; object-fit: cover; @@ -956,16 +952,35 @@ video { padding: 1.25rem; } +.p-\[1px\] { + padding: 1px; +} + .px-4 { padding-left: 1rem; padding-right: 1rem; } +.px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} + .px-\[10px\] { padding-left: 10px; padding-right: 10px; } +.py-0 { + padding-top: 0px; + padding-bottom: 0px; +} + +.py-0\.5 { + padding-top: 0.125rem; + padding-bottom: 0.125rem; +} + .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; @@ -996,26 +1011,6 @@ video { padding-bottom: 2px; } -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.py-0 { - padding-top: 0px; - padding-bottom: 0px; -} - -.py-0\.5 { - padding-top: 0.125rem; - padding-bottom: 0.125rem; -} - -.px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; -} - .text-center { text-align: center; } @@ -1089,10 +1084,6 @@ video { color: var(--third-text-color); } -.underline-offset-1 { - text-underline-offset: 1px; -} - .shadow { --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); @@ -1155,18 +1146,14 @@ video { border-width: 1px; } -.hover\:text-first-text-color:hover { - color: var(--first-text-color); -} - -.hover\:text-primary:hover { - color: var(--primary-color); -} - .hover\:\!text-primary:hover { color: var(--primary-color) !important; } +.hover\:text-first-text-color:hover { + color: var(--first-text-color); +} + .hover\:underline:hover { text-decoration-line: underline; } @@ -1181,10 +1168,6 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.active\:border:active { - border-width: 1px; -} - .active\:\!text-primary:active { color: var(--primary-color) !important; } From 27161f161d495db752a2a1d425c9f126f55f6512 Mon Sep 17 00:00:00 2001 From: krazyu <59012240+Krazyu@users.noreply.github.com> Date: Sun, 3 Sep 2023 11:30:38 +0800 Subject: [PATCH 07/27] note: Fix line break problem --- source/css/layout/_modules/notes.styl | 1 + 1 file changed, 1 insertion(+) diff --git a/source/css/layout/_modules/notes.styl b/source/css/layout/_modules/notes.styl index f6f4af8f..ce7eb462 100644 --- a/source/css/layout/_modules/notes.styl +++ b/source/css/layout/_modules/notes.styl @@ -83,6 +83,7 @@ p display inline-block margin 0 + max-width 100% .note-icon font-size 1rem From 0dd4d0c3e6017c523a39a8f36a00f14064261301 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Tue, 5 Sep 2023 20:24:34 -0400 Subject: [PATCH 08/27] donation: add sponsor --- DONATION.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATION.md b/DONATION.md index 6436e487..07083424 100644 --- a/DONATION.md +++ b/DONATION.md @@ -67,3 +67,4 @@ Thank you! | Jul 14 | 点点 | ¥8.88 | 微信赞赏码 | - | | Aug 1 | 风宇 | ¥14.99 | 微信赞赏码 | [https://krazyu.com](https://krazyu.com) | | Aug 27 | 匿名 | ¥88.00 | 微信赞赏码 | - | +| Sep 03 | Locam | ¥30.00 | 支付宝 | [https://locam-cyj.github.io](https://locam-cyj.github.io) | \ No newline at end of file From 977d682830ea67a61f9bb54a9128ec6c8fd40de6 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Tue, 5 Sep 2023 20:26:45 -0400 Subject: [PATCH 09/27] donation: add sponsor --- DONATION.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DONATION.md b/DONATION.md index 07083424..15e51db5 100644 --- a/DONATION.md +++ b/DONATION.md @@ -67,4 +67,6 @@ Thank you! | Jul 14 | 点点 | ¥8.88 | 微信赞赏码 | - | | Aug 1 | 风宇 | ¥14.99 | 微信赞赏码 | [https://krazyu.com](https://krazyu.com) | | Aug 27 | 匿名 | ¥88.00 | 微信赞赏码 | - | -| Sep 03 | Locam | ¥30.00 | 支付宝 | [https://locam-cyj.github.io](https://locam-cyj.github.io) | \ No newline at end of file +| Sep 03 | Locam | ¥30.00 | 支付宝 | [https://locam-cyj.github.io](https://locam-cyj.github.io) | +| Sep 03 | 夜鹿 | ¥6.66 | 微信赞赏码 | - | +| Sep 04 | 匿名 | ¥10.00 | 微信赞赏码 | - | \ No newline at end of file From 7f08af8a7d557e9b350a5c567c8b6da484c894ec Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Tue, 5 Sep 2023 20:31:43 -0400 Subject: [PATCH 10/27] donation: add sponsor --- DONATION.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATION.md b/DONATION.md index 15e51db5..9df2b852 100644 --- a/DONATION.md +++ b/DONATION.md @@ -69,4 +69,5 @@ Thank you! | Aug 27 | 匿名 | ¥88.00 | 微信赞赏码 | - | | Sep 03 | Locam | ¥30.00 | 支付宝 | [https://locam-cyj.github.io](https://locam-cyj.github.io) | | Sep 03 | 夜鹿 | ¥6.66 | 微信赞赏码 | - | +| Sep 03 | **辉 | ¥6.66 | 支付宝 | - | | Sep 04 | 匿名 | ¥10.00 | 微信赞赏码 | - | \ No newline at end of file From fb3d1f5d381ed9b88dc6e2806b9dc19821e36792 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sun, 17 Sep 2023 12:20:06 -0400 Subject: [PATCH 11/27] cdn: add cdnjs, staticfile, bootcdn --- _config.yml | 2 +- layout/_partials/head.ejs | 27 +++++++++-------- package.json | 4 +-- scripts/helpers/themeHelpers.js | 39 +++++++++++++++++++++++-- source/{css => assets}/build/styles.css | 0 5 files changed, 54 insertions(+), 18 deletions(-) rename source/{css => assets}/build/styles.css (100%) diff --git a/_config.yml b/_config.yml index 601e8bb0..cb779809 100755 --- a/_config.yml +++ b/_config.yml @@ -401,7 +401,7 @@ cdn: # Whether to enable CDN enable: false # CDN Provider - provider: jsdelivr # jsdelivr, unpkg, aliyun, custom + provider: staticfile # staticfile, bootcdn, cdnjs, jsdelivr, unpkg, custom # Custom CDN URL # format example: https://cdn.custom.com/hexo-theme-redefine/${version}/source/${path} # The ${path} must be in the source folder of the theme diff --git a/layout/_partials/head.ejs b/layout/_partials/head.ejs index 42c319d1..6e676363 100755 --- a/layout/_partials/head.ejs +++ b/layout/_partials/head.ejs @@ -9,16 +9,19 @@ - - <% if (theme.cdn.enable == true) { %> - <% if (theme.cdn.provider == 'jsdelivr') { %> - - <% } else if (theme.cdn.provider == 'unpkg') { %> - - <% } else if (theme.cdn.provider == 'personal') { %> - - <% } else { %> - + + <% if (theme.cdn.enable) { %> + <% const provider = theme.cdn.provider; %> + <% const cdnLinks = { + 'jsdelivr': 'https://cdn.jsdelivr.net', + 'unpkg': 'https://unpkg.com', + 'personal': 'https://evan.beee.top', + 'cdnjs': 'https://cdnjs.cloudflare.com', + 'bootcdn': 'https://cdn.bootcdn.net', + 'staticfile': 'https://cdn.staticfile.org' + }; %> + <% if (cdnLinks[provider]) { %> + <% } %> <% } %> @@ -73,9 +76,9 @@ <%- css('css/style') %> <% if (theme.developer && theme.developer.enable) {%> - <%- css('css/build/styles.css') %> + <%- css('assets/build/styles.css') %> <% } else {%> - <%- renderCSS('css/build/styles.css') %> + <%- renderCSS('assets/build/styles.css') %> <% } %> <%- renderCSS('fonts/fonts.css') %> diff --git a/package.json b/package.json index 53b529ef..b7dcab3c 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ "lint:style": "stylelint --fix ./source/css", "git:push": "git push --tag && git push -u origin dev", "git:add": "npm run lint:style && git add .", - "build:css": "tailwindcss build -i source/css/style.styl -o source/css/build/styles.css", - "watch:css": "tailwindcss build -i source/css/style.styl -o source/css/build/styles.css --watch" + "build:css": "tailwindcss build -i source/css/style.styl -o source/assets/build/styles.css", + "watch:css": "tailwindcss build -i source/css/style.styl -o source/assets/build/styles.css --watch" }, "repository": { "type": "git", diff --git a/scripts/helpers/themeHelpers.js b/scripts/helpers/themeHelpers.js index 4069660c..c0192857 100755 --- a/scripts/helpers/themeHelpers.js +++ b/scripts/helpers/themeHelpers.js @@ -91,6 +91,9 @@ hexo.extend.helper.register("getPostUrl", function (rootUrl, path) { hexo.extend.helper.register("renderJS", function (path) { const _js = hexo.extend.helper.get("js").bind(hexo); const cdnProviders = { + staticfile: "https://cdn.staticfile.org", + bootcdn: "https://cdn.bootcdn.net/ajax/libs", + cdnjs: "https://cdnjs.cloudflare.com/ajax/libs", unpkg: "https://unpkg.com", jsdelivr: "https://cdn.jsdelivr.net/npm", aliyun: "https://evan.beee.top/projects", @@ -99,7 +102,7 @@ hexo.extend.helper.register("renderJS", function (path) { const cdnPathHandle = (path) => { const cdnBase = - cdnProviders[this.theme.cdn.provider] || cdnProviders.aliyun; + cdnProviders[this.theme.cdn.provider] || cdnProviders.staticfile; if (this.theme.cdn.provider === "custom") { const customUrl = cdnBase .replace("${version}", themeVersion) @@ -107,6 +110,14 @@ hexo.extend.helper.register("renderJS", function (path) { return this.theme.cdn.enable ? `` : _js(path); + } else if ( + this.theme.cdn.provider === "staticfile" || + this.theme.cdn.provider === "bootcdn" || + this.theme.cdn.provider === "cdnjs" + ) { + return this.theme.cdn.enable + ? `` + : _js(path); } else { return this.theme.cdn.enable ? `` @@ -130,6 +141,9 @@ hexo.extend.helper.register("renderJS", function (path) { hexo.extend.helper.register("renderModuleJS", function (path) { const _js = hexo.extend.helper.get("js").bind(hexo); const cdnProviders = { + staticfile: "https://cdn.staticfile.org", + bootcdn: "https://cdn.bootcdn.net/ajax/libs", + cdnjs: "https://cdnjs.cloudflare.com/ajax/libs", unpkg: "https://unpkg.com", jsdelivr: "https://cdn.jsdelivr.net/npm", aliyun: "https://evan.beee.top/projects", @@ -138,7 +152,7 @@ hexo.extend.helper.register("renderModuleJS", function (path) { const cdnPathHandle = (path) => { const cdnBase = - cdnProviders[this.theme.cdn.provider] || cdnProviders.aliyun; + cdnProviders[this.theme.cdn.provider] || cdnProviders.staticfile; if (this.theme.cdn.provider === "custom") { const customUrl = cdnBase .replace("${version}", themeVersion) @@ -146,6 +160,14 @@ hexo.extend.helper.register("renderModuleJS", function (path) { return this.theme.cdn.enable ? `` : _js({ src: path, type: "module" }); + } else if ( + this.theme.cdn.provider === "staticfile" || + this.theme.cdn.provider === "bootcdn" || + this.theme.cdn.provider === "cdnjs" + ) { + return this.theme.cdn.enable + ? `` + : _js({ src: path, type: "module" }); } else { return this.theme.cdn.enable ? `` @@ -169,6 +191,9 @@ hexo.extend.helper.register("renderModuleJS", function (path) { hexo.extend.helper.register("renderCSS", function (path) { const _css = hexo.extend.helper.get("css").bind(hexo); const cdnProviders = { + staticfile: "//cdn.staticfile.org", + bootcdn: "//cdn.bootcdn.net/ajax/libs", + cdnjs: "//cdnjs.cloudflare.com/ajax/libs", unpkg: "//unpkg.com", jsdelivr: "//cdn.jsdelivr.net/npm", aliyun: "//evan.beee.top/projects", @@ -177,7 +202,7 @@ hexo.extend.helper.register("renderCSS", function (path) { const cdnPathHandle = (path) => { const cdnBase = - cdnProviders[this.theme.cdn.provider] || cdnProviders.aliyun; + cdnProviders[this.theme.cdn.provider] || cdnProviders.staticfile; if (this.theme.cdn.provider === "custom") { const customUrl = cdnBase .replace("${version}", themeVersion) @@ -185,6 +210,14 @@ hexo.extend.helper.register("renderCSS", function (path) { return this.theme.cdn.enable ? `` : _css(path); + } else if ( + this.theme.cdn.provider === "staticfile" || + this.theme.cdn.provider === "bootcdn" || + this.theme.cdn.provider === "cdnjs" + ) { + return this.theme.cdn.enable + ? `` + : _css(path); } else { return this.theme.cdn.enable ? `` diff --git a/source/css/build/styles.css b/source/assets/build/styles.css similarity index 100% rename from source/css/build/styles.css rename to source/assets/build/styles.css From 12ce1fec257bb880f5526dfeec274a0e836a78a4 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Fri, 22 Sep 2023 18:06:36 -0400 Subject: [PATCH 12/27] toc: js refactor to es6 --- layout/_partials/home-sidebar.ejs | 8 ++++---- package-lock.json | 4 ++-- source/assets/build/styles.css | 15 +++++++++++++++ source/css/layout/home-sidebar.styl | 11 +---------- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/layout/_partials/home-sidebar.ejs b/layout/_partials/home-sidebar.ejs index 6b7efa72..d5b5537f 100644 --- a/layout/_partials/home-sidebar.ejs +++ b/layout/_partials/home-sidebar.ejs @@ -1,11 +1,11 @@
    -
    - <% if (theme.home.sidebar.first_item == "info") { %> +
    + <% if (theme.home.sidebar.first_item === "info") { %>
  • -
  • - -
  • -
  • diff --git a/layout/article-content.ejs b/layout/article-content.ejs index b2ef9aee..2555a5d3 100755 --- a/layout/article-content.ejs +++ b/layout/article-content.ejs @@ -73,7 +73,9 @@ document.addEventListener("DOMContentLoaded", function () { updateExpirationDate(); }); - swup.hooks.on("page:view",updateExpirationDate) + try { + swup.hooks.on("page:view",updateExpirationDate) + } catch (e){} <% } %> diff --git a/scripts/filters/encrypt.js b/scripts/filters/encrypt.js index f17017ce..680ea4b1 100755 --- a/scripts/filters/encrypt.js +++ b/scripts/filters/encrypt.js @@ -1,4 +1,4 @@ -/* global hexo, __dirname */ +/* main hexo, __dirname */ "use strict"; diff --git a/scripts/filters/linkHandle.js b/scripts/filters/linkHandle.js index 4dfe8481..bfef248b 100755 --- a/scripts/filters/linkHandle.js +++ b/scripts/filters/linkHandle.js @@ -1,4 +1,4 @@ -/* global hexo */ +/* main hexo */ "use strict"; @@ -35,8 +35,8 @@ hexo.extend.filter.register( } else { return `${html} `; } - } + }, ); }, - 0 + 0, ); diff --git a/scripts/helpers/configExport.js b/scripts/helpers/configExport.js index 98ec444e..91eb1aa4 100755 --- a/scripts/helpers/configExport.js +++ b/scripts/helpers/configExport.js @@ -1,21 +1,21 @@ -/* global hexo */ +/* main hexo */ -'use strict'; +"use strict"; -const url = require('url'); -const fs = require('fs'); -const path = require('path'); -const yaml = require('js-yaml'); -const { version } = require('../../package.json'); +const url = require("url"); +const fs = require("fs"); +const path = require("path"); +const yaml = require("js-yaml"); +const { version } = require("../../package.json"); /** * Export theme config to js */ -hexo.extend.helper.register('export_config', function () { +hexo.extend.helper.register("export_config", function () { let hexo_config = { hostname: new URL(this.config.url).hostname || this.config.url, root: this.config.root, - language: this.config.language + language: this.config.language, }; if (this.config.search) { @@ -35,12 +35,14 @@ hexo.extend.helper.register('export_config', function () { home: this.theme.home, footerStart: this.theme.footer.start, - } + }; - const languageDir = path.join(__dirname, '../../languages'); - let file = fs.readdirSync(languageDir).find(v => v === `${this.config.language}.yml`); - file = languageDir + '/' + (file ? file : 'en.yml'); - let languageContent = fs.readFileSync(file, 'utf8'); + const languageDir = path.join(__dirname, "../../languages"); + let file = fs + .readdirSync(languageDir) + .find((v) => v === `${this.config.language}.yml`); + file = languageDir + "/" + (file ? file : "en.yml"); + let languageContent = fs.readFileSync(file, "utf8"); try { languageContent = yaml.load(languageContent); } catch (e) { @@ -48,18 +50,18 @@ hexo.extend.helper.register('export_config', function () { } let data_config = { - masonry: false - } + masonry: false, + }; - if (this.theme.masonry){ + if (this.theme.masonry) { data_config.masonry = true; - } + } return ``; }); diff --git a/scripts/helpers/themeHelpers.js b/scripts/helpers/themeHelpers.js index c0192857..01d2447a 100755 --- a/scripts/helpers/themeHelpers.js +++ b/scripts/helpers/themeHelpers.js @@ -1,4 +1,4 @@ -/* global hexo */ +/* main hexo */ "use strict"; diff --git a/source/assets/build/styles.css b/source/assets/build/styles.css index 01a93a0c..a97889cc 100644 --- a/source/assets/build/styles.css +++ b/source/assets/build/styles.css @@ -632,6 +632,11 @@ video { margin: 0.25rem; } +.mx-0 { + margin-left: 0px; + margin-right: 0px; +} + .my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; @@ -652,11 +657,6 @@ video { margin-bottom: 0.625rem; } -.mx-0 { - margin-left: 0px; - margin-right: 0px; -} - .mb-3 { margin-bottom: 0.75rem; } @@ -793,6 +793,10 @@ video { max-width: none; } +.shrink { + flex-shrink: 1; +} + .-rotate-45 { --tw-rotate: -45deg; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); diff --git a/source/css/layout/_partials/navbar.styl b/source/css/layout/_partials/navbar.styl index 4a7a21e7..02c4ddfd 100755 --- a/source/css/layout/_partials/navbar.styl +++ b/source/css/layout/_partials/navbar.styl @@ -33,9 +33,10 @@ $logo-image-box-width = 46px justify-content space-between align-items center z-index $z-index-5 + transition max-width 0.3s ease &.has-home-banner - max-width: $content-max-width * 1.2 + max-width $content-max-width * 1.2 +redefine-tablet() width $main-content-width-tablet @@ -46,6 +47,7 @@ $logo-image-box-width = 46px .left display flex align-items center + transform-origin left transition-t('transform', '0', '0.2', 'linear') .navbar-shrink & diff --git a/source/css/layout/page.styl b/source/css/layout/page.styl index 43e08a21..a1a224a5 100755 --- a/source/css/layout/page.styl +++ b/source/css/layout/page.styl @@ -13,9 +13,11 @@ .main-content-container padding-top $navbar-height position relative + transition padding 0.2s ease .navbar-shrink & padding-top $navbar-shrink-height + transition padding 0.2s ease +redefine-tablet() padding-top: ($navbar-shrink-height * 0.9) diff --git a/source/js/layouts/lazyload.js b/source/js/layouts/lazyload.js index 669c3f35..26359d0d 100755 --- a/source/js/layouts/lazyload.js +++ b/source/js/layouts/lazyload.js @@ -1,24 +1,22 @@ -Global.initLazyLoad = () => { - const imgs = document.querySelectorAll('img'); +export default function initLazyLoad() { + const imgs = document.querySelectorAll("img"); const options = { - rootMargin: '0px', - threshold: 0.1 + rootMargin: "0px", + threshold: 0.1, }; const observer = new IntersectionObserver((entries, observer) => { - entries.forEach(entry => { + entries.forEach((entry) => { if (entry.isIntersecting) { const img = entry.target; - const src = img.getAttribute('data-src'); - img.src = src; - img.removeAttribute('lazyload'); + img.src = img.getAttribute("data-src"); + img.removeAttribute("lazyload"); observer.unobserve(img); } }); }, options); - imgs.forEach(img => { - if (img.hasAttribute('lazyload')) { + imgs.forEach((img) => { + if (img.hasAttribute("lazyload")) { observer.observe(img); } }); -}; - +} diff --git a/source/js/layouts/navbarShrink.js b/source/js/layouts/navbarShrink.js index 6d87e867..52e38fd4 100755 --- a/source/js/layouts/navbarShrink.js +++ b/source/js/layouts/navbarShrink.js @@ -1,3 +1,5 @@ +import { navigationState } from "../utils.js"; + export const navbarShrink = { navbarDom: document.querySelector(".navbar-container"), leftAsideDom: document.querySelector(".page-aside"), @@ -6,14 +8,14 @@ export const navbarShrink = { init() { this.navbarHeight = this.navbarDom.getBoundingClientRect().height; - this.navbarShrink(); + this.shrink(); this.togglenavbarDrawerShow(); window.addEventListener("scroll", () => { - this.navbarShrink(); + this.shrink(); }); }, - navbarShrink() { + shrink() { const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; @@ -63,6 +65,13 @@ export const navbarShrink = { swup.hooks.on("page:view", () => { navbarShrink.init(); + navigationState.isNavigating = false; +}); + +swup.hooks.on("visit:start", () => { + navigationState.isNavigating = true; + document.body.classList.remove("navbar-shrink"); + // navbarShrink.init(); }); document.addEventListener("DOMContentLoaded", () => { diff --git a/source/js/layouts/toc.js b/source/js/layouts/toc.js index 83300612..d09b51c9 100755 --- a/source/js/layouts/toc.js +++ b/source/js/layouts/toc.js @@ -1,101 +1,99 @@ -/* global function */ +/* main function */ -function initTOC() { - Global.utils.navItems = document.querySelectorAll( - ".post-toc-wrap .post-toc li", - ); +import { initTocToggle } from "../tools/tocToggle.js"; +import { main } from "../main.js"; +export function initTOC() { + const utils = { + navItems: document.querySelectorAll(".post-toc-wrap .post-toc li"), - if (Global.utils.navItems.length > 0) { - Global.utils = { - ...Global.utils, - - updateActiveTOCLink() { - if (!Array.isArray(Global.utils.sections)) return; - let index = Global.utils.sections.findIndex((element) => { - return element && element.getBoundingClientRect().top - 100 > 0; - }); - if (index === -1) { - index = Global.utils.sections.length - 1; - } else if (index > 0) { - index--; - } - this.activateTOCLink(index); - }, - - registerTOCScroll() { - Global.utils.sections = [ - ...document.querySelectorAll(".post-toc li a.nav-link"), - ].map((element) => { - const target = document.getElementById( - decodeURI(element.getAttribute("href")).replace("#", ""), - ); - return target; - }); - }, - - activateTOCLink(index) { - const target = document.querySelectorAll(".post-toc li a.nav-link")[ - index - ]; - - if (!target || target.classList.contains("active-current")) { - return; - } + updateActiveTOCLink() { + if (!Array.isArray(utils.sections)) return; + let index = utils.sections.findIndex((element) => { + return element && element.getBoundingClientRect().top - 100 > 0; + }); + if (index === -1) { + index = utils.sections.length - 1; + } else if (index > 0) { + index--; + } + this.activateTOCLink(index); + }, - document.querySelectorAll(".post-toc .active").forEach((element) => { - element.classList.remove("active", "active-current"); - }); - target.classList.add("active", "active-current"); - // Scroll to the active TOC item - const tocElement = document.querySelector(".toc-content-container"); - const tocTop = tocElement.getBoundingClientRect().top; - const scrollTopOffset = - tocElement.offsetHeight > window.innerHeight - ? (tocElement.offsetHeight - window.innerHeight) / 2 - : 0; - const targetTop = target.getBoundingClientRect().top - tocTop; - const viewportHeight = Math.max( - document.documentElement.clientHeight, - window.innerHeight || 0, + registerTOCScroll() { + utils.sections = [ + ...document.querySelectorAll(".post-toc li a.nav-link"), + ].map((element) => { + const target = document.getElementById( + decodeURI(element.getAttribute("href")).replace("#", ""), ); - const distanceToCenter = - targetTop - - viewportHeight / 2 + - target.offsetHeight / 2 - - scrollTopOffset; - const scrollTop = tocElement.scrollTop + distanceToCenter; + return target; + }); + }, + + activateTOCLink(index) { + const target = document.querySelectorAll(".post-toc li a.nav-link")[ + index + ]; - tocElement.scrollTo({ - top: scrollTop, - behavior: "smooth", // Smooth scroll - }); - }, + if (!target || target.classList.contains("active-current")) { + return; + } - showTOCAside() { - const openHandle = () => { - const styleStatus = Global.getStyleStatus(); - const key = "isOpenPageAside"; - if (styleStatus && styleStatus.hasOwnProperty(key)) { - Global.utils.TocToggle.pageAsideHandleOfTOC(styleStatus[key]); - } else { - Global.utils.TocToggle.pageAsideHandleOfTOC(true); - } - }; + document.querySelectorAll(".post-toc .active").forEach((element) => { + element.classList.remove("active", "active-current"); + }); + target.classList.add("active", "active-current"); + // Scroll to the active TOC item + const tocElement = document.querySelector(".toc-content-container"); + const tocTop = tocElement.getBoundingClientRect().top; + const scrollTopOffset = + tocElement.offsetHeight > window.innerHeight + ? (tocElement.offsetHeight - window.innerHeight) / 2 + : 0; + const targetTop = target.getBoundingClientRect().top - tocTop; + const viewportHeight = Math.max( + document.documentElement.clientHeight, + window.innerHeight || 0, + ); + const distanceToCenter = + targetTop - + viewportHeight / 2 + + target.offsetHeight / 2 - + scrollTopOffset; + const scrollTop = tocElement.scrollTop + distanceToCenter; - const initOpenKey = "init_open"; + tocElement.scrollTo({ + top: scrollTop, + behavior: "smooth", // Smooth scroll + }); + }, - if (Global.theme_config.articles.toc.hasOwnProperty(initOpenKey)) { - Global.theme_config.articles.toc[initOpenKey] - ? openHandle() - : Global.utils.TocToggle.pageAsideHandleOfTOC(false); + showTOCAside() { + const openHandle = () => { + const styleStatus = main.getStyleStatus(); + const key = "isOpenPageAside"; + if (styleStatus && styleStatus.hasOwnProperty(key)) { + initTocToggle().pageAsideHandleOfTOC(styleStatus[key]); } else { - openHandle(); + initTocToggle().pageAsideHandleOfTOC(true); } - }, - }; + }; - Global.utils.showTOCAside(); - Global.utils.registerTOCScroll(); + const initOpenKey = "init_open"; + + if (Global.theme_config.articles.toc.hasOwnProperty(initOpenKey)) { + Global.theme_config.articles.toc[initOpenKey] + ? openHandle() + : initTocToggle().pageAsideHandleOfTOC(false); + } else { + openHandle(); + } + }, + }; + + if (utils.navItems.length > 0) { + utils.showTOCAside(); + utils.registerTOCScroll(); } else { document .querySelectorAll(".toc-content-container, .toc-marker") @@ -103,8 +101,11 @@ function initTOC() { elem.remove(); }); } + + return utils; } +// Event listeners try { swup.hooks.on("page:view", () => { initTOC(); diff --git a/source/js/main.js b/source/js/main.js index 36cb9d41..7c2dbf57 100755 --- a/source/js/main.js +++ b/source/js/main.js @@ -1,76 +1,82 @@ -/* global function */ -import { initUtils } from "./utils.js"; +/* main function */ +import initUtils from "./utils.js"; +import initTyped from "./plugins/typed.js"; +import initModeToggle from "./tools/lightDarkSwitch.js"; +import initLazyLoad from "./layouts/lazyload.js"; +import initScrollTopBottom from "./tools/scrollTopBottom.js"; +import initLocalSearch from "./tools/localSearch.js"; +import initCopyCode from "./tools/codeBlock.js"; -document.addEventListener("DOMContentLoaded", () => { - Global.themeInfo = { +export const main = { + themeInfo: { theme: `Redefine v${Global.theme_config.version}`, author: "EvanNotFound", repository: "https://github.com/EvanNotFound/hexo-theme-redefine", - }; - - Global.localStorageKey = "REDEFINE-THEME-STATUS"; - - Global.styleStatus = { + }, + localStorageKey: "REDEFINE-THEME-STATUS", + styleStatus: { isExpandPageWidth: false, isDark: false, fontSizeLevel: 0, isOpenPageAside: true, - }; - - // print theme base info - Global.printThemeInfo = () => { + }, + printThemeInfo: () => { console.log( ` ______ __ __ ______ __ __ ______ \r\n \/\\__ _\/\\ \\_\\ \\\/\\ ___\\\/\\ \"-.\/ \\\/\\ ___\\ \r\n \\\/_\/\\ \\\\ \\ __ \\ \\ __\\\\ \\ \\-.\/\\ \\ \\ __\\ \r\n \\ \\_\\\\ \\_\\ \\_\\ \\_____\\ \\_\\ \\ \\_\\ \\_____\\ \r\n \\\/_\/ \\\/_\/\\\/_\/\\\/_____\/\\\/_\/ \\\/_\/\\\/_____\/ \r\n \r\n ______ ______ _____ ______ ______ __ __ __ ______ \r\n\/\\ == \\\/\\ ___\\\/\\ __-.\/\\ ___\\\/\\ ___\/\\ \\\/\\ \"-.\\ \\\/\\ ___\\ \r\n\\ \\ __<\\ \\ __\\\\ \\ \\\/\\ \\ \\ __\\\\ \\ __\\ \\ \\ \\ \\-. \\ \\ __\\ \r\n \\ \\_\\ \\_\\ \\_____\\ \\____-\\ \\_____\\ \\_\\ \\ \\_\\ \\_\\\\\"\\_\\ \\_____\\ \r\n \\\/_\/ \/_\/\\\/_____\/\\\/____\/ \\\/_____\/\\\/_\/ \\\/_\/\\\/_\/ \\\/_\/\\\/_____\/\r\n \r\n Github: https:\/\/github.com\/EvanNotFound\/hexo-theme-redefine`, - ); - }; - - // set styleStatus to localStorage - Global.setStyleStatus = () => { + ); // console log message + }, + setStyleStatus: () => { localStorage.setItem( - Global.localStorageKey, - JSON.stringify(Global.styleStatus), + main.localStorageKey, + JSON.stringify(main.styleStatus), ); - }; - - // get styleStatus from localStorage - Global.getStyleStatus = () => { - let temp = localStorage.getItem(Global.localStorageKey); + }, + getStyleStatus: () => { + let temp = localStorage.getItem(main.localStorageKey); if (temp) { temp = JSON.parse(temp); - for (let key in Global.styleStatus) { - Global.styleStatus[key] = temp[key]; + for (let key in main.styleStatus) { + main.styleStatus[key] = temp[key]; } return temp; } else { return null; } - }; - - Global.refresh = () => { + }, + refresh: () => { initUtils(); - - Global.initModeToggle(); - Global.initBackToTop(); + initModeToggle(); + initScrollTopBottom(); if ( Global.theme_config.home_banner.subtitle.text.length !== 0 && location.pathname === Global.hexo_config.root ) { - Global.initTyped("subtitle"); + initTyped("subtitle"); } if (Global.theme_config.navbar.search.enable === true) { - Global.initLocalSearch(); + initLocalSearch(); } if (Global.theme_config.articles.code_block.copy === true) { - Global.initCopyCode(); + initCopyCode(); } if (Global.theme_config.articles.lazyload === true) { - Global.initLazyLoad(); + initLazyLoad(); } - }; + }, +}; + +export function initMain() { + main.printThemeInfo(); + main.refresh(); +} + +document.addEventListener("DOMContentLoaded", initMain); - Global.printThemeInfo(); - Global.refresh(); -}); +try { + swup.hooks.on("page:view", () => { + main.refresh(); + }); +} catch (e) {} diff --git a/source/js/plugins/typed.js b/source/js/plugins/typed.js index b031059f..b1317d0c 100644 --- a/source/js/plugins/typed.js +++ b/source/js/plugins/typed.js @@ -1,54 +1,58 @@ /* author: @jiangwen5945 & EvanNotFound */ -const usrTypeSpeed = Global.theme_config.home_banner.subtitle.typing_speed; -const usrBackSpeed = Global.theme_config.home_banner.subtitle.backing_speed; -const usrBackDelay = Global.theme_config.home_banner.subtitle.backing_delay; -const usrStartDelay = Global.theme_config.home_banner.subtitle.starting_delay; -const usrLoop = Global.theme_config.home_banner.subtitle.loop; -const usrSmartBackspace = - Global.theme_config.home_banner.subtitle.smart_backspace; -const usrHitokotoAPI = Global.theme_config.home_banner.subtitle.hitokoto.api; +export const config = { + usrTypeSpeed: Global.theme_config.home_banner.subtitle.typing_speed, + usrBackSpeed: Global.theme_config.home_banner.subtitle.backing_speed, + usrBackDelay: Global.theme_config.home_banner.subtitle.backing_delay, + usrStartDelay: Global.theme_config.home_banner.subtitle.starting_delay, + usrLoop: Global.theme_config.home_banner.subtitle.loop, + usrSmartBackspace: Global.theme_config.home_banner.subtitle.smart_backspace, + usrHitokotoAPI: Global.theme_config.home_banner.subtitle.hitokoto.api, +}; +export default function initTyped(id) { + const { + usrTypeSpeed, + usrBackSpeed, + usrBackDelay, + usrStartDelay, + usrLoop, + usrSmartBackspace, + usrHitokotoAPI, + } = config; -if (Global.theme_config.home_banner.subtitle.hitokoto.enable) { - Global.initTyped = (id) => { - function typing(dataList) { - const st = new Typed("#" + id, { - strings: [dataList], - typeSpeed: usrTypeSpeed || 100, //打字的速度 - smartBackspace: usrSmartBackspace || false, // 开启智能退格 默认false - backSpeed: usrBackSpeed || 80, //后退速度 - backDelay: usrBackDelay || 1500, //后退延迟 - loop: usrLoop || false, //是否循环 - startDelay: usrStartDelay || 500, //起始时间 - // cursorChar: '♡', // 光标 - }); - } + function typing(dataList) { + const st = new Typed("#" + id, { + strings: [dataList], + typeSpeed: usrTypeSpeed || 100, + smartBackspace: usrSmartBackspace || false, + backSpeed: usrBackSpeed || 80, + backDelay: usrBackDelay || 1500, + loop: usrLoop || false, + startDelay: usrStartDelay || 500, + }); + } + if (Global.theme_config.home_banner.subtitle.hitokoto.enable) { fetch(usrHitokotoAPI) .then((response) => response.json()) .then((data) => { typing(data.hitokoto); }) .catch(console.error); - }; -} else { - Global.initTyped = (id) => { + } else { const sentenceList = [...Global.theme_config.home_banner.subtitle.text]; - if (document.getElementById(id)) { const st = new Typed("#" + id, { strings: sentenceList, - typeSpeed: usrTypeSpeed || 100, //打字的速度 - smartBackspace: usrSmartBackspace || false, // 开启智能退格 默认false - backSpeed: usrBackSpeed || 80, //后退速度 - backDelay: usrBackDelay || 1500, //后退延迟 - loop: usrLoop || false, //是否循环 - startDelay: usrStartDelay || 500, //起始时间 - // cursorChar: '♡', // 光标 + typeSpeed: usrTypeSpeed || 100, + smartBackspace: usrSmartBackspace || false, + backSpeed: usrBackSpeed || 80, + backDelay: usrBackDelay || 1500, + loop: usrLoop || false, + startDelay: usrStartDelay || 500, }); } - }; + } } - diff --git a/source/js/tools/codeBlock.js b/source/js/tools/codeBlock.js index a6db729a..6ad4f88d 100755 --- a/source/js/tools/codeBlock.js +++ b/source/js/tools/codeBlock.js @@ -1,37 +1,48 @@ -Global.initCopyCode = () => { +const initCopyCode = () => { HTMLElement.prototype.wrap = function (wrapper) { this.parentNode.insertBefore(wrapper, this); this.parentNode.removeChild(this); wrapper.appendChild(this); }; - document.querySelectorAll('figure.highlight').forEach(element => { - const container = document.createElement('div'); + document.querySelectorAll("figure.highlight").forEach((element) => { + const container = document.createElement("div"); element.wrap(container); - container.classList.add('highlight-container'); - container.insertAdjacentHTML('beforeend', '
    '); - container.insertAdjacentHTML('beforeend', '
    '); - const copyButton = container.querySelector('.copy-button'); - const foldButton = container.querySelector('.fold-button'); - copyButton.addEventListener('click', () => { - const codeLines = [...container.querySelectorAll('.code .line')]; - const code = codeLines.map(line => line.innerText).join('\n'); - + container.classList.add("highlight-container"); + container.insertAdjacentHTML( + "beforeend", + '
    ', + ); + container.insertAdjacentHTML( + "beforeend", + '
    ', + ); + const copyButton = container.querySelector(".copy-button"); + const foldButton = container.querySelector(".fold-button"); + copyButton.addEventListener("click", () => { + const codeLines = [...container.querySelectorAll(".code .line")]; + const code = codeLines.map((line) => line.innerText).join("\n"); + // Copy code to clipboard navigator.clipboard.writeText(code); // Display 'copied' icon - copyButton.querySelector('i').className = 'fa-regular fa-check'; + copyButton.querySelector("i").className = "fa-regular fa-check"; // Reset icon after a while setTimeout(() => { - copyButton.querySelector('i').className = 'fa-regular fa-copy'; + copyButton.querySelector("i").className = "fa-regular fa-copy"; }, 1000); }); - foldButton.addEventListener('click', () => { - container.classList.toggle('folded'); - foldButton.querySelector('i').className = container.classList.contains('folded') ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'; - } ); - + foldButton.addEventListener("click", () => { + container.classList.toggle("folded"); + foldButton.querySelector("i").className = container.classList.contains( + "folded", + ) + ? "fa-solid fa-chevron-up" + : "fa-solid fa-chevron-down"; + }); }); -} +}; + +export default initCopyCode; diff --git a/source/js/tools/lightDarkSwitch.js b/source/js/tools/lightDarkSwitch.js index 83e18910..918b1b8d 100755 --- a/source/js/tools/lightDarkSwitch.js +++ b/source/js/tools/lightDarkSwitch.js @@ -1,119 +1,132 @@ -/* global function */ +import { main } from "../main.js"; -Global.initModeToggle = () => { - Global.utils.modeToggle = { - modeToggleButton_dom: document.querySelector(".tool-dark-light-toggle"), - iconDom: document.querySelector(".tool-dark-light-toggle i"), - mermaidLightTheme: - typeof Global.theme_config.mermaid !== "undefined" && - typeof Global.theme_config.mermaid.style !== "undefined" && - typeof Global.theme_config.mermaid.style.light !== "undefined" - ? Global.theme_config.mermaid.style.light - : "default", - mermaidDarkTheme: - typeof Global.theme_config.mermaid !== "undefined" && - typeof Global.theme_config.mermaid.style !== "undefined" && - typeof Global.theme_config.mermaid.style.dark !== "undefined" - ? Global.theme_config.mermaid.style.dark - : "dark", +// Exported object to replace Global +export const ModeToggle = { + modeToggleButton_dom: null, + iconDom: null, + mermaidLightTheme: null, + mermaidDarkTheme: null, - 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"; - Global.styleStatus.isDark = false; - Global.setStyleStatus(); - this.mermaidLightInit(); - this.setGiscusTheme(); - }, + 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"; + main.styleStatus.isDark = false; + main.setStyleStatus(); + this.mermaidLightInit(); + 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"; - Global.styleStatus.isDark = true; - Global.setStyleStatus(); - this.mermaidDarkInit(); - 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"; + main.styleStatus.isDark = true; + main.setStyleStatus(); + this.mermaidDarkInit(); + this.setGiscusTheme(); + }, - mermaidLightInit() { - if (window.mermaid) { - mermaid.initialize({ - theme: this.mermaidLightTheme, - }); - } - }, + mermaidLightInit() { + if (window.mermaid) { + mermaid.initialize({ + theme: this.mermaidLightTheme, + }); + } + }, - mermaidDarkInit() { - if (window.mermaid) { - mermaid.initialize({ - theme: this.mermaidDarkTheme, - }); - } - }, + mermaidDarkInit() { + if (window.mermaid) { + mermaid.initialize({ + theme: this.mermaidDarkTheme, + }); + } + }, - async setGiscusTheme(theme) { - if (document.querySelector("#giscus-container")) { - let giscusFrame = document.querySelector("iframe.giscus-frame"); - while (!giscusFrame) { - await new Promise((r) => setTimeout(r, 1000)); - giscusFrame = document.querySelector("iframe.giscus-frame"); - } - while (giscusFrame.classList.contains("giscus-frame--loading")) - await new Promise((r) => setTimeout(r, 1000)); - theme ??= Global.styleStatus.isDark ? "dark" : "light"; - giscusFrame.contentWindow.postMessage( - { - giscus: { - setConfig: { - theme: theme, - }, + async setGiscusTheme(theme) { + if (document.querySelector("#giscus-container")) { + let giscusFrame = document.querySelector("iframe.giscus-frame"); + while (!giscusFrame) { + await new Promise((r) => setTimeout(r, 1000)); + giscusFrame = document.querySelector("iframe.giscus-frame"); + } + while (giscusFrame.classList.contains("giscus-frame--loading")) + await new Promise((r) => setTimeout(r, 1000)); + theme ??= main.styleStatus.isDark ? "dark" : "light"; + giscusFrame.contentWindow.postMessage( + { + giscus: { + setConfig: { + theme: theme, }, }, - "https://giscus.app", - ); - } - }, - - isDarkPrefersColorScheme() { - return ( - window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)") + }, + "https://giscus.app", ); - }, + } + }, - initModeStatus() { - const styleStatus = Global.getStyleStatus(); + isDarkPrefersColorScheme() { + return ( + window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)") + ); + }, - if (styleStatus) { - styleStatus.isDark ? this.enableDarkMode() : this.enableLightMode(); - } else { - this.isDarkPrefersColorScheme().matches - ? this.enableDarkMode() - : this.enableLightMode(); - } - }, + initModeStatus() { + const styleStatus = main.getStyleStatus(); - initModeToggleButton() { - this.modeToggleButton_dom.addEventListener("click", () => { - const isDark = document.body.classList.contains("dark-mode"); - isDark ? this.enableLightMode() : this.enableDarkMode(); - }); - }, + if (styleStatus) { + styleStatus.isDark ? this.enableDarkMode() : this.enableLightMode(); + } else { + this.isDarkPrefersColorScheme().matches + ? this.enableDarkMode() + : this.enableLightMode(); + } + }, - initModeAutoTrigger() { - const isDarkMode = this.isDarkPrefersColorScheme(); - isDarkMode.addEventListener("change", (e) => { - e.matches ? this.enableDarkMode() : this.enableLightMode(); - }); - }, - }; + initModeToggleButton() { + this.modeToggleButton_dom.addEventListener("click", () => { + const isDark = document.body.classList.contains("dark-mode"); + isDark ? this.enableLightMode() : this.enableDarkMode(); + }); + }, + + initModeAutoTrigger() { + const isDarkMode = this.isDarkPrefersColorScheme(); + isDarkMode.addEventListener("change", (e) => { + e.matches ? this.enableDarkMode() : this.enableLightMode(); + }); + }, + + init() { + this.modeToggleButton_dom = document.querySelector( + ".tool-dark-light-toggle", + ); + this.iconDom = document.querySelector(".tool-dark-light-toggle i"); + this.mermaidLightTheme = + typeof Global.theme_config.mermaid !== "undefined" && + typeof Global.theme_config.mermaid.style !== "undefined" && + typeof Global.theme_config.mermaid.style.light !== "undefined" + ? Global.theme_config.mermaid.style.light + : "default"; + this.mermaidDarkTheme = + typeof Global.theme_config.mermaid !== "undefined" && + typeof Global.theme_config.mermaid.style !== "undefined" && + typeof Global.theme_config.mermaid.style.dark !== "undefined" + ? Global.theme_config.mermaid.style.dark + : "dark"; - Global.utils.modeToggle.initModeStatus(); - Global.utils.modeToggle.initModeToggleButton(); - Global.utils.modeToggle.initModeAutoTrigger(); + this.initModeStatus(); + this.initModeToggleButton(); + this.initModeAutoTrigger(); + }, }; + +// Exported function +export default function initModeToggle() { + ModeToggle.init(); +} diff --git a/source/js/tools/localSearch.js b/source/js/tools/localSearch.js index 8e765ee3..88ab1fbc 100755 --- a/source/js/tools/localSearch.js +++ b/source/js/tools/localSearch.js @@ -1,4 +1,4 @@ -Global.initLocalSearch = () => { +export default function initLocalSearch() { // Search DB path let searchPath = Global.hexo_config.path; if (!searchPath) { @@ -324,4 +324,4 @@ Global.initLocalSearch = () => { onPopupClose(); } }); -}; +} diff --git a/source/js/tools/scrollTopBottom.js b/source/js/tools/scrollTopBottom.js index 326a7175..16b3c8f8 100755 --- a/source/js/tools/scrollTopBottom.js +++ b/source/js/tools/scrollTopBottom.js @@ -1,27 +1,31 @@ -Global.initBackToTop = () => { - const backToTopButton_dom = document.querySelector('.tool-scroll-to-top'); - const backToBottomButton_dom = document.querySelector('.tool-scroll-to-bottom'); +const initScrollTopBottom = () => { + const backToTopButton_dom = document.querySelector(".tool-scroll-to-top"); + const backToBottomButton_dom = document.querySelector( + ".tool-scroll-to-bottom", + ); - const backtotop = () => { + const backToTop = () => { document.body.scrollIntoView({ - behavior: "smooth" + behavior: "smooth", }); }; const backToBottom = () => { document.querySelector("footer.footer").scrollIntoView({ - behavior: "smooth" + behavior: "smooth", }); }; const initBackToTop = () => { - backToTopButton_dom.addEventListener('click', backtotop); + backToTopButton_dom.addEventListener("click", backToTop); }; const initBackToBottom = () => { - backToBottomButton_dom.addEventListener('click', backToBottom); + backToBottomButton_dom.addEventListener("click", backToBottom); }; initBackToTop(); initBackToBottom(); -}; \ No newline at end of file +}; + +export default initScrollTopBottom; diff --git a/source/js/tools/tocToggle.js b/source/js/tools/tocToggle.js index c9f801a7..27bb446f 100755 --- a/source/js/tools/tocToggle.js +++ b/source/js/tools/tocToggle.js @@ -1,7 +1,9 @@ -/* global function */ +/* main function */ + +import { main } from "../main.js"; export function initTocToggle() { - Global.utils.TocToggle = { + const TocToggle = { toggleBar: document.querySelector(".page-aside-toggle"), postPageContainerDom: document.querySelector(".post-page-container"), toggleBarIcon: document.querySelector(".page-aside-toggle i"), @@ -16,8 +18,9 @@ export function initTocToggle() { this.toggleBar && this.toggleBar.addEventListener("click", () => { this.isOpenPageAside = !this.isOpenPageAside; - Global.styleStatus.isOpenPageAside = this.isOpenPageAside; - Global.setStyleStatus(); + // Assume Global.styleStatus and Global.setStyleStatus are defined elsewhere + main.styleStatus.isOpenPageAside = this.isOpenPageAside; + main.setStyleStatus(); this.changePageLayoutWhenOpenToggle(this.isOpenPageAside); }); }, @@ -41,9 +44,12 @@ export function initTocToggle() { this.changePageLayoutWhenOpenToggle(isOpen); }, }; - Global.utils.TocToggle.initToggleBarButton(); + + TocToggle.initToggleBarButton(); + return TocToggle; } +// Event listeners try { swup.hooks.on("page:view", () => { initTocToggle(); diff --git a/source/js/utils.js b/source/js/utils.js index 909914c4..156eb7c9 100755 --- a/source/js/utils.js +++ b/source/js/utils.js @@ -1,10 +1,14 @@ -/* global function */ - -import { initMasonry } from "./plugins/masonry.js"; +/* utils function */ import { navbarShrink } from "./layouts/navbarShrink.js"; +import { initTOC } from "./layouts/toc.js"; +import { main } from "./main.js"; + +export const navigationState = { + isNavigating: false, +}; -export function initUtils() { - Global.utils = { +export default function initUtils() { + const utils = { html_root_dom: document.querySelector("html"), pageContainer_dom: document.querySelector(".page-container"), pageTop_dom: document.querySelector(".main-content-header"), @@ -28,6 +32,7 @@ export function initUtils() { // Scroll Style updateScrollStyle() { + console.log("update scroll style"); const scrollTop = window.pageYOffset || document.documentElement.scrollTop; const scrollHeight = document.documentElement.scrollHeight; @@ -84,6 +89,7 @@ export function initUtils() { // register window scroll event registerWindowScroll() { + console.log("register window scroll"); window.addEventListener("scroll", () => { this.updateScrollStyle(); this.updateTOCScroll(); @@ -97,14 +103,16 @@ export function initUtils() { updateTOCScroll() { if ( Global.theme_config.articles.toc.enable && - Global.utils.hasOwnProperty("updateActiveTOCLink") + initTOC().hasOwnProperty("updateActiveTOCLink") ) { - Global.utils.updateActiveTOCLink(); + initTOC().updateActiveTOCLink(); } }, updateNavbarShrink() { - navbarShrink.init(); + if (!navigationState.isNavigating) { + navbarShrink.init(); + } }, updateHomeBannerBlur() { @@ -187,7 +195,7 @@ export function initUtils() { const baseFontSize = parseFloat(fontSize); let fontSizeLevel = 0; - const styleStatus = Global.getStyleStatus(); + const styleStatus = main.getStyleStatus(); if (styleStatus) { fontSizeLevel = styleStatus.fontSizeLevel; setFontSize(fontSizeLevel); @@ -196,8 +204,8 @@ export function initUtils() { function setFontSize(level) { const fontSize = baseFontSize * (1 + level * 0.05); htmlRoot.style.fontSize = `${fontSize}px`; - Global.styleStatus.fontSizeLevel = level; - Global.setStyleStatus(); + main.styleStatus.fontSizeLevel = level; + main.setStyleStatus(); } function increaseFontSize() { @@ -213,72 +221,6 @@ export function initUtils() { fontAdjustPlus.addEventListener("click", increaseFontSize); fontAdjustMinus.addEventListener("click", decreaseFontSize); }, - - // toggle content area width - contentAreaWidthAdjust() { - const toolExpandDom = document.querySelector(".tool-expand-width"); - const navbarContentDom = document.querySelector(".navbar-content"); - const mainContentDom = document.querySelector(".main-content"); - const iconDom = toolExpandDom.querySelector("i"); - - const defaultMaxWidth = - Global.theme_config.global.content_max_width || "1000px"; - const expandMaxWidth = "90%"; - let navbarMaxWidth = defaultMaxWidth; - - let isExpand = false; - - if ( - Global.theme_config.home_banner.enable === true && - window.location.pathname === "/" - ) { - navbarMaxWidth = parseInt(defaultMaxWidth) * 1.2 + "px"; - } - - const setPageWidth = (isExpand) => { - Global.styleStatus.isExpandPageWidth = isExpand; - Global.setStyleStatus(); - if (isExpand) { - iconDom.classList.remove("fa-expand"); - iconDom.classList.add("fa-compress"); - navbarContentDom.style.maxWidth = expandMaxWidth; - mainContentDom.style.maxWidth = expandMaxWidth; - } else { - iconDom.classList.remove("fa-compress"); - iconDom.classList.add("fa-expand"); - navbarContentDom.style.maxWidth = navbarMaxWidth; - mainContentDom.style.maxWidth = defaultMaxWidth; - } - }; - - const initPageWidth = () => { - const styleStatus = Global.getStyleStatus(); - if (styleStatus) { - isExpand = styleStatus.isExpandPageWidth; - setPageWidth(isExpand); - } - }; - - initPageWidth(); - - toolExpandDom.addEventListener("click", () => { - isExpand = !isExpand; - setPageWidth(isExpand); - - var loadingPlaceholder = document.querySelector(".loading-placeholder"); - var masonryContainer = document.querySelector("#masonry-container"); - if (!loadingPlaceholder || !masonryContainer) return; - - loadingPlaceholder.style.opacity = 1; - loadingPlaceholder.style.display = "block"; - masonryContainer.style.display = "none"; - - setTimeout(() => { - initMasonry(); - }, 300); - }); - }, - // go comment anchor goComment() { this.goComment_dom = document.querySelector(".go-comment"); @@ -519,94 +461,29 @@ export function initUtils() { }); } }, - /* - calculateMaterialColors(hex) { - // Convert hex to RGB - hex = hex.replace(/#/g, ""); - if (hex.length === 3) { - hex = hex - .split("") - .map(function (hex) { - return hex + hex; - }) - .join(""); - } - var result = /^([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})[\da-z]{0,0}$/i.exec( - hex - ); - if (!result) { - return null; - } - var r = parseInt(result[1], 16); - var g = parseInt(result[2], 16); - var b = parseInt(result[3], 16); - (r /= 255), (g /= 255), (b /= 255); - var max = Math.max(r, g, b), - min = Math.min(r, g, b); - var h, - s, - l = (max + min) / 2; - if (max == min) { - h = s = 0; - } else { - var d = max - min; - s = l > 0.5 ? d / (2 - max - min) : d / (max + min); - switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; - } - h /= 6; - } - s = s * 100; - s = Math.round(s); - l = l * 100; - l = Math.round(l); - h = Math.round(360 * h); - - // Compute primary, secondary, and tertiary colors - const primaryColor = `hsl(${h}, ${s}%, ${l}%)`; - const secondaryColor = `hsl(${h}, ${s - 15}%, ${l - 15}%)`; - const tertiaryColor = `hsl(${h}, ${s - 25}%, ${l - 25}%)`; - document.documentElement.style.setProperty('--primary-color-temp', primaryColor); - document.documentElement.style.setProperty('--secondary-color-temp', secondaryColor); - document.documentElement.style.setProperty('--tertiary-color-temp', tertiaryColor); - },*/ }; // init scroll - Global.utils.registerWindowScroll(); + utils.registerWindowScroll(); // toggle show tools list - Global.utils.toggleToolsList(); + utils.toggleToolsList(); - // global font adjust - Global.utils.globalFontSizeAdjust(); - - // adjust content area width - Global.utils.contentAreaWidthAdjust(); + // main font adjust + utils.globalFontSizeAdjust(); // go comment - Global.utils.goComment(); + utils.goComment(); // init page height handle - Global.utils.initPageHeightHandle(); + utils.initPageHeightHandle(); // init first screen height - Global.utils.inithomeBannerHeight(); + utils.inithomeBannerHeight(); // big image viewer handle - Global.utils.imageViewer(); + utils.imageViewer(); // set how long ago in home article block - Global.utils.relativeTimeInHome(); - - // calculate material colors - //Global.utils.calculateMaterialColors(Global.theme_config.colors.primary); + utils.relativeTimeInHome(); } From e15d0a5102aacce42244590563cd45411e02e230 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Fri, 29 Sep 2023 22:51:57 -0400 Subject: [PATCH 14/27] scroll: fix scrolling --- source/js/tools/scrollTopBottom.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/js/tools/scrollTopBottom.js b/source/js/tools/scrollTopBottom.js index 16b3c8f8..e7decbc6 100755 --- a/source/js/tools/scrollTopBottom.js +++ b/source/js/tools/scrollTopBottom.js @@ -5,13 +5,16 @@ const initScrollTopBottom = () => { ); const backToTop = () => { - document.body.scrollIntoView({ + window.scrollTo({ + top: 0, // scrolls to the top of the page behavior: "smooth", }); }; const backToBottom = () => { - document.querySelector("footer.footer").scrollIntoView({ + const docHeight = document.body.scrollHeight; + window.scrollTo({ + top: docHeight, // scrolls to the bottom of the page behavior: "smooth", }); }; From ac4d10a165722b141eeb2ea7812c904a6bdb9a6f Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sat, 30 Sep 2023 10:41:01 -0400 Subject: [PATCH 15/27] variables: remove Global declaration --- scripts/helpers/configExport.js | 9 +++--- source/js/layouts/toc.js | 4 +-- source/js/main.js | 12 ++++---- source/js/plugins/aplayer.js | 39 ++++++++++++------------- source/js/plugins/masonry.js | 2 +- source/js/plugins/mermaid.js | 2 +- source/js/plugins/typed.js | 18 ++++++------ source/js/tools/lightDarkSwitch.js | 18 ++++++------ source/js/tools/localSearch.js | 10 +++---- source/js/tools/runtime.js | 46 +++++++++++++++++------------- source/js/tools/tocToggle.js | 1 - source/js/utils.js | 20 ++++++------- 12 files changed, 88 insertions(+), 93 deletions(-) diff --git a/scripts/helpers/configExport.js b/scripts/helpers/configExport.js index 91eb1aa4..68efdf3c 100755 --- a/scripts/helpers/configExport.js +++ b/scripts/helpers/configExport.js @@ -58,10 +58,9 @@ hexo.extend.helper.register("export_config", function () { } return ``; }); diff --git a/source/js/layouts/toc.js b/source/js/layouts/toc.js index d09b51c9..f6d367d0 100755 --- a/source/js/layouts/toc.js +++ b/source/js/layouts/toc.js @@ -81,8 +81,8 @@ export function initTOC() { const initOpenKey = "init_open"; - if (Global.theme_config.articles.toc.hasOwnProperty(initOpenKey)) { - Global.theme_config.articles.toc[initOpenKey] + if (theme.articles.toc.hasOwnProperty(initOpenKey)) { + theme.articles.toc[initOpenKey] ? openHandle() : initTocToggle().pageAsideHandleOfTOC(false); } else { diff --git a/source/js/main.js b/source/js/main.js index 7c2dbf57..523f02b3 100755 --- a/source/js/main.js +++ b/source/js/main.js @@ -9,7 +9,7 @@ import initCopyCode from "./tools/codeBlock.js"; export const main = { themeInfo: { - theme: `Redefine v${Global.theme_config.version}`, + theme: `Redefine v${theme.version}`, author: "EvanNotFound", repository: "https://github.com/EvanNotFound/hexo-theme-redefine", }, @@ -48,21 +48,21 @@ export const main = { initModeToggle(); initScrollTopBottom(); if ( - Global.theme_config.home_banner.subtitle.text.length !== 0 && - location.pathname === Global.hexo_config.root + theme.home_banner.subtitle.text.length !== 0 && + location.pathname === config.root ) { initTyped("subtitle"); } - if (Global.theme_config.navbar.search.enable === true) { + if (theme.navbar.search.enable === true) { initLocalSearch(); } - if (Global.theme_config.articles.code_block.copy === true) { + if (theme.articles.code_block.copy === true) { initCopyCode(); } - if (Global.theme_config.articles.lazyload === true) { + if (theme.articles.lazyload === true) { initLazyLoad(); } }, diff --git a/source/js/plugins/aplayer.js b/source/js/plugins/aplayer.js index f25ce43b..390c821b 100644 --- a/source/js/plugins/aplayer.js +++ b/source/js/plugins/aplayer.js @@ -1,32 +1,29 @@ const audioList = []; -const isFixed = Global.theme_config.plugins.aplayer.type == "fixed" -const isMini = Global.theme_config.plugins.aplayer.type == "mini" +const isFixed = theme.plugins.aplayer.type == "fixed"; +const isMini = theme.plugins.aplayer.type == "mini"; - - -for (const audio of Global.theme_config.plugins.aplayer.audios) { - const a = { - name: audio.name, - artist: audio.artist, - url: audio.url, - cover: audio.cover, - lrc: audio.lrc, - theme: audio.theme, - }; - audioList.push(a); +for (const audio of theme.plugins.aplayer.audios) { + const a = { + name: audio.name, + artist: audio.artist, + url: audio.url, + cover: audio.cover, + lrc: audio.lrc, + theme: audio.theme, + }; + audioList.push(a); } - if (isMini) { const ap = new APlayer({ - container: document.getElementById('aplayer'), - mini: true, - audio: audioList, + container: document.getElementById("aplayer"), + mini: true, + audio: audioList, }); } else if (isFixed) { const ap = new APlayer({ - container: document.getElementById('aplayer'), - fixed: true, - audio: audioList, + container: document.getElementById("aplayer"), + fixed: true, + audio: audioList, }); } diff --git a/source/js/plugins/masonry.js b/source/js/plugins/masonry.js index ea149d0c..cd2b2b43 100644 --- a/source/js/plugins/masonry.js +++ b/source/js/plugins/masonry.js @@ -48,7 +48,7 @@ export function initMasonry() { } } -if (Global.data_config.masonry) { +if (data.masonry) { try { swup.hooks.on("page:view", initMasonry); } catch (e) {} diff --git a/source/js/plugins/mermaid.js b/source/js/plugins/mermaid.js index f624f697..5c8794bc 100644 --- a/source/js/plugins/mermaid.js +++ b/source/js/plugins/mermaid.js @@ -1,4 +1,4 @@ -if (Global.theme_config.plugins.mermaid.enable === true) { +if (theme.plugins.mermaid.enable === true) { try { swup.hooks.on("page:view", () => { mermaid.init(); diff --git a/source/js/plugins/typed.js b/source/js/plugins/typed.js index b1317d0c..7b8a115e 100644 --- a/source/js/plugins/typed.js +++ b/source/js/plugins/typed.js @@ -2,13 +2,13 @@ author: @jiangwen5945 & EvanNotFound */ export const config = { - usrTypeSpeed: Global.theme_config.home_banner.subtitle.typing_speed, - usrBackSpeed: Global.theme_config.home_banner.subtitle.backing_speed, - usrBackDelay: Global.theme_config.home_banner.subtitle.backing_delay, - usrStartDelay: Global.theme_config.home_banner.subtitle.starting_delay, - usrLoop: Global.theme_config.home_banner.subtitle.loop, - usrSmartBackspace: Global.theme_config.home_banner.subtitle.smart_backspace, - usrHitokotoAPI: Global.theme_config.home_banner.subtitle.hitokoto.api, + 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(id) { @@ -34,7 +34,7 @@ export default function initTyped(id) { }); } - if (Global.theme_config.home_banner.subtitle.hitokoto.enable) { + if (theme.home_banner.subtitle.hitokoto.enable) { fetch(usrHitokotoAPI) .then((response) => response.json()) .then((data) => { @@ -42,7 +42,7 @@ export default function initTyped(id) { }) .catch(console.error); } else { - const sentenceList = [...Global.theme_config.home_banner.subtitle.text]; + const sentenceList = [...theme.home_banner.subtitle.text]; if (document.getElementById(id)) { const st = new Typed("#" + id, { strings: sentenceList, diff --git a/source/js/tools/lightDarkSwitch.js b/source/js/tools/lightDarkSwitch.js index 918b1b8d..b07d72f5 100755 --- a/source/js/tools/lightDarkSwitch.js +++ b/source/js/tools/lightDarkSwitch.js @@ -1,6 +1,4 @@ import { main } from "../main.js"; - -// Exported object to replace Global export const ModeToggle = { modeToggleButton_dom: null, iconDom: null, @@ -108,16 +106,16 @@ export const ModeToggle = { ); this.iconDom = document.querySelector(".tool-dark-light-toggle i"); this.mermaidLightTheme = - typeof Global.theme_config.mermaid !== "undefined" && - typeof Global.theme_config.mermaid.style !== "undefined" && - typeof Global.theme_config.mermaid.style.light !== "undefined" - ? Global.theme_config.mermaid.style.light + typeof theme.mermaid !== "undefined" && + typeof theme.mermaid.style !== "undefined" && + typeof theme.mermaid.style.light !== "undefined" + ? theme.mermaid.style.light : "default"; this.mermaidDarkTheme = - typeof Global.theme_config.mermaid !== "undefined" && - typeof Global.theme_config.mermaid.style !== "undefined" && - typeof Global.theme_config.mermaid.style.dark !== "undefined" - ? Global.theme_config.mermaid.style.dark + typeof theme.mermaid !== "undefined" && + typeof theme.mermaid.style !== "undefined" && + typeof theme.mermaid.style.dark !== "undefined" + ? theme.mermaid.style.dark : "dark"; this.initModeStatus(); diff --git a/source/js/tools/localSearch.js b/source/js/tools/localSearch.js index 88ab1fbc..afeb3c53 100755 --- a/source/js/tools/localSearch.js +++ b/source/js/tools/localSearch.js @@ -1,6 +1,6 @@ export default function initLocalSearch() { // Search DB path - let searchPath = Global.hexo_config.path; + let searchPath = config.path; if (!searchPath) { // Search DB path console.warn("`hexo-generator-searchdb` plugin is not installed!"); @@ -172,8 +172,8 @@ export default function initLocalSearch() { // Select top N slices in content let upperBound = parseInt( - Global.theme_config.navbar.search.top_n_per_article - ? Global.theme_config.navbar.search.top_n_per_article + theme.navbar.search.top_n_per_article + ? theme.navbar.search.top_n_per_article : 1, 10, ); @@ -235,7 +235,7 @@ export default function initLocalSearch() { }; const fetchData = () => { - fetch(Global.hexo_config.root + searchPath) + fetch(config.root + searchPath) .then((response) => response.text()) .then((res) => { // Get the contents from search data @@ -272,7 +272,7 @@ export default function initLocalSearch() { }); }; - if (Global.theme_config.navbar.search.preload) { + if (theme.navbar.search.preload) { fetchData(); } diff --git a/source/js/tools/runtime.js b/source/js/tools/runtime.js index 97a97ea6..782ae66e 100644 --- a/source/js/tools/runtime.js +++ b/source/js/tools/runtime.js @@ -1,22 +1,28 @@ -function footerRuntime() { - var startTime = Global.theme_config.footerStart; - window.setTimeout("footerRuntime()", 1000); - X = new Date(startTime); - Y = new Date(); - T = (Y.getTime() - X.getTime()); - M = 24 * 60 * 60 * 1000; - a = T / M; - A = Math.floor(a); - b = (a - A) * 24; - B = Math.floor(b); - c = (b - B) * 60; - C = Math.floor((b - B) * 60); - D = Math.floor((c - C) * 60); - runtime_days.innerHTML = A; - runtime_hours.innerHTML = B; - runtime_minutes.innerHTML = C; - runtime_seconds.innerHTML = D; -} +const footerRuntime = () => { + const startTime = theme.footerStart; + window.setTimeout(footerRuntime, 1000); // passing function reference instead of string + const X = new Date(startTime); + const Y = new Date(); + const T = Y.getTime() - X.getTime(); + const M = 24 * 60 * 60 * 1000; + const a = T / M; + const A = Math.floor(a); + const b = (a - A) * 24; + const B = Math.floor(b); + const c = (b - B) * 60; + const C = Math.floor((b - B) * 60); + const D = Math.floor((c - C) * 60); -window.addEventListener('DOMContentLoaded', footerRuntime); \ No newline at end of file + const runtime_days = document.getElementById("runtime_days"); + const runtime_hours = document.getElementById("runtime_hours"); + const runtime_minutes = document.getElementById("runtime_minutes"); + const runtime_seconds = document.getElementById("runtime_seconds"); + + if (runtime_days) runtime_days.innerHTML = A; + if (runtime_hours) runtime_hours.innerHTML = B; + if (runtime_minutes) runtime_minutes.innerHTML = C; + if (runtime_seconds) runtime_seconds.innerHTML = D; +}; + +window.addEventListener("DOMContentLoaded", footerRuntime); diff --git a/source/js/tools/tocToggle.js b/source/js/tools/tocToggle.js index 27bb446f..191bc5d1 100755 --- a/source/js/tools/tocToggle.js +++ b/source/js/tools/tocToggle.js @@ -18,7 +18,6 @@ export function initTocToggle() { this.toggleBar && this.toggleBar.addEventListener("click", () => { this.isOpenPageAside = !this.isOpenPageAside; - // Assume Global.styleStatus and Global.setStyleStatus are defined elsewhere main.styleStatus.isOpenPageAside = this.isOpenPageAside; main.setStyleStatus(); this.changePageLayoutWhenOpenToggle(this.isOpenPageAside); diff --git a/source/js/utils.js b/source/js/utils.js index 156eb7c9..04b9b4cd 100755 --- a/source/js/utils.js +++ b/source/js/utils.js @@ -25,14 +25,11 @@ export default function initUtils() { prevScrollValue: 0, fontSizeLevel: 0, - isHasScrollProgressBar: - Global.theme_config.global.scroll_progress.bar === true, - isHasScrollPercent: - Global.theme_config.global.scroll_progress.percentage === true, + isHasScrollProgressBar: theme.global.scroll_progress.bar === true, + isHasScrollPercent: theme.global.scroll_progress.percentage === true, // Scroll Style updateScrollStyle() { - console.log("update scroll style"); const scrollTop = window.pageYOffset || document.documentElement.scrollTop; const scrollHeight = document.documentElement.scrollHeight; @@ -72,7 +69,7 @@ export default function initUtils() { }, updatePageTopVisibility(scrollTop, clientHeight) { - if (Global.theme_config.navbar.auto_hide) { + if (theme.navbar.auto_hide) { const prevScrollValue = this.prevScrollValue; const hidePageTop = prevScrollValue > clientHeight && scrollTop > prevScrollValue; @@ -89,7 +86,6 @@ export default function initUtils() { // register window scroll event registerWindowScroll() { - console.log("register window scroll"); window.addEventListener("scroll", () => { this.updateScrollStyle(); this.updateTOCScroll(); @@ -102,7 +98,7 @@ export default function initUtils() { updateTOCScroll() { if ( - Global.theme_config.articles.toc.enable && + theme.articles.toc.enable && initTOC().hasOwnProperty("updateActiveTOCLink") ) { initTOC().updateActiveTOCLink(); @@ -117,8 +113,8 @@ export default function initUtils() { updateHomeBannerBlur() { if ( - Global.theme_config.home_banner.style === "fixed" && - location.pathname === Global.hexo_config.root + theme.home_banner.style === "fixed" && + location.pathname === config.root ) { const blurElement = document.querySelector(".home-banner-background"); const viewHeight = window.innerHeight; @@ -400,7 +396,7 @@ export default function initUtils() { }, getHowLongAgo(timestamp) { - const l = Global.language_ago; + const l = lang_ago; const __Y = Math.floor(timestamp / (60 * 60 * 24 * 30) / 12); const __M = Math.floor(timestamp / (60 * 60 * 24 * 30)); @@ -431,7 +427,7 @@ export default function initUtils() { const post = document.querySelectorAll( ".home-article-meta-info .home-article-date", ); - const df = Global.theme_config.home.article_date_format; + const df = theme.home.article_date_format; if (df === "relative") { post && post.forEach((v) => { From 2271667a9befece15a70cc3b2394cb53763385aa Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sat, 30 Sep 2023 11:14:08 -0400 Subject: [PATCH 16/27] mermaid: fix light dark switch --- source/js/tools/lightDarkSwitch.js | 73 ++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 20 deletions(-) diff --git a/source/js/tools/lightDarkSwitch.js b/source/js/tools/lightDarkSwitch.js index b07d72f5..838c745e 100755 --- a/source/js/tools/lightDarkSwitch.js +++ b/source/js/tools/lightDarkSwitch.js @@ -1,10 +1,59 @@ import { main } from "../main.js"; + +const elementCode = ".mermaid"; + +const saveOriginalData = function () { + return new Promise((resolve, reject) => { + try { + var els = document.querySelectorAll(elementCode), + count = els.length; + els.forEach((element) => { + element.setAttribute("data-original-code", element.innerHTML); + count--; + if (count == 0) { + resolve(); + } + }); + } catch (error) { + reject(error); + } + }); +}; + +const resetProcessed = function () { + return new Promise((resolve, reject) => { + try { + var els = document.querySelectorAll(elementCode), + count = els.length; + els.forEach((element) => { + if (element.getAttribute("data-original-code") != null) { + element.removeAttribute("data-processed"); + element.innerHTML = element.getAttribute("data-original-code"); + } + count--; + if (count == 0) { + resolve(); + } + }); + } catch (error) { + reject(error); + } + }); +}; export const ModeToggle = { modeToggleButton_dom: null, iconDom: null, mermaidLightTheme: null, mermaidDarkTheme: null, + async mermaidInit(theme) { + if (window.mermaid) { + await resetProcessed(); + mermaid.initialize({ theme }); + mermaid.init({ theme }, document.querySelectorAll(elementCode)); + } + }, + enableLightMode() { document.body.classList.remove("dark-mode"); document.documentElement.classList.remove("dark"); @@ -13,7 +62,7 @@ export const ModeToggle = { this.iconDom.className = "fa-regular fa-moon"; main.styleStatus.isDark = false; main.setStyleStatus(); - this.mermaidLightInit(); + this.mermaidInit(this.mermaidLightTheme); this.setGiscusTheme(); }, @@ -25,26 +74,10 @@ export const ModeToggle = { this.iconDom.className = "fa-regular fa-brightness"; main.styleStatus.isDark = true; main.setStyleStatus(); - this.mermaidDarkInit(); + this.mermaidInit(this.mermaidDarkTheme); this.setGiscusTheme(); }, - mermaidLightInit() { - if (window.mermaid) { - mermaid.initialize({ - theme: this.mermaidLightTheme, - }); - } - }, - - mermaidDarkInit() { - if (window.mermaid) { - mermaid.initialize({ - theme: this.mermaidDarkTheme, - }); - } - }, - async setGiscusTheme(theme) { if (document.querySelector("#giscus-container")) { let giscusFrame = document.querySelector("iframe.giscus-frame"); @@ -100,7 +133,7 @@ export const ModeToggle = { }); }, - init() { + async init() { this.modeToggleButton_dom = document.querySelector( ".tool-dark-light-toggle", ); @@ -117,7 +150,7 @@ export const ModeToggle = { typeof theme.mermaid.style.dark !== "undefined" ? theme.mermaid.style.dark : "dark"; - + await saveOriginalData().catch(console.error); this.initModeStatus(); this.initModeToggleButton(); this.initModeAutoTrigger(); From 6947218748afeb39589d5eb6a52b52799f340a9e Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sat, 30 Sep 2023 11:51:52 -0400 Subject: [PATCH 17/27] waline: change to local #247 --- layout/_partials/comments/waline.ejs | 2 +- layout/_partials/scripts.ejs | 14 ++++---- scripts/helpers/themeHelpers.js | 50 +++++++++++++++++++++++++++- source/js/libs/waline.mjs | 2 ++ source/js/libs/waline.mjs.map | 1 + 5 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 source/js/libs/waline.mjs create mode 100644 source/js/libs/waline.mjs.map diff --git a/layout/_partials/comments/waline.ejs b/layout/_partials/comments/waline.ejs index 6b128067..20f642ae 100644 --- a/layout/_partials/comments/waline.ejs +++ b/layout/_partials/comments/waline.ejs @@ -6,7 +6,7 @@
    \n","var e=new Map;function t(t){var o=e.get(t);o&&o.destroy()}function o(t){var o=e.get(t);o&&o.update()}var r=null;\"undefined\"==typeof window?((r=function(e){return e}).destroy=function(e){return e},r.update=function(e){return e}):((r=function(t,o){return t&&Array.prototype.forEach.call(t.length?t:[t],function(t){return function(t){if(t&&t.nodeName&&\"TEXTAREA\"===t.nodeName&&!e.has(t)){var o,r=null,n=window.getComputedStyle(t),i=(o=t.value,function(){a({testForHeightReduction:\"\"===o||!t.value.startsWith(o),restoreTextAlign:null}),o=t.value}),l=function(o){t.removeEventListener(\"autosize:destroy\",l),t.removeEventListener(\"autosize:update\",s),t.removeEventListener(\"input\",i),window.removeEventListener(\"resize\",s),Object.keys(o).forEach(function(e){return t.style[e]=o[e]}),e.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,textAlign:t.style.textAlign,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener(\"autosize:destroy\",l),t.addEventListener(\"autosize:update\",s),t.addEventListener(\"input\",i),window.addEventListener(\"resize\",s),t.style.overflowX=\"hidden\",t.style.wordWrap=\"break-word\",e.set(t,{destroy:l,update:s}),s()}function a(e){var o,i,l=e.restoreTextAlign,s=void 0===l?null:l,d=e.testForHeightReduction,u=void 0===d||d,c=n.overflowY;if(0!==t.scrollHeight&&(\"vertical\"===n.resize?t.style.resize=\"none\":\"both\"===n.resize&&(t.style.resize=\"horizontal\"),u&&(o=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push([e.parentNode,e.parentNode.scrollTop]),e=e.parentNode;return function(){return t.forEach(function(e){var t=e[0],o=e[1];t.style.scrollBehavior=\"auto\",t.scrollTop=o,t.style.scrollBehavior=null})}}(t),t.style.height=\"\"),i=\"content-box\"===n.boxSizing?t.scrollHeight-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)):t.scrollHeight+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),\"none\"!==n.maxHeight&&i>parseFloat(n.maxHeight)?(\"hidden\"===n.overflowY&&(t.style.overflow=\"scroll\"),i=parseFloat(n.maxHeight)):\"hidden\"!==n.overflowY&&(t.style.overflow=\"hidden\"),t.style.height=i+\"px\",s&&(t.style.textAlign=s),o&&o(),r!==i&&(t.dispatchEvent(new Event(\"autosize:resized\",{bubbles:!0})),r=i),c!==n.overflow&&!s)){var v=n.textAlign;\"hidden\"===n.overflow&&(t.style.textAlign=\"start\"===v?\"end\":\"start\"),a({restoreTextAlign:v,testForHeightReduction:!0})}}function s(){a({testForHeightReduction:!0,restoreTextAlign:null})}}(t)}),t}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],t),e},r.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e});var n=r;export default n;\n","\n\n\n\n\n\n\n","\n\n
    1\" class=\"wl-tabs\">\n \n \n \n
    \n \n \n \n\n \n \n \n \n\n\n\n","import { type RemovableRef, useStorage } from '@vueuse/core';\n\nexport interface UserMeta {\n nick: string;\n mail: string;\n link: string;\n}\n\nexport const useUserMeta = (): RemovableRef =>\n useStorage('WALINE_USER_META', {\n nick: '',\n mail: '',\n link: '',\n });\n\nexport const useEditor = (): RemovableRef =>\n useStorage('WALINE_COMMENT_BOX_EDITOR', '');\n","/// \n\nexport const userAgent = async (): Promise => {\n if (!navigator) {\n return '';\n }\n\n const { userAgentData } = navigator;\n let ua = navigator.userAgent;\n\n // https://learn.microsoft.com/en-us/microsoft-edge/web-platform/how-to-detect-win11\n if (!userAgentData || userAgentData.platform !== 'Windows') {\n return ua;\n }\n\n const { platformVersion } = await userAgentData.getHighEntropyValues([\n 'platformVersion',\n ]);\n\n if (!platformVersion) {\n return ua;\n }\n\n const isWindows11Later = parseInt(platformVersion.split('.')[0]) >= 13;\n\n if (isWindows11Later) {\n ua = ua.replace('Windows NT 10.0', 'Windows NT 11.0');\n }\n\n return ua;\n};\n","import { useScriptTag } from '@vueuse/core';\n\ninterface TurnstileOptions {\n sitekey: string;\n action?: string;\n size?: 'normal' | 'compact';\n callback?: (token: string) => void;\n}\ninterface TurnstileInstance {\n ready: (fn: () => void) => void;\n excute: (className: string, options?: TurnstileOptions) => void;\n render: (className: string, options?: TurnstileOptions) => void;\n}\n\ndeclare global {\n interface Window {\n turnstile?: TurnstileInstance;\n }\n}\n\ninterface Turnstile {\n execute: (action: string) => Promise;\n}\n\nexport const useTurnstile = (key: string): Turnstile => {\n const execute = async (action: string): Promise => {\n const { load } = useScriptTag(\n 'https://challenges.cloudflare.com/turnstile/v0/api.js',\n undefined,\n { async: false },\n );\n\n await load();\n\n const turnstile = window?.turnstile;\n\n return new Promise((resolve) => {\n turnstile?.ready(() => {\n turnstile?.render('.wl-captcha-container', {\n sitekey: key,\n action,\n size: 'compact',\n callback: resolve,\n });\n });\n });\n };\n\n return { execute };\n};\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { type BaseAPIOptions } from './utils.js';\n\nexport interface UserInfo {\n /**\n * 显示姓名\n *\n * User name displayed\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n display_name: string;\n\n /**\n * 用户电子邮件地址\n *\n * User email\n */\n email: string;\n\n /**\n * 用户网站地址\n *\n * User website\n */\n url: string;\n\n /**\n * 用户令牌\n *\n * User token\n */\n token: string;\n\n /**\n * 用户头像\n *\n * User avatar\n */\n avatar: string;\n\n /**\n * 用户邮箱 MD5\n *\n * MD5 of User email\n */\n mailMd5: string;\n\n /**\n * 用户对象 ID\n *\n * User object ID\n */\n objectId: string | number;\n\n /**\n * 用户身份\n *\n * User role\n */\n type: 'administrator' | 'guest';\n}\n\nexport const login = ({\n lang,\n serverURL,\n}: BaseAPIOptions): Promise => {\n const width = 450;\n const height = 450;\n const left = (window.innerWidth - width) / 2;\n const top = (window.innerHeight - height) / 2;\n\n const handler = window.open(\n `${serverURL}/ui/login?lng=${encodeURIComponent(lang)}`,\n '_blank',\n `width=${width},height=${height},left=${left},top=${top},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`,\n );\n\n handler?.postMessage({ type: 'TOKEN', data: null }, '*');\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const receiver = ({ data }: any): void => {\n if (!data || typeof data !== 'object' || data.type !== 'userInfo') return;\n\n if (data.data.token) {\n handler?.close();\n\n window.removeEventListener('message', receiver);\n\n resolve(data.data as UserInfo & { remember: boolean });\n }\n };\n\n window.addEventListener('message', receiver);\n });\n};\n","/**\n * The wordCount module should be lightweight as it's packed into client.\n *\n * So We just make a simple implement here\n *\n * Forked from https://github.com/vuepress-theme-hope/vuepress-theme-hope/blob/main/packages/reading-time2/src/node/readingTime.ts\n */\n\n/**\n * Extract Latin words from content\n */\nexport const getWords = (content: string): RegExpMatchArray | null =>\n // \\u00C0-\\u024F are Latin Supplement letters, maybe used in language like french\n // \\u0400-\\u04FF are Cyrillic letters, used in russian\n content.match(/[\\w\\d\\s,.\\u00C0-\\u024F\\u0400-\\u04FF]+/giu);\n\n/**\n * Extract Chinese Characters from content\n */\nexport const getChinese = (content: string): RegExpMatchArray | null =>\n content.match(/[\\u4E00-\\u9FD5]/gu);\n\n/**\n * Get word number of given string\n */\nexport const getWordNumber = (content: string): number =>\n (getWords(content)?.reduce(\n (accumulator, word) =>\n accumulator + (word.trim() === '' ? 0 : word.trim().split(/\\s+/u).length),\n 0,\n ) || 0) + (getChinese(content)?.length || 0);\n","\n\n\n","declare const VERSION: string;\n\nexport const version = VERSION;\n","\n\n\n","import { getPageview, updatePageview } from './api/index.js';\nimport { type WalineAbort } from './typings/index.js';\nimport { errorHandler, getQuery, getServerURL } from './utils/index.js';\n\nexport interface WalinePageviewCountOptions {\n /**\n * Waline 服务端地址\n *\n * Waline server url\n */\n serverURL: string;\n\n /**\n * 浏览量 CSS 选择器\n *\n * Pageview CSS selector\n *\n * @default '.waline-pageview-count'\n */\n selector?: string;\n\n /**\n * 需要更新和获取的路径\n *\n * Path to be fetched and updated\n *\n * @default window.location.pathname\n */\n path?: string;\n\n /**\n * 是否在查询时更新 path 的浏览量\n *\n * Whether update pageviews when fetching path result\n *\n * @default true\n */\n update?: boolean;\n\n /**\n * 错误提示消息所使用的语言\n *\n * Language of error message\n *\n * @default navigator.language\n */\n lang?: string;\n}\n\nconst renderVisitorCount = (\n counts: number[],\n countElements: HTMLElement[],\n): void => {\n countElements.forEach((element, index) => {\n element.innerText = counts[index].toString();\n });\n};\n\nexport const pageviewCount = ({\n serverURL,\n path = window.location.pathname,\n selector = '.waline-pageview-count',\n update = true,\n lang = navigator.language,\n}: WalinePageviewCountOptions): WalineAbort => {\n const controller = new AbortController();\n\n const elements = Array.from(\n // pageview selectors\n document.querySelectorAll(selector),\n );\n\n const filter = (element: HTMLElement): boolean => {\n const query = getQuery(element);\n\n return query !== null && path !== query;\n };\n\n const fetch = (elements: HTMLElement[]): Promise =>\n getPageview({\n serverURL: getServerURL(serverURL),\n paths: elements.map((element) => getQuery(element) || path),\n lang,\n signal: controller.signal,\n })\n .then((counts) => renderVisitorCount(counts, elements))\n .catch(errorHandler);\n\n // we should update pageviews\n if (update) {\n const normalElements = elements.filter((element) => !filter(element));\n const elementsNeedstoBeFetched = elements.filter(filter);\n\n void updatePageview({\n serverURL: getServerURL(serverURL),\n path,\n lang,\n }).then((count) =>\n renderVisitorCount(\n new Array(normalElements.length).fill(count),\n normalElements,\n ),\n );\n\n // if we should fetch count of other pages\n if (elementsNeedstoBeFetched.length) {\n void fetch(elementsNeedstoBeFetched);\n }\n }\n // we should not update pageviews\n else {\n void fetch(elements);\n }\n\n return controller.abort.bind(controller);\n};\n","import { getArticleCounter, updateArticleCounter } from './articleCounter.js';\nimport { type BaseAPIOptions } from './utils.js';\n\ninterface GetPageviewOptions extends BaseAPIOptions {\n /**\n * 待获取页面的 path\n *\n * Path of pages\n */\n paths: string[];\n\n /**\n * 取消请求的信号\n *\n * AbortSignal to cancel request\n */\n signal?: AbortSignal;\n}\n\nexport const getPageview = ({\n serverURL,\n lang,\n paths,\n signal,\n}: GetPageviewOptions): Promise =>\n getArticleCounter({\n serverURL,\n lang,\n paths,\n type: ['time'],\n signal,\n })\n // TODO: Improve this API\n .then((counts) => (Array.isArray(counts) ? counts : [counts])) as Promise<\n number[]\n >;\n\nexport interface UpdatePageviewOptions extends BaseAPIOptions {\n /**\n * 待更新页面的 path\n *\n * Path of pages\n */\n path: string;\n}\n\nexport const updatePageview = (\n options: UpdatePageviewOptions,\n): Promise =>\n updateArticleCounter({\n ...options,\n type: 'time',\n action: 'inc',\n });\n","import { createApp, h, reactive, watchEffect } from 'vue';\n\nimport { commentCount } from './comment.js';\nimport Waline from './components/WalineComment.vue';\nimport { pageviewCount } from './pageview.js';\nimport { type WalineInitOptions } from './typings/index.js';\nimport { getRoot } from './utils/index.js';\n\nexport interface WalineInstance {\n /**\n * Waline 被挂载到的元素\n *\n * @description 当通过 `el: null` 初始化,值为 `null`\n *\n * Element where Waline is mounted\n *\n * @description when initialized with `el: null`, it will be `null`\n */\n el: HTMLElement | null;\n\n /**\n * 更新 Waline 实例\n *\n * @description 只要不设置`path` 选项,更新时它就会被重置为 `windows.location.pathname`\n *\n * Update Waline instance\n *\n * @description when not setting `path` option, it will be reset to `window.location.pathname`\n */\n update: (newOptions?: Partial>) => void;\n\n /**\n * 取消挂载并摧毁 Waline 实例\n *\n * Unmount and destroy Waline instance\n */\n destroy: () => void;\n}\n\nexport const init = ({\n el = '#waline',\n path = window.location.pathname,\n comment = false,\n pageview = false,\n ...initProps\n}: WalineInitOptions): WalineInstance | null => {\n // check el element\n const root = el ? getRoot(el) : null;\n\n // check root\n if (el && !root) throw new Error(`Option 'el' do not match any domElement!`);\n\n // check serverURL\n if (!initProps.serverURL) throw new Error(\"Option 'serverURL' is missing!\");\n\n const props = reactive({ ...initProps });\n const state = reactive({ comment, pageview, path });\n\n const updateCommentCount = (): void => {\n if (state.comment)\n commentCount({\n serverURL: props.serverURL,\n path: state.path,\n selector: typeof state.comment === 'string' ? state.comment : undefined,\n });\n };\n\n const updatePageviewCount = (): void => {\n if (state.pageview)\n pageviewCount({\n serverURL: props.serverURL,\n path: state.path,\n selector:\n typeof state.pageview === 'string' ? state.pageview : undefined,\n });\n };\n\n const app = root\n ? createApp(() => h(Waline, { path: state.path, ...props }))\n : null;\n\n if (app) app.mount(root!);\n\n const stopComment = watchEffect(updateCommentCount);\n const stopPageview = watchEffect(updatePageviewCount);\n\n return {\n el: root,\n update: ({\n comment,\n pageview,\n path = window.location.pathname,\n ...newProps\n }: Partial> = {}): void => {\n Object.entries(newProps).forEach(([key, value]) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line\n props[key] = value;\n });\n\n state.path = path;\n if (comment !== undefined) state.comment = comment;\n if (pageview !== undefined) state.pageview = pageview;\n },\n destroy: (): void => {\n app?.unmount();\n stopComment();\n stopPageview();\n },\n };\n};\n","import { getRecentComment } from '../api/index.js';\nimport { useUserInfo } from '../composables/index.js';\nimport { type WalineComment } from '../typings/index.js';\nimport { getRoot } from '../utils/index.js';\n\nexport interface WalineRecentCommentsOptions {\n /**\n * Waline 服务端地址\n *\n * Waline serverURL\n */\n serverURL: string;\n\n /**\n * 获取最新评论的数量\n *\n * fetch number of latest comments\n */\n count: number;\n\n /**\n * 需要挂载的元素\n *\n * Element to be mounted\n */\n el?: string | HTMLElement;\n\n /**\n * 错误提示消息所使用的语言\n *\n * Language of error message\n *\n * @default navigator.language\n */\n lang?: string;\n}\n\nexport interface WalineRecentCommentsResult {\n /**\n * 评论数据\n *\n * Comment Data\n */\n comments: WalineComment[];\n\n /**\n * 取消挂载挂件\n *\n * Umount widget\n */\n destroy: () => void;\n}\n\nexport const RecentComments = ({\n el,\n serverURL,\n count,\n lang = navigator.language,\n}: WalineRecentCommentsOptions): Promise => {\n const userInfo = useUserInfo();\n const root = getRoot(el);\n const controller = new AbortController();\n\n return getRecentComment({\n serverURL,\n count,\n lang,\n signal: controller.signal,\n token: userInfo.value?.token,\n }).then((comments) => {\n if (root && comments.length) {\n root.innerHTML = `
      ${comments\n .map(\n (comment) =>\n `
    • ${comment.nick}:${comment.comment}
    • `,\n )\n .join('')}
    `;\n\n return {\n comments,\n destroy: (): void => {\n controller.abort();\n root.innerHTML = '';\n },\n };\n }\n\n return {\n comments,\n destroy: (): void => controller.abort(),\n };\n });\n};\n","import { type BaseAPIOptions } from './utils.js';\nimport { type WalineComment } from '../typings/index.js';\n\nexport interface GetRecentCommentOptions extends BaseAPIOptions {\n /**\n * 获取评论的数量\n *\n * Comment number to be fetched\n */\n count: number;\n\n /**\n * 取消请求的信号\n *\n * AbortSignal to cancel request\n */\n signal?: AbortSignal;\n\n /**\n * 用户令牌\n *\n * User token\n */\n token?: string;\n}\n\nexport const getRecentComment = ({\n serverURL,\n lang,\n count,\n signal,\n token,\n}: GetRecentCommentOptions): Promise => {\n const headers: Record = {};\n\n if (token) headers.Authorization = `Bearer ${token}`;\n\n return fetch(`${serverURL}/comment?type=recent&count=${count}&lang=${lang}`, {\n signal,\n headers,\n }).then((resp) => >resp.json());\n};\n","import { getUserList, WalineUser } from '../api';\nimport { DEFAULT_LANG, DEFAULT_LOCALES } from '../config';\nimport { WalineLocale } from '../typings';\nimport { getRoot } from '../utils';\n\nexport interface WalineUserListOptions {\n /**\n * Waline 服务端地址\n *\n * Waline serverURL\n */\n serverURL: string;\n\n /**\n * 获取用户列表的数量\n *\n * fetch number of user list\n */\n count: number;\n\n /**\n * 需要挂载的元素\n *\n * Element to be mounted\n */\n el?: string | HTMLElement;\n\n /**\n * 错误提示消息所使用的语言\n *\n * Language of error message\n *\n * @default navigator.language\n */\n lang?: string;\n\n /**\n * 自定义 waline 语言显示\n *\n * @see [自定义语言](https://waline.js.org/client/i18n.html)\n *\n * Custom display language in waline\n *\n * @see [I18n](https://waline.js.org/en/client/i18n.html)\n */\n locale?: WalineLocale;\n\n /**\n * 列表模式还是头像墙模式\n *\n * list mode or avatar wall mode\n */\n mode: 'list' | 'wall';\n}\n\nexport interface WalineUserListResult {\n /**\n * 用户数据\n *\n * User Data\n */\n users: WalineUser[];\n\n /**\n * 取消挂载挂件\n *\n * Umount widget\n */\n destroy: () => void;\n}\n\nexport const UserList = ({\n el,\n serverURL,\n count,\n locale,\n lang = navigator.language,\n mode = 'list',\n}: WalineUserListOptions): Promise => {\n const root = getRoot(el);\n const controller = new AbortController();\n\n return getUserList({\n serverURL,\n pageSize: count,\n lang,\n signal: controller.signal,\n }).then((users) => {\n if (!root || !users.length)\n return {\n users,\n destroy: (): void => controller.abort(),\n };\n\n locale = {\n ...(DEFAULT_LOCALES[lang] || DEFAULT_LOCALES[DEFAULT_LANG]),\n ...(typeof locale === 'object' ? locale : {}),\n } as WalineLocale;\n\n root.innerHTML = ``;\n\n return {\n users,\n destroy: (): void => {\n controller.abort();\n root.innerHTML = '';\n },\n };\n });\n};\n","import {\n type BaseAPIOptions,\n errorCheck,\n ErrorStatusResponse,\n} from './utils.js';\nimport { type WalineComment } from '../typings/index.js';\n\nexport interface GetUserListOptions extends BaseAPIOptions {\n /**\n * 每页个数\n *\n * Number per page\n */\n pageSize: number;\n\n /**\n * 取消请求的信号\n *\n * AbortSignal to cancel request\n */\n signal?: AbortSignal;\n}\n\nexport interface WalineUser\n extends Pick {\n count: number;\n}\n\nexport interface GetUserListResponse extends ErrorStatusResponse {\n data: WalineUser[];\n}\n\nexport const getUserList = ({\n serverURL,\n signal,\n pageSize,\n lang,\n}: GetUserListOptions): Promise =>\n fetch(`${serverURL}/user?pageSize=${pageSize}&lang=${lang}`, {\n signal,\n })\n .then((resp) => >resp.json())\n .then((resp) => errorCheck(resp, 'user list'))\n .then((resp) => resp.data);\n"],"names":["AVAILABLE_META","getMeta","meta","filter","item","includes","DEFAULT_EMOJI","DEFAULT_LANG","DEFAULT_REACTION","defaultUploadImage","file","Promise","resolve","reject","size","Error","reader","FileReader","readAsDataURL","onload","result","toString","onerror","defaultTeXRenderer","blockMode","getDefaultSearchOptions","lang","fetchGiphy","async","url","params","fetch","URLSearchParams","limit","rating","api_key","then","resp","json","data","map","gif","title","src","images","downsized_medium","search","word","q","offset","default","more","REGEXP","RegExp","source","COLORS","cache","defaultHighlighter","input","index","replace","_match","comment","color","out","length","localeKeys","generateLocale","locale","Object","fromEntries","en","jp","ptBR","ru","zhCN","zhTW","DEFAULT_LOCALES","zh","ja","JSON_HEADERS","errorCheck","name","errno","TypeError","errmsg","getArticleCounter","serverURL","paths","type","signal","encodeURIComponent","join","updateArticleCounter","path","action","method","headers","body","JSON","stringify","updateComment","token","objectId","Authorization","decodePath","decodeURI","err","removeEndingSplash","content","isLinkHttp","link","test","getServerURL","getWordLimit","wordLimit","Array","isArray","fallback","value","style","padWithZeros","vNumber","width","numAsString","getTimeAgo","date","now","time","Date","indexOf","timePassed","getTime","days","Math","floor","leave1","hours","leave2","minutes","leave3","round","seconds","vDay","getDate","vMonth","getMonth","getFullYear","dateFormat","EMAIL_REG_EXP","makeMap","str","expectsLowerCase","create","list","split","i","val","toLowerCase","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","key","isModelListener","startsWith","extend","assign","remove","arr","el","splice","hasOwnProperty","prototype","hasOwn","call","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","catch","objectToString","toRawType","slice","isPlainObject","isIntegerKey","parseInt","isReservedProp","cacheStringFunction","fn","camelizeRE","camelize","_","c","toUpperCase","hyphenateRE","hyphenate","capitalize","charAt","toHandlerKey","hasChanged","oldValue","is","invokeArrayFns","fns","arg","def","obj","defineProperty","configurable","enumerable","looseToNumber","n","parseFloat","isNaN","_globalThis","getGlobalThis","globalThis","self","window","global","normalizeStyle","res","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","forEach","tmp","trim","normalizeClass","isSpecialBooleanAttr","includeBooleanAttr","looseEqual","a","b","aValidType","bValidType","equal","looseCompareArrays","keys","aHasKey","bHasKey","String","looseIndexOf","findIndex","toDisplayString","replacer","_key","__v_isRef","entries","reduce","val2","values","activeEffectScope","EffectScope","constructor","detached","this","_active","effects","cleanups","parent","scopes","push","active","run","currentEffectScope","on","off","stop","fromParent","l","last","pop","getCurrentScope","createDep","dep","Set","w","wasTracked","trackOpBit","newTracked","targetMap","WeakMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","Symbol","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","scope","deps","effect","recordEffectScope","lastShouldTrack","shouldTrack","initDepMarkers","cleanupEffect","ptr","delete","finalizeDepMarkers","deferStop","onStop","effect2","trackStack","pauseTracking","resetTracking","track","target","depsMap","get","set","Map","trackEffects","debuggerEventExtraInfo","shouldTrack2","has","add","trigger","newValue","oldTarget","newLength","Number","key2","triggerEffects","computed","triggerEffect","allowRecurse","isNonTrackableKeys","builtInSymbols","getOwnPropertyNames","get$1","createGetter","shallowGet","readonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","apply","isReadonly2","shallow","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","Reflect","isRef","readonly","reactive","createSetter","isReadonly","isShallow","hadKey","mutableHandlers","deleteProperty","ownKeys","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","v","getPrototypeOf","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","targetIsMap","isPair","iterator","isKeyOnly","innerIterator","next","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","createReactiveObject","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isExtensible","rawType","targetTypeMap","proxy","Proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","_rawValue","_value","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","ComputedRefImpl","getter","_setter","isSSR","_dirty","_cacheable","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","throwInDev","vnode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","appContext","config","errorHandler","contextVNode","console","error","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","bind","queueJob","job","id","start","end","middle","getId","findInsertionIndex","queueFlush","flushJobs","flushPreFlushCbs","seen","cb","pre","flushPostFlushCbs","deduped","sort","Infinity","comparator","diff","emit","event","rawArgs","isUnmounted","props","modelArg","modifiersKey","number","handlerName","handler","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","emitsCache","cached","emits","isEmitListener","options","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","__scopeId","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","render","renderCache","setupState","ctx","inheritAttrs","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","some","filterModelListeners","cloneVNode","dirs","concat","transition","hasPropsChanged","prevProps","nextProps","emitsOptions","nextKeys","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","onTrack","onTrigger","_a","currentInstance","cleanup","forceTrigger","isMultiSource","isShallow$1","s","traverse","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","__watcherHandles","fill","queuePostRenderEffect","suspense","uid","unwatch","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","modifiers","mounted","updated","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","defineComponent","extraOptions","setup","isAsyncWrapper","__asyncLoader","isKeepAlive","__isKeepAlive","createHook","lifecycle","prepend","hooks","wrappedHook","__weh","setCurrentInstance","unsetCurrentInstance","unshift","injectHook","onMounted","onBeforeUnmount","onUnmounted","COMPONENTS","resolveComponent","maybeSelfReference","warnMissing","selfName","includeInferred","displayName","__name","getComponentName","resolveAsset","NULL_DYNAMIC_COMPONENT","for","registry","renderList","renderItem","from","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","$slots","$refs","refs","$parent","$root","$emit","$options","$forceUpdate","f","update","$nextTick","$watch","hasSetupBinding","state","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","publicGetter","cssModule","globalProperties","__cssModules","descriptor","normalizePropsOrEmits","mergeOptions","to","strats","mixins","extends","extendsOptions","m","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","methods","mergeObjectOptions","beforeCreate","mergeAsArray","created","beforeMount","beforeUpdate","beforeDestroy","beforeUnmount","destroyed","unmounted","activated","deactivated","errorCaptured","serverPrefetch","components","merged","provide","inject","normalizeInject","createAppContext","app","isNativeTag","performance","optionMergeStrategies","warnHandler","compilerOptions","provides","optionsCache","propsCache","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","isMounted","_uid","_component","_props","_container","_context","_instance","version","use","plugin","install","mixin","component","directive","mount","rootContainer","isHydrate","isSVG","__vue_app__","unmount","runWithContext","currentApp","defaultValue","treatDefaultAsFactory","arguments","initProps","rawProps","isStateful","InternalObjectKey","propsDefaults","setFullProps","needCastKeys","rawCastValues","hasAttrsChanged","camelKey","rawCurrentProps","castValues","resolvePropValue","isAbsent","opt","hasDefault","Function","skipFactory","normalizePropsOptions","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","Boolean","stringIndex","getType","ctor","match","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","_n","isNonScopedSlot","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","withCtx","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","children","initSlots","updateSlots","optimized","needDeletionCheck","deletionComparisonTarget","$stable","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","k","pendingBranch","createRenderer","createHydrationFns","__VUE__","insert","hostInsert","hostRemove","patchProp","hostPatchProp","createElement","hostCreateElement","createText","hostCreateText","createComment","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","parentNode","hostParentNode","nextSibling","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","dynamicChildren","isSameVNodeType","getNextHostNode","patchFlag","Text","processText","processCommentNode","Static","mountStaticNode","Fragment","processFragment","processElement","processComponent","process","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","vnodeHook","mountChildren","scopeId","unmountChildren","onVnodeBeforeMount","invokeVNodeHook","needCallTransitionHooks","persisted","beforeEnter","onVnodeMounted","enter","subTree","parentVNode","child","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","class","propsToUpdate","dynamicProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","activate","mountComponent","updateComponent","initialVNode","emptyAppContext","exposed","exposeProxy","setupContext","attrsProxy","slotsProxy","suspenseId","pendingId","asyncDep","asyncResolved","isDeactivated","bc","bm","bu","u","um","bum","da","rtg","rtc","sp","ce","createComponentInstance","renderer","setupResult","expose","getAttrsProxy","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","setupStatefulComponent","setupComponent","registerDep","setupRenderEffect","placeholder","nextVNode","prevChildren","nextChildren","shouldUpdateComponent","updateComponentPreRender","invalidateJob","componentUpdateFn","originNext","nextTree","prevTree","updateHOCHostEl","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","rawPrevProps","kebabKey","camelizedKey","updateProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","min","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","len","arrI","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","deactivate","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","onVnodeUnmounted","removeFragment","performRemove","_vnode","mt","mc","pc","pbc","o","createApp","baseCreateRenderer","allowed","ch1","ch2","currentBlock","openBlock","disableTracking","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","createBlock","isVNode","__v_isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","ssContent","ssFallback","targetAnchor","staticCount","normalizeChildren","normalize","cloned","__vccOpts","guardReactiveProps","klass","__isSuspense","isSuspense","__isTeleport","isTeleport","extraProps","mergeRef","mergedProps","toMerge","incoming","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","memo","slot","slotFlag","getCurrentInstance","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","compile","__ssrInlineRender","ssrRender","skipOptions","template","base","globalMixins","resolved","resolveMergedOptions","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","getterOrOptions","debugOptions","setter","onlyGetter","computed$1","h","propsOrChildren","ssrContextKey","doc","document","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","multiple","setAttribute","createTextNode","node","nodeValue","textContent","querySelector","selector","before","previousSibling","lastChild","cloneNode","innerHTML","wrapper","firstChild","appendChild","importantRE","setStyle","setProperty","prefixed","rawName","prefixCache","prefixes","autoPrefix","xlinkNS","addEventListener","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","optionsModifierRE","parseName","invoker","initialValue","_vts","attached","originalStop","stopImmediatePropagation","_stopped","patchStopImmediatePropagation","getNow","createInvoker","removeEventListener","cachedNow","nativeOnRE","getModelAssigner","onCompositionStart","composing","onCompositionEnd","dispatchEvent","Event","vModelText","lazy","_assign","castToNumber","domValue","activeElement","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","setSelected","_binding","isMultiple","option","optionValue","selectedIndex","vModelDynamic","callModelHook","tagName","resolveDynamicModel","vShow","_vod","display","setDisplay","rendererOptions","transitionClasses","_vtc","removeAttribute","className","patchClass","isCssString","currentDisplay","patchStyle","shouldSetAsProp","getAttribute","needRemove","patchDOMProp","_trueValue","_falseValue","removeAttributeNS","setAttributeNS","isBoolean","patchAttr","containerOrSelector","normalizeContainer","SVGElement","Element","tryOnScopeDispose","onScopeDispose","toValue","isClient","noop","createFilterWrapper","bypassFilter","invoke","useDebounceFn","ms","timer","maxTimer","lastRejector","_clearTimeout","timer2","clearTimeout","duration","maxDuration","maxWait","rejectOnCancel","setTimeout","debounceFilter","watchPausable","eventFilter","watchOptions","pause","resume","isActive","extendFilter","pausableFilter","watchWithFilter","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","listeners","stopWatch","options2","optionsClone","flatMap","listener","register","_global","globalKey","handlers","getHandlers","StorageSerializers","boolean","read","write","object","parse","any","string","toISOString","customStorageEventName","useStorage","defaults","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","getSSRHandler","_a2","localStorage","rawInit","guessSerializerType","serializer","pauseWatch","resumeWatch","pausableWatch","removeItem","serialized","getItem","setItem","CustomEvent","detail","storageArea","useNow","controls","exposeControls","interval","previousFrameTimestamp","rafId","loop","timestamp","delta","requestAnimationFrame","cancelAnimationFrame","useRafFn","immediateCallback","clean","clearInterval","intervalValue","setInterval","useIntervalFn","useScriptTag","onLoaded","manual","crossOrigin","referrerPolicy","noModule","defer","scriptTag","_promise","load","waitForScriptLoad","resolveWithElement","el2","shouldAppend","hasAttribute","head","loadScript","unload","_id","fetchEmoji","emojiStore","info","emojiInfo","folder","getLink","prefix","message","getRoot","HTMLElement","isImage","getImageFromDataTransfer","items","image","find","getAsFile","getDefaults","baseUrl","breaks","extensions","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","sanitize","sanitizer","silent","smartypants","tokenizer","walkTokens","xhtml","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape","html","encode","unescapeTest","unescape","fromCharCode","substring","caret","edit","regex","getRegex","nonWordAndColonTest","originIndependentUrl","cleanUrl","href","prot","decodeURIComponent","baseUrls","justDomain","rtrim","relativeBase","protocol","domain","resolveUrl","encodeURI","noopTest","exec","splitCells","tableRow","count","cells","escaped","curr","shift","invert","suffLen","currChar","repeatString","pattern","outputLink","cap","lexer","inLink","tokens","inlineTokens","Tokenizer","space","rules","block","newline","code","codeBlockStyle","fences","matchIndentToCode","indentToCode","matchIndentInNode","indentInNode","indentCodeCompensation","inline","_escapes","heading","trimmed","depth","hr","blockquote","top","blockTokens","istask","ischecked","indent","blankLine","endsWithBlankLine","line","nextLine","rawLine","itemContents","endEarly","bull","isordered","ordered","loose","itemRegex","repeat","trimLeft","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","task","trimRight","spacers","hasMultipleLineBreaks","table","header","align","rows","row","lheading","paragraph","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","level","findClosingBracket","linkLen","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","nextChar","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","prevCapZero","_backpedal","inlineText","_paragraph","_label","_title","bullet","listItemStart","_tag","_comment","normal","reflinkSearch","charCodeAt","random","_punctuation","blockSkip","escapedEmSt","_scheme","_email","_attribute","_href","strong","endAst","endUnd","em","_extended_email","Lexer","inlineQueue","lex","lexInline","lastToken","cutSrc","lastParagraphClipped","leading","tabs","extTokenizer","startBlock","startIndex","tempSrc","tempStart","getStartIndex","errMsg","keepPrevChar","lastIndexOf","startInline","Renderer","infostring","quote","slugger","slug","listitem","checkbox","tablerow","tablecell","flags","TextRenderer","Slugger","serialize","getNextSafeSlug","originalSlug","isDryRun","occurenceAccumulator","dryrun","Parser","textRenderer","parseInline","l3","cell","itemBody","renderers","parser","Hooks","static","preprocess","markdown","postprocess","parseMarkdown","origOpt","throwError","msg","marked","warn","checkSanitizeDeprecation","pending","all","setOptions","newDefaults","childTokens","pack","opts","ext","prevRenderer","prevTokenizer","prevHook","passThroughHooks","inlineMathStart","inlineMathReg","blockMathReg","parseEmoji","emojiMap","highlighter","texRenderer","undefined","smartLists","idx","markedTeXExtensions","getQuery","element","dataset","commentCount","location","pathname","navigator","language","controller","AbortController","elements","querySelectorAll","counts","fetchCommentCount","innerText","abort","CloseIcon","viewBox","height","d","DeleteIcon","EmojiIcon","ImageIcon","LikeIcon","PreviewIcon","MarkdownIcon","ariaHidden","ReplyIcon","EditIcon","VerifiedIcon","LoadingIcon","preserveAspectRatio","cx","cy","stroke","strokeWidth","attributeName","repeatCount","dur","keyTimes","GifIcon","likeStorage","useLikeStorage","reactionStorage","useReactionStorage","__awaiter","_arguments","P","generator","fulfilled","step","rejected","__generator","y","g","label","sent","trys","ops","verb","throw","return","op","ReCaptchaInstance_1","ReCaptchaInstance","siteKey","recaptchaID","recaptcha","styleContainer","execute","enterprise","getSiteKey","hideBadge","showBadge","ReCaptchaLoader_1","getInstance","ELoadingState","require$$0","ReCaptchaLoader","getLoadingState","LOADED","LOADING","instanceSiteKey","successfulLoadingConsumers","errorLoadingRunnable","reason","setLoadingState","loader","useRecaptchaNet","useEnterprise","renderParameters","customUrl","widgetID","doExplicitRender","grecaptcha","explicitRenderParameters","autoHideBadge","loadingState","NOT_LOADED","_this","scriptElement","scriptBase","parametersQuery","buildQueryString","waitForScriptToLoad","parameters","parameterKey","SCRIPT_LOAD_DELAY","ready","isEnterprise","augmentedParameters","sitekey","badge","tabindex","exports","require$$1","recaptchaStore","userInfoStorage","useUserInfo","__expose","votingIndex","voteNumbers","isReactionEnabled","reaction","reactionsInfo","icon","desc","_reaction","fetchReaction","currentVoteItemIndex","max","destroy","nodeName","getComputedStyle","testForHeightReduction","restoreTextAlign","resize","textAlign","overflowY","overflowX","wordWrap","scrollHeight","scrollTop","scrollBehavior","boxSizing","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","maxHeight","overflow","bubbles","autosize","resizeObserver","wall","columns","getColumnCount","getBoundingClientRect","gap","columnWidth","fillColumns","itemIndex","redraw","force","scrollY","scrollTo","imageLoad","ResizeObserver","observe","unobserve","editor","userMeta","nick","mail","userInfo","inputRefs","editorRef","imageUploadRef","emojiButtonRef","emojiPopupRef","gifButtonRef","gifPopupRef","gifSearchInputRef","emoji","emojiTabIndex","showEmoji","showGif","showPreview","previewText","wordNumber","searchResults","loading","isWordNumberLegal","isSubmitting","isImageListEnd","isLogin","canUploadImage","imageUploader","textArea","startPosition","selectionStart","endPosition","selectionEnd","focus","onKeyDown","ctrlKey","metaKey","submitComment","uploadImage","uploadText","uploading","alert","onDrop","dataTransfer","preventDefault","onPaste","clipboardData","onChange","inputElement","files","login","requiredMeta","recaptchaV3Key","turnstileKey","ua","userAgentData","userAgent","platform","platformVersion","getHighEntropyValues","display_name","email","nickError","mailError","anonymous","wordHint","replyId","rootId","pid","rid","at","replyUser","recaptchaV3","init","useReCaptcha","turnstile","addComment","onLogin","left","innerWidth","innerHeight","open","postMessage","close","remember","sessionStorage","onLogout","onProfile","query","lng","popupHandler","contains","onImageWallScroll","clientHeight","percent","searchOptions","keyword","onGifSearch","onMessageReceive","store","orig","getWords","accumulator","getChinese","getWordNumber","emojiConfig","getEmojis","emojis","emojiInfos","commentStatus","likes","like","insertedAt","isAdmin","isOwner","user_id","isReplyingCurrent","reply","isEditingCurrent","sortKeyMap","latest","oldest","hottest","sortingMethods","status","page","totalPages","dark","pageSize","copyright","commentSorting","getConfig","commentSortingRef","darkmodeStyle","getDarkStyle","i18n","css","isLoaded","cssRef","getElementById","isConnected","media","useStyleTag","getCommentData","pageNumber","sortBy","getComment","loadMore","refresh","onReply","onEdit","onSubmit","repliedComment","onStatusChange","onSticky","sticky","onDelete","confirm","deleteComment","_item","childIndex","onLike","hasLiked","parentProvides","renderVisitorCount","countElements","pageviewCount","getPageview","normalElements","elementsNeedstoBeFetched","pageview","Waline","stopComment","stopPageview","RecentComments","getRecentComment","comments","UserList","mode","getUserList","users","user","avatar"],"mappings":"AASA,MAAMA,EAA+B,CAAC,OAAQ,OAAQ,QAEzCC,EAAWC,GACtBA,EAAKC,QAAQC,GAASJ,EAAeK,SAASD,KAEnCE,EAAsC,CACjD,0CAGWC,EAAe,QAEfC,EAAmB,CAC9B,mDACA,uDACA,wDACA,uDACA,qDACA,oDAGWC,EAAsBC,GACjC,IAAIC,SAAQ,CAACC,EAASC,KACpB,GAAIH,EAAKI,KAAO,MACd,OAAOD,EAAO,IAAIE,MAAM,0CAE1B,MAAMC,EAAS,IAAIC,WAEnBD,EAAOE,cAAcR,GACrBM,EAAOG,OAAS,IAAYP,EAAQI,EAAOI,QAAQC,YAAc,IACjEL,EAAOM,QAAUT,CAAM,IAGdU,EAAsBC,IACnB,IAAdA,EACI,wDACA,8DAEOC,EAA2BC,IAiBtC,MAAMC,EAAaC,MACjBC,EACAC,EAAiC,CAAE,IAEnCC,MACE,iCAAiCF,KAAO,IAAIG,gBAAgB,CAC1DN,OACAO,MAAO,KACPC,OAAQ,IAERC,QAAS,sCACNL,IACFT,cAEFe,MAAMC,GAA6BA,EAAKC,SACxCF,MAAK,EAAGG,UACPA,EAAKC,KAAKC,IAAS,CACjBC,MAAOD,EAAIC,MACXC,IAAKF,EAAIG,OAAOC,iBAAiBhB,UAIzC,MAAO,CACLiB,OAASC,GACPpB,EAAW,SAAU,CAAEqB,EAAGD,EAAME,OAAQ,MAC1CC,QAAS,IAAmCvB,EAAW,WAAY,IACnEwB,KAAM,CAACJ,EAAcE,EAAS,IAC5BtB,EAAW,SAAU,CAAEqB,EAAGD,EAAME,OAAQA,EAAO5B,aAClD,EC7DG+B,EAAS,IAAIC,OACjB,IALA,wFAKgBC,UAJQ,IAIoBA,eAHlB,uBAGqDA,cAFpD,uBAEuFA,WAClH,OAGIC,EAAS,CACb,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEIC,EAAgC,CAAA,EAEzBC,EAAsBC,IACjC,IAAIC,EAAQ,EAEZ,OAAOD,EAAME,QAAQR,GAAQ,CAACS,EAAQd,EAAce,KAClD,GAAIA,EAAS,MAAO,kCAAkCA,WACtD,GAAa,MAATf,EAAc,MAAO,OAEzB,IAAIgB,EAEAP,EAAMT,GAAOgB,EAAQP,EAAMT,IAE7BgB,EAAQR,EAAOI,GACfH,EAAMT,GAAQgB,GAGhB,MAAMC,EAAM,wBAAwBD,MAAUhB,WAI9C,OAFAY,IAAUA,EAAQJ,EAAOU,OAElBD,CAAG,GACV,ECtEEE,EAAa,CACjB,OACA,YACA,OACA,YACA,OACA,WACA,cACA,OACA,SACA,OACA,aACA,QACA,cACA,UACA,UACA,OACA,UACA,QACA,cACA,UACA,UACA,QACA,OACA,MACA,YACA,QACA,SACA,QACA,SACA,OACA,WACA,YACA,SACA,SACA,SACA,SACA,SACA,SACA,MACA,uBACA,UACA,WACA,UACA,OACA,WACA,SACA,SACA,UACA,iBAGWC,EAAkBC,GAC7BC,OAAOC,YACLF,EAAO5B,KAAI,CAACpC,EAAMuD,IAAU,CAACO,EAAWP,GAAQvD,MCtDpD,IAAAmE,EAAeJ,EAAe,CAC5B,WACA,wCACA,SACA,qCACA,UACA,WACA,kBACA,kBACA,SACA,OACA,cACA,QACA,eACA,WACA,UACA,eACA,UACA,QACA,eACA,cACA,cACA,YACA,WACA,WACA,YACA,QACA,SACA,QACA,SACA,QACA,2EACA,YACA,UACA,UACA,OACA,UACA,QACA,QACA,MACA,aACA,UACA,WACA,UACA,OACA,WACA,SACA,SACA,UACA,uBCjDFK,EAAeL,EAAe,CAC5B,SACA,yBACA,UACA,mBACA,MACA,QACA,UACA,aACA,OACA,OACA,cACA,OACA,QACA,OACA,KACA,UACA,QACA,MACA,YACA,KACA,KACA,MACA,KACA,OACA,SACA,SACA,QACA,MACA,SACA,MACA,gDACA,KACA,OACA,OACA,OACA,SACA,KACA,MACA,MACA,SACA,OACA,OACA,QACA,MACA,SACA,KACA,KACA,MACA,aCjDFM,EAAeN,EAAe,CAC5B,UACA,0CACA,SACA,8CACA,UACA,WACA,kBACA,4BACA,SACA,OACA,cACA,YACA,oBACA,cACA,YACA,mBACA,aACA,QACA,gBACA,iBACA,gBACA,cACA,aACA,cACA,WACA,SACA,OACA,QACA,SACA,WACA,gFACA,UACA,UACA,UACA,OACA,UACA,QACA,QACA,MACA,gBACA,qBACA,WACA,SACA,OACA,WACA,aACA,gBACA,cACA,qBCjDFO,EAAeP,EAAe,CAC5B,YACA,uCACA,YACA,yDACA,WACA,iBACA,uBACA,yBACA,YACA,OACA,cACA,WACA,iBACA,cACA,WACA,oBACA,SACA,SACA,wBACA,eACA,wBACA,wBACA,aACA,eACA,WACA,iBACA,mBACA,QACA,SACA,QACA,8EACA,YACA,UACA,UACA,OACA,UACA,QACA,QACA,MACA,YACA,sBACA,aACA,YACA,OACA,WACA,eACA,YACA,gBACA,oBCjDFQ,EAAeR,EAAe,CAC5B,KACA,aACA,KACA,aACA,KACA,KACA,OACA,SACA,KACA,KACA,OACA,KACA,OACA,KACA,KACA,UACA,KACA,KACA,OACA,KACA,MACA,MACA,KACA,KACA,OACA,KACA,KACA,KACA,KACA,IACA,+BACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,QACA,OACA,KACA,MACA,KACA,OACA,MACA,MACA,MACA,gBCjDFS,EAAeT,EAAe,CAC5B,KACA,aACA,KACA,aACA,KACA,KACA,OACA,SACA,KACA,KACA,OACA,KACA,OACA,KACA,KACA,UACA,KACA,KACA,OACA,KACA,MACA,MACA,KACA,KACA,OACA,KACA,KACA,MACA,KACA,IACA,+BACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,QACA,OACA,KACA,MACA,KACA,OACA,KACA,KACA,KACA,gBCxCW,MAAAU,EAA2B,CACtCC,GAAIH,EACJ,QAASA,EACT,QAASA,EACT,QAASC,EACT,QAASA,EACTL,GAAIA,EACJ,QAASA,EACT,QAASA,EACTC,GAAIA,EACJO,GAAIP,EACJ,QAASA,EACT,QAASA,EACT,QAASC,EACT,QAASA,EACTC,GAAIA,EACJ,QAASA,EACT,QAASA,GCIEM,EAAuC,CAElD,eAAgB,oBAGLC,EAAa,CACxB1C,EACA2C,EAAO,MAEP,GAAoB,iBAAT3C,GAAqBA,EAAK4C,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","x_google_ignoreList":[18,19,20,21,22,23,28,37,38,39,43]} \ No newline at end of file From 15d370cdb257c061a97de30396927e5180145ae1 Mon Sep 17 00:00:00 2001 From: Evan Luo Date: Sat, 30 Sep 2023 12:08:43 -0400 Subject: [PATCH 18/27] author: customize author name and avatar --- layout/_meta/article-copyright.ejs | 2 +- layout/article-content.ejs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/layout/_meta/article-copyright.ejs b/layout/_meta/article-copyright.ejs index ff5ed85d..86edeedd 100755 --- a/layout/_meta/article-copyright.ejs +++ b/layout/_meta/article-copyright.ejs @@ -1,7 +1,7 @@