hexo-theme-redefine-x 2.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug-chinese.yml +115 -0
- package/.github/ISSUE_TEMPLATE/bug-english.yml +106 -0
- package/.github/ISSUE_TEMPLATE/enhancement-chinese.yml +55 -0
- package/.github/ISSUE_TEMPLATE/enhancement-english.yml +55 -0
- package/.github/workflows/build-and-commit.yml +49 -0
- package/.github/workflows/npm-publish.yml +34 -0
- package/.github/workflows/stale-issues.yml +20 -0
- package/CHANGELOG_REDEFINE_X.md +236 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/CONTRIBUTING.md +51 -0
- package/DONATION.md +82 -0
- package/LICENSE +674 -0
- package/README.md +135 -0
- package/README_zh-CN.md +138 -0
- package/README_zh-TW.md +137 -0
- package/TODO.md +215 -0
- package/_config.yml +489 -0
- package/languages/en.yml +93 -0
- package/languages/es.yml +92 -0
- package/languages/fr.yml +92 -0
- package/languages/ja.yml +92 -0
- package/languages/zh-CN.yml +95 -0
- package/languages/zh-TW.yml +94 -0
- package/layout/404.ejs +1 -0
- package/layout/archive.ejs +1 -0
- package/layout/category.ejs +1 -0
- package/layout/components/comments/comment.ejs +22 -0
- package/layout/components/comments/giscus.ejs +42 -0
- package/layout/components/comments/gitalk.ejs +47 -0
- package/layout/components/comments/twikoo.ejs +50 -0
- package/layout/components/comments/waline.ejs +34 -0
- package/layout/components/footer/footer.ejs +99 -0
- package/layout/components/header/head.ejs +222 -0
- package/layout/components/header/navbar.ejs +163 -0
- package/layout/components/header/preloader.ejs +148 -0
- package/layout/components/header/progress-bar.ejs +12 -0
- package/layout/components/plugins/aplayer.ejs +3 -0
- package/layout/components/scripts.ejs +90 -0
- package/layout/components/sidebar/author.ejs +6 -0
- package/layout/components/sidebar/avatar.ejs +3 -0
- package/layout/components/sidebar/statistics.ejs +14 -0
- package/layout/components/swup.ejs +27 -0
- package/layout/index.ejs +1 -0
- package/layout/layout.ejs +13 -0
- package/layout/page.ejs +57 -0
- package/layout/pages/archive/archive.ejs +3 -0
- package/layout/pages/bookmarks/bookmarks.ejs +68 -0
- package/layout/pages/category/categories.ejs +11 -0
- package/layout/pages/category/category-detail.ejs +6 -0
- package/layout/pages/friends/friends-link.ejs +59 -0
- package/layout/pages/home/home-article.ejs +52 -0
- package/layout/pages/home/home-background.ejs +33 -0
- package/layout/pages/home/home-banner.ejs +234 -0
- package/layout/pages/home/home-content.ejs +62 -0
- package/layout/pages/home/home-sidebar.ejs +78 -0
- package/layout/pages/masonry/masonry.ejs +28 -0
- package/layout/pages/notfound/notfound.ejs +8 -0
- package/layout/pages/page-template.ejs +23 -0
- package/layout/pages/post/article-content.ejs +153 -0
- package/layout/pages/post/article-copyright.ejs +69 -0
- package/layout/pages/post/article-info.ejs +78 -0
- package/layout/pages/post/post-tools.ejs +17 -0
- package/layout/pages/post/toc.ejs +15 -0
- package/layout/pages/shuoshuo/essays.ejs +23 -0
- package/layout/pages/tag/tag-detail.ejs +6 -0
- package/layout/pages/tag/tags.ejs +24 -0
- package/layout/post.ejs +1 -0
- package/layout/tag.ejs +1 -0
- package/layout/tags.ejs +1 -0
- package/layout/utils/image-viewer.ejs +3 -0
- package/layout/utils/local-search.ejs +20 -0
- package/layout/utils/paginator.ejs +8 -0
- package/layout/utils/posts-list.ejs +28 -0
- package/layout/utils/side-tools.ejs +51 -0
- package/package.json +45 -0
- package/scripts/config-export.js +66 -0
- package/scripts/data-handle.js +37 -0
- package/scripts/events/404.js +16 -0
- package/scripts/events/welcome.js +141 -0
- package/scripts/filters/delete-mask-handle.js +27 -0
- package/scripts/filters/encrypt.js +202 -0
- package/scripts/filters/img-handle.js +9 -0
- package/scripts/filters/lazyload-handle.js +350 -0
- package/scripts/filters/lib/hbe.default.js +15 -0
- package/scripts/filters/link-handle.js +42 -0
- package/scripts/filters/stylus-handle.js +9 -0
- package/scripts/filters/table-handle.js +11 -0
- package/scripts/helpers/meta-helpers.js +38 -0
- package/scripts/helpers/page-helpers.js +153 -0
- package/scripts/helpers/recommendation-helpers.js +367 -0
- package/scripts/helpers/theme-helpers.js +251 -0
- package/scripts/helpers/waline-helpers.js +33 -0
- package/scripts/modules/btn.js +85 -0
- package/scripts/modules/btns.js +71 -0
- package/scripts/modules/folding.js +34 -0
- package/scripts/modules/note-large.js +72 -0
- package/scripts/modules/note.js +64 -0
- package/scripts/modules/tabs.js +99 -0
- package/source/assets/hbe.style.css +220 -0
- package/source/assets/odometer-theme-minimal.css +81 -0
- package/source/css/build/tailwind.css +2 -0
- package/source/css/common/animated.styl +71 -0
- package/source/css/common/basic.styl +239 -0
- package/source/css/common/codeblock/code-block.styl +158 -0
- package/source/css/common/codeblock/code-theme.styl +82 -0
- package/source/css/common/codeblock/highlight.styl +189 -0
- package/source/css/common/codeblock/hljs-themes/dark/a11y-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/agate.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/atom-one-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/github-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/monokai-sublime.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/night-owl.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/nord.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/tokyo-night-dark.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/dark/vs2015.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/light/atom-one-light.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/light/default.styl +18 -0
- package/source/css/common/codeblock/hljs-themes/light/github.styl +18 -0
- package/source/css/common/colors.styl +112 -0
- package/source/css/common/markdown.styl +337 -0
- package/source/css/common/redefine-theme.styl +65 -0
- package/source/css/common/theme.styl +72 -0
- package/source/css/common/variables.styl +145 -0
- package/source/css/layout/_modules/aplayer.styl +799 -0
- package/source/css/layout/_modules/buttons.styl +42 -0
- package/source/css/layout/_modules/folding.styl +180 -0
- package/source/css/layout/_modules/notes.styl +181 -0
- package/source/css/layout/_modules/tabs.styl +105 -0
- package/source/css/layout/_partials/404.styl +14 -0
- package/source/css/layout/_partials/archive-list.styl +49 -0
- package/source/css/layout/_partials/article-copyright-info.styl +27 -0
- package/source/css/layout/_partials/article-meta-info.styl +62 -0
- package/source/css/layout/_partials/comments/comment.styl +11 -0
- package/source/css/layout/_partials/comments/gitalk.styl +529 -0
- package/source/css/layout/_partials/comments/twikoo.styl +62 -0
- package/source/css/layout/_partials/comments/waline.styl +1151 -0
- package/source/css/layout/_partials/footer.styl +59 -0
- package/source/css/layout/_partials/home-banner.styl +48 -0
- package/source/css/layout/_partials/image-viewer.styl +37 -0
- package/source/css/layout/_partials/local-search.styl +137 -0
- package/source/css/layout/_partials/navbar.styl +309 -0
- package/source/css/layout/_partials/page-template.styl +147 -0
- package/source/css/layout/_partials/paginator.styl +65 -0
- package/source/css/layout/_partials/post-tools.styl +43 -0
- package/source/css/layout/_partials/progress-bar.styl +33 -0
- package/source/css/layout/_partials/side-tools.styl +87 -0
- package/source/css/layout/_partials/tagcloud.styl +136 -0
- package/source/css/layout/_partials/toc.styl +105 -0
- package/source/css/layout/animations.styl +42 -0
- package/source/css/layout/archive-content.styl +8 -0
- package/source/css/layout/article-content.styl +257 -0
- package/source/css/layout/bookmarks.styl +8 -0
- package/source/css/layout/category-content.styl +21 -0
- package/source/css/layout/category-list.styl +119 -0
- package/source/css/layout/home-content.styl +114 -0
- package/source/css/layout/home-sidebar.styl +126 -0
- package/source/css/layout/page.styl +144 -0
- package/source/css/layout/tag-content.styl +30 -0
- package/source/css/style.styl +26 -0
- package/source/css/tailwind.source.css +236 -0
- package/source/fontawesome/all.min.css +6 -0
- package/source/fontawesome/brands.min.css +6 -0
- package/source/fontawesome/duotone.min.css +6 -0
- package/source/fontawesome/fontawesome.min.css +6 -0
- package/source/fontawesome/light.min.css +6 -0
- package/source/fontawesome/regular.min.css +6 -0
- package/source/fontawesome/sharp-solid.min.css +6 -0
- package/source/fontawesome/solid.min.css +6 -0
- package/source/fontawesome/svg-with-js.min.css +6 -0
- package/source/fontawesome/thin.min.css +6 -0
- package/source/fontawesome/v4-font-face.min.css +6 -0
- package/source/fontawesome/v4-shims.min.css +6 -0
- package/source/fontawesome/v5-font-face.min.css +6 -0
- package/source/fonts/Chillax/Chillax-Variable.eot +0 -0
- package/source/fonts/Chillax/Chillax-Variable.ttf +0 -0
- package/source/fonts/Chillax/Chillax-Variable.woff +0 -0
- package/source/fonts/Chillax/Chillax-Variable.woff2 +0 -0
- package/source/fonts/Chillax/chillax.css +39 -0
- package/source/fonts/Geist/GeistVF.ttf +0 -0
- package/source/fonts/Geist/GeistVF.woff +0 -0
- package/source/fonts/Geist/GeistVF.woff2 +0 -0
- package/source/fonts/Geist/geist.css +16 -0
- package/source/fonts/GeistMono/GeistMonoVF.ttf +0 -0
- package/source/fonts/GeistMono/GeistMonoVF.woff +0 -0
- package/source/fonts/GeistMono/GeistMonoVF.woff2 +0 -0
- package/source/fonts/GeistMono/geist-mono.css +16 -0
- package/source/images/bookmark-placeholder.svg +9 -0
- package/source/images/loading.svg +5 -0
- package/source/images/redefine-avatar.svg +1 -0
- package/source/images/redefine-favicon.svg +1 -0
- package/source/images/redefine-logo.svg +1 -0
- package/source/images/redefine-logo.webp +0 -0
- package/source/images/redefine-og.webp +0 -0
- package/source/images/wallhaven-wqery6-dark.webp +0 -0
- package/source/images/wallhaven-wqery6-light.webp +0 -0
- package/source/js/build/layouts/bookmarkNav.js +2 -0
- package/source/js/build/layouts/bookmarkNav.js.map +1 -0
- package/source/js/build/layouts/categoryList.js +2 -0
- package/source/js/build/layouts/categoryList.js.map +1 -0
- package/source/js/build/layouts/essays.js +2 -0
- package/source/js/build/layouts/essays.js.map +1 -0
- package/source/js/build/layouts/lazyload.js +2 -0
- package/source/js/build/layouts/lazyload.js.map +1 -0
- package/source/js/build/layouts/navbarShrink.js +2 -0
- package/source/js/build/layouts/navbarShrink.js.map +1 -0
- package/source/js/build/layouts/toc.js +2 -0
- package/source/js/build/layouts/toc.js.map +1 -0
- package/source/js/build/libs/APlayer.min.js +2 -0
- package/source/js/build/libs/Swup.min.js +2 -0
- package/source/js/build/libs/SwupPreloadPlugin.min.js +1 -0
- package/source/js/build/libs/SwupProgressPlugin.min.js +1 -0
- package/source/js/build/libs/SwupScriptsPlugin.min.js +1 -0
- package/source/js/build/libs/SwupScrollPlugin.min.js +1 -0
- package/source/js/build/libs/SwupSlideTheme.min.js +1 -0
- package/source/js/build/libs/Typed.min.js +10 -0
- package/source/js/build/libs/anime.min.js +8 -0
- package/source/js/build/libs/mermaid.min.js +2314 -0
- package/source/js/build/libs/minimasonry.min.js +1 -0
- package/source/js/build/libs/moment-with-locales.min.js +2 -0
- package/source/js/build/libs/moment.min.js +2 -0
- package/source/js/build/libs/odometer.min.js +2 -0
- package/source/js/build/libs/pangu.min.js +9 -0
- package/source/js/build/libs/pjax.min.js +1 -0
- package/source/js/build/libs/waline.js +84 -0
- package/source/js/build/main.js +2 -0
- package/source/js/build/main.js.map +1 -0
- package/source/js/build/plugins/aplayer.js +2 -0
- package/source/js/build/plugins/aplayer.js.map +1 -0
- package/source/js/build/plugins/hbe.js +2 -0
- package/source/js/build/plugins/hbe.js.map +1 -0
- package/source/js/build/plugins/masonry.js +2 -0
- package/source/js/build/plugins/masonry.js.map +1 -0
- package/source/js/build/plugins/mermaid.js +2 -0
- package/source/js/build/plugins/mermaid.js.map +1 -0
- package/source/js/build/plugins/pangu.js +2 -0
- package/source/js/build/plugins/pangu.js.map +1 -0
- package/source/js/build/plugins/tabs.js +2 -0
- package/source/js/build/plugins/tabs.js.map +1 -0
- package/source/js/build/plugins/typed.js +2 -0
- package/source/js/build/plugins/typed.js.map +1 -0
- package/source/js/build/tools/codeBlock.js +2 -0
- package/source/js/build/tools/codeBlock.js.map +1 -0
- package/source/js/build/tools/imageViewer.js +2 -0
- package/source/js/build/tools/imageViewer.js.map +1 -0
- package/source/js/build/tools/lightDarkSwitch.js +2 -0
- package/source/js/build/tools/lightDarkSwitch.js.map +1 -0
- package/source/js/build/tools/localSearch.js +2 -0
- package/source/js/build/tools/localSearch.js.map +1 -0
- package/source/js/build/tools/runtime.js +2 -0
- package/source/js/build/tools/runtime.js.map +1 -0
- package/source/js/build/tools/scrollTopBottom.js +2 -0
- package/source/js/build/tools/scrollTopBottom.js.map +1 -0
- package/source/js/build/tools/tocToggle.js +2 -0
- package/source/js/build/tools/tocToggle.js.map +1 -0
- package/source/js/build/utils.js +2 -0
- package/source/js/build/utils.js.map +1 -0
- package/source/js/build.js +148 -0
- package/source/js/layouts/bookmarkNav.js +65 -0
- package/source/js/layouts/categoryList.js +53 -0
- package/source/js/layouts/essays.js +25 -0
- package/source/js/layouts/lazyload.js +199 -0
- package/source/js/layouts/navbarShrink.js +135 -0
- package/source/js/layouts/toc.js +115 -0
- package/source/js/libs/APlayer.min.js +2 -0
- package/source/js/libs/APlayer.min.js.map +1 -0
- package/source/js/libs/Swup.min.js +2 -0
- package/source/js/libs/Swup.min.js.map +1 -0
- package/source/js/libs/SwupPreloadPlugin.min.js +1 -0
- package/source/js/libs/SwupPreloadPlugin.min.js.map +1 -0
- package/source/js/libs/SwupProgressPlugin.min.js +1 -0
- package/source/js/libs/SwupScriptsPlugin.min.js +1 -0
- package/source/js/libs/SwupScrollPlugin.min.js +1 -0
- package/source/js/libs/SwupScrollPlugin.min.js.map +1 -0
- package/source/js/libs/SwupSlideTheme.min.js +1 -0
- package/source/js/libs/Typed.min.js +10 -0
- package/source/js/libs/anime.min.js +8 -0
- package/source/js/libs/mermaid.min.js +2314 -0
- package/source/js/libs/mermaid.min.js.map +7 -0
- package/source/js/libs/minimasonry.min.js +1 -0
- package/source/js/libs/moment-with-locales.min.js +2 -0
- package/source/js/libs/moment.min.js +2 -0
- package/source/js/libs/odometer.min.js +2 -0
- package/source/js/libs/pangu.min.js +9 -0
- package/source/js/libs/pjax.min.js +1 -0
- package/source/js/libs/waline.js +84 -0
- package/source/js/libs/waline.js.map +1 -0
- package/source/js/main.js +95 -0
- package/source/js/plugins/aplayer.js +33 -0
- package/source/js/plugins/hbe.js +350 -0
- package/source/js/plugins/masonry.js +115 -0
- package/source/js/plugins/mermaid.js +7 -0
- package/source/js/plugins/pangu.js +12 -0
- package/source/js/plugins/tabs.js +29 -0
- package/source/js/plugins/typed.js +62 -0
- package/source/js/tools/codeBlock.js +48 -0
- package/source/js/tools/imageViewer.js +194 -0
- package/source/js/tools/lightDarkSwitch.js +165 -0
- package/source/js/tools/localSearch.js +327 -0
- package/source/js/tools/runtime.js +28 -0
- package/source/js/tools/scrollTopBottom.js +34 -0
- package/source/js/tools/tocToggle.js +58 -0
- package/source/js/utils.js +383 -0
- package/source/webfonts/fa-brands-400.ttf +0 -0
- package/source/webfonts/fa-brands-400.woff2 +0 -0
- package/source/webfonts/fa-duotone-900.ttf +0 -0
- package/source/webfonts/fa-duotone-900.woff2 +0 -0
- package/source/webfonts/fa-light-300.ttf +0 -0
- package/source/webfonts/fa-light-300.woff2 +0 -0
- package/source/webfonts/fa-regular-400.ttf +0 -0
- package/source/webfonts/fa-regular-400.woff2 +0 -0
- package/source/webfonts/fa-sharp-solid-900.ttf +0 -0
- package/source/webfonts/fa-sharp-solid-900.woff2 +0 -0
- package/source/webfonts/fa-solid-900.ttf +0 -0
- package/source/webfonts/fa-solid-900.woff2 +0 -0
- package/source/webfonts/fa-thin-100.ttf +0 -0
- package/source/webfonts/fa-thin-100.woff2 +0 -0
- package/source/webfonts/fa-v4compatibility.ttf +0 -0
- package/source/webfonts/fa-v4compatibility.woff2 +0 -0
- package/vercel.json +7 -0
package/languages/fr.yml
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# ----------------------------------------
|
|
2
|
+
# Traduction du site
|
|
3
|
+
# ----------------------------------------
|
|
4
|
+
search: recherche...
|
|
5
|
+
toc: Sur cette page
|
|
6
|
+
prev: Précédent
|
|
7
|
+
next: Suivant
|
|
8
|
+
prev_posts: Articles précédents
|
|
9
|
+
next_posts: Articles suivants
|
|
10
|
+
page: Page %d
|
|
11
|
+
recent_posts: Articles récents
|
|
12
|
+
share: Partager
|
|
13
|
+
powered_by: "POWERED BY %s"
|
|
14
|
+
theme: THEME
|
|
15
|
+
rss_feed: Flux RSS
|
|
16
|
+
category: Catégorie
|
|
17
|
+
categories: Catégories
|
|
18
|
+
tag: Tag
|
|
19
|
+
tags: Tags
|
|
20
|
+
post: Post
|
|
21
|
+
posts: Posts
|
|
22
|
+
tagcloud: Nuage de tags
|
|
23
|
+
comment: Commentaire
|
|
24
|
+
comments: Commentaires
|
|
25
|
+
home: Accueil
|
|
26
|
+
archive: Archive
|
|
27
|
+
archives: Archives
|
|
28
|
+
top: TOP
|
|
29
|
+
sticky: Sticky
|
|
30
|
+
go-back-home: Retour à l'accueil
|
|
31
|
+
|
|
32
|
+
# ----------------------------------------
|
|
33
|
+
# Traduction du menu
|
|
34
|
+
# ----------------------------------------
|
|
35
|
+
about: À propos
|
|
36
|
+
changelog: Journal des modifications
|
|
37
|
+
links: Liens
|
|
38
|
+
link: Lien
|
|
39
|
+
friends: Amis
|
|
40
|
+
friend: Ami
|
|
41
|
+
timeline: Chronologie
|
|
42
|
+
shuoshuo: Shuoshuo
|
|
43
|
+
|
|
44
|
+
# ----------------------------------------
|
|
45
|
+
# Nombre de sites Web
|
|
46
|
+
# ----------------------------------------
|
|
47
|
+
site_uv: VISITEURS
|
|
48
|
+
site_pv: NOMBRE TOTAL DE PAGES VUES
|
|
49
|
+
read_more: Lire la suite
|
|
50
|
+
wordcount: Mots
|
|
51
|
+
min2read: Min
|
|
52
|
+
status: Status
|
|
53
|
+
|
|
54
|
+
# ----------------------------------------
|
|
55
|
+
# Pied de page
|
|
56
|
+
# ----------------------------------------
|
|
57
|
+
runtime: Blog en ligne depuis
|
|
58
|
+
days: Jours
|
|
59
|
+
hours: Hrs
|
|
60
|
+
minutes: Min
|
|
61
|
+
seconds: Sec
|
|
62
|
+
optimized_by: et Propulsé par Evan
|
|
63
|
+
rights: Tous droits réservés
|
|
64
|
+
site_posts: "%s posts au total"
|
|
65
|
+
site_wordcount: "%s mots au total"
|
|
66
|
+
|
|
67
|
+
# ----------------------------------------
|
|
68
|
+
# Post
|
|
69
|
+
# ----------------------------------------
|
|
70
|
+
copyright:
|
|
71
|
+
author: Auteur
|
|
72
|
+
title: Titre
|
|
73
|
+
link: Lien
|
|
74
|
+
create_time: Créé à
|
|
75
|
+
update_time: Mis à jour à
|
|
76
|
+
license_title: Licence
|
|
77
|
+
license_content: "Cette œuvre est sous licence %s."
|
|
78
|
+
all_rights_reserved: "Tous droits réservés à © %s"
|
|
79
|
+
public_domain: "Cette œuvre est dans le domaine public."
|
|
80
|
+
|
|
81
|
+
ago:
|
|
82
|
+
second: "Il y a %s secondes"
|
|
83
|
+
minute: "Il y a %s minutes"
|
|
84
|
+
hour: "Il y a %s heures"
|
|
85
|
+
day: "Il y a %s jours"
|
|
86
|
+
week: "Il y a %s semaines"
|
|
87
|
+
month: "Il y a %s mois"
|
|
88
|
+
year: "Il y a %s années"
|
|
89
|
+
|
|
90
|
+
create_time: Créé
|
|
91
|
+
update_time: Mis à jour
|
|
92
|
+
expired: "Ce message a été écrit il y a %s jours et son contenu peut être obsolète."
|
package/languages/ja.yml
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# ----------------------------------------
|
|
2
|
+
# 网站翻译
|
|
3
|
+
# ----------------------------------------
|
|
4
|
+
search: 検索...
|
|
5
|
+
toc: 目次
|
|
6
|
+
prev: 前のページ
|
|
7
|
+
next: 次のページ
|
|
8
|
+
prev_posts: 前一篇
|
|
9
|
+
next_posts: 次一篇
|
|
10
|
+
page: "%d ページ"
|
|
11
|
+
recent_posts: 最新記事
|
|
12
|
+
share: 分かち合う
|
|
13
|
+
powered_by: "%s で駆動する"
|
|
14
|
+
theme: テーマ
|
|
15
|
+
rss_feed: RSS Feed
|
|
16
|
+
category: 分類
|
|
17
|
+
categories: 分類
|
|
18
|
+
tag: タグ
|
|
19
|
+
tags: タグ
|
|
20
|
+
post: 記事
|
|
21
|
+
posts: 記事
|
|
22
|
+
tagcloud: タグクラウド
|
|
23
|
+
comment: コメント
|
|
24
|
+
comments: コメント
|
|
25
|
+
top: トップ
|
|
26
|
+
sticky: 屋根
|
|
27
|
+
go-back-home: トップページに戻ります
|
|
28
|
+
|
|
29
|
+
# ----------------------------------------
|
|
30
|
+
# 菜单翻译
|
|
31
|
+
# ----------------------------------------
|
|
32
|
+
home: トップページ
|
|
33
|
+
archive: ファイル
|
|
34
|
+
archives: ファイル
|
|
35
|
+
about: について
|
|
36
|
+
links: リンク
|
|
37
|
+
friends: フレンドシップリンク
|
|
38
|
+
friend: フレンドシップリンク
|
|
39
|
+
タイムライン: 時間軸
|
|
40
|
+
shuoshuo: 話す
|
|
41
|
+
|
|
42
|
+
# ----------------------------------------
|
|
43
|
+
# 网站统计
|
|
44
|
+
# ----------------------------------------
|
|
45
|
+
site_uv: 訪問者数
|
|
46
|
+
site_pv: 総アクセス数
|
|
47
|
+
read-more: 全文を読む
|
|
48
|
+
wordcount: 字
|
|
49
|
+
min2read: 分
|
|
50
|
+
changelog: ログを更新
|
|
51
|
+
status: 状態
|
|
52
|
+
|
|
53
|
+
# ----------------------------------------
|
|
54
|
+
# 页脚
|
|
55
|
+
# ----------------------------------------
|
|
56
|
+
runtime: ブログが稼働する
|
|
57
|
+
days: 日
|
|
58
|
+
hours: 時間
|
|
59
|
+
ミニッツ: 分
|
|
60
|
+
seconds: 秒
|
|
61
|
+
|
|
62
|
+
optimized_by: そしてEvanによって最適化される
|
|
63
|
+
rights: 著作権所有
|
|
64
|
+
site_posts: "共 %s 記事"
|
|
65
|
+
site_wordcount: "共 %s 字"
|
|
66
|
+
|
|
67
|
+
# ----------------------------------------
|
|
68
|
+
# 版权声明
|
|
69
|
+
# ----------------------------------------
|
|
70
|
+
copyright:
|
|
71
|
+
title: タイトル
|
|
72
|
+
author: 作者
|
|
73
|
+
link: リンク
|
|
74
|
+
create_time: で作成されました
|
|
75
|
+
update_time: で更新されました
|
|
76
|
+
license_title: 著作権宣言
|
|
77
|
+
license_content: "この文章は %s を使用して許可します。"
|
|
78
|
+
all_rights_reserved: "著作権所有 © %s、転載禁止です。"
|
|
79
|
+
public-domain: "この記事はパブリックドメインの著作物であて、転載、引用は自由。"
|
|
80
|
+
|
|
81
|
+
ago:
|
|
82
|
+
second: "%s 秒前"
|
|
83
|
+
minute: "%s 分前"
|
|
84
|
+
hour: "%s 時間前"
|
|
85
|
+
day: "%s 日前"
|
|
86
|
+
week: "%s 週間前"
|
|
87
|
+
month: "%s 月前"
|
|
88
|
+
year: "%s 年前"
|
|
89
|
+
|
|
90
|
+
create_time: 作成
|
|
91
|
+
update_time: 更新
|
|
92
|
+
expired: "この記事は %s 日前に最後に更新される"
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# ----------------------------------------
|
|
2
|
+
# 网站翻译
|
|
3
|
+
# ----------------------------------------
|
|
4
|
+
search: 站内搜索您需要的内容...
|
|
5
|
+
toc: 目录
|
|
6
|
+
prev: 上一页
|
|
7
|
+
next: 下一页
|
|
8
|
+
prev_posts: 上一篇
|
|
9
|
+
next_posts: 下一篇
|
|
10
|
+
page: 第 %d 页
|
|
11
|
+
recent_posts: 最新文章
|
|
12
|
+
share: 分享
|
|
13
|
+
powered_by: "由 %s 驱动"
|
|
14
|
+
theme: 主题
|
|
15
|
+
rss_feed: RSS Feed
|
|
16
|
+
category: 分类
|
|
17
|
+
categories: 分类
|
|
18
|
+
tag: 标签
|
|
19
|
+
tags: 标签
|
|
20
|
+
post: 文章
|
|
21
|
+
posts: 文章
|
|
22
|
+
tagcloud: 标签云
|
|
23
|
+
comment: 评论
|
|
24
|
+
comments: 评论
|
|
25
|
+
top: 置顶
|
|
26
|
+
sticky: 置顶
|
|
27
|
+
go-back-home: 回到首页
|
|
28
|
+
|
|
29
|
+
# ----------------------------------------
|
|
30
|
+
# 菜单翻译
|
|
31
|
+
# ----------------------------------------
|
|
32
|
+
home: 首页
|
|
33
|
+
archive: 归档
|
|
34
|
+
archives: 归档
|
|
35
|
+
about: 关于
|
|
36
|
+
links: 链接
|
|
37
|
+
link: 链接
|
|
38
|
+
friends: 友情链接
|
|
39
|
+
friend: 友情链接
|
|
40
|
+
timeline: 时间轴
|
|
41
|
+
shuoshuo: 说说
|
|
42
|
+
|
|
43
|
+
# ----------------------------------------
|
|
44
|
+
# 网站统计
|
|
45
|
+
# ----------------------------------------
|
|
46
|
+
site_uv: 访问人数
|
|
47
|
+
site_pv: 总访问量
|
|
48
|
+
read_more: 阅读全文
|
|
49
|
+
wordcount: 字
|
|
50
|
+
min2read: 分钟
|
|
51
|
+
changelog: 更新日志
|
|
52
|
+
status: 状态
|
|
53
|
+
|
|
54
|
+
# ----------------------------------------
|
|
55
|
+
# 页脚
|
|
56
|
+
# ----------------------------------------
|
|
57
|
+
runtime: 博客已运行
|
|
58
|
+
days: 天
|
|
59
|
+
hours: 小时
|
|
60
|
+
minutes: 分钟
|
|
61
|
+
seconds: 秒
|
|
62
|
+
|
|
63
|
+
optimized_by: 并由 Evan 进行优化
|
|
64
|
+
rights: 版权所有
|
|
65
|
+
site_posts: "共撰写了 %s 篇文章"
|
|
66
|
+
site_wordcount: "共 %s 字"
|
|
67
|
+
|
|
68
|
+
# ----------------------------------------
|
|
69
|
+
# 版权声明
|
|
70
|
+
# ----------------------------------------
|
|
71
|
+
copyright:
|
|
72
|
+
title: 标题
|
|
73
|
+
author: 作者
|
|
74
|
+
link: 链接
|
|
75
|
+
create_time: 创建于
|
|
76
|
+
update_time: 更新于
|
|
77
|
+
license_title: 版权声明
|
|
78
|
+
license_content: "本文章采用 %s 进行许可。"
|
|
79
|
+
all_rights_reserved: "版权所有 © %s,禁止转载。"
|
|
80
|
+
public_domain: "本文为公有领域作品,可自由转载、引用。"
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
ago:
|
|
84
|
+
second: "%s 秒前"
|
|
85
|
+
minute: "%s 分钟前"
|
|
86
|
+
hour: "%s 小时前"
|
|
87
|
+
day: "%s 天前"
|
|
88
|
+
week: "%s 周前"
|
|
89
|
+
month: "%s 个月前"
|
|
90
|
+
year: "%s 年前"
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
create_time: 创建
|
|
94
|
+
update_time: 更新
|
|
95
|
+
expired: "这篇文章最后更新于 %s 天前,内容可能已经过时。"
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# ----------------------------------------
|
|
2
|
+
# 網站翻譯
|
|
3
|
+
# ----------------------------------------
|
|
4
|
+
search: 站內搜尋您想要的內容...
|
|
5
|
+
toc: 目錄
|
|
6
|
+
prev: 上一頁
|
|
7
|
+
next: 下一頁
|
|
8
|
+
prev_posts: 上一篇
|
|
9
|
+
next_posts: 下一篇
|
|
10
|
+
page: 第 %d 頁
|
|
11
|
+
recent_posts: 之前的文章
|
|
12
|
+
share: 分享
|
|
13
|
+
powered_by: "%s 框架"
|
|
14
|
+
theme: 主題
|
|
15
|
+
rss_feed: RSS 訂閱
|
|
16
|
+
category: 分類
|
|
17
|
+
categories: 分類
|
|
18
|
+
tag: 標籤
|
|
19
|
+
tags: 標籤
|
|
20
|
+
post: 文章
|
|
21
|
+
posts: 文章
|
|
22
|
+
tagcloud: 標籤雲
|
|
23
|
+
comment: 留言
|
|
24
|
+
comments: 留言
|
|
25
|
+
top: 頂端
|
|
26
|
+
sticky: 置頂
|
|
27
|
+
go-back-home: 回到首頁
|
|
28
|
+
|
|
29
|
+
# ----------------------------------------
|
|
30
|
+
# 選單翻譯
|
|
31
|
+
# ----------------------------------------
|
|
32
|
+
home: 首頁
|
|
33
|
+
archive: 歸檔
|
|
34
|
+
archives: 歸檔
|
|
35
|
+
about: 關於
|
|
36
|
+
links: 連結
|
|
37
|
+
link: 連結
|
|
38
|
+
friends: 友情連結
|
|
39
|
+
friend: 友情連結
|
|
40
|
+
timeline: 時間軸
|
|
41
|
+
shuoshuo: 說說
|
|
42
|
+
changelog: 日誌
|
|
43
|
+
status: 狀態
|
|
44
|
+
|
|
45
|
+
# ----------------------------------------
|
|
46
|
+
# 網站統計
|
|
47
|
+
# ----------------------------------------
|
|
48
|
+
site_uv: 讀者
|
|
49
|
+
site_pv: 閱覽
|
|
50
|
+
|
|
51
|
+
read_more: 繼續閱讀...
|
|
52
|
+
wordcount: 字數
|
|
53
|
+
min2read: 分鐘
|
|
54
|
+
|
|
55
|
+
# ----------------------------------------
|
|
56
|
+
# 頁尾
|
|
57
|
+
# ----------------------------------------
|
|
58
|
+
runtime: 部落格已運行
|
|
59
|
+
days: 天
|
|
60
|
+
hours: 小時
|
|
61
|
+
minutes: 分鐘
|
|
62
|
+
seconds: 秒
|
|
63
|
+
|
|
64
|
+
optimized_by: 並由 Evan 進行最佳化
|
|
65
|
+
rights: 版權所有
|
|
66
|
+
site_posts: "共 %s 篇文章"
|
|
67
|
+
site_wordcount: "共 %s 字"
|
|
68
|
+
|
|
69
|
+
# ----------------------------------------
|
|
70
|
+
# 版權聲明
|
|
71
|
+
# ----------------------------------------
|
|
72
|
+
copyright:
|
|
73
|
+
author: 作者
|
|
74
|
+
title: 標題
|
|
75
|
+
link: 連結
|
|
76
|
+
create_time: 撰寫於
|
|
77
|
+
update_time: 更新於
|
|
78
|
+
license_title: 版權宣告
|
|
79
|
+
license_content: "本作品採用 %s 進行許可。"
|
|
80
|
+
all_rights_reserved: "保留所有權利 © %s"
|
|
81
|
+
public_domain: "本作品已在公共領域中,可自由轉載、修改、散佈,無需經過作者同意。"
|
|
82
|
+
|
|
83
|
+
ago:
|
|
84
|
+
second: "%s 秒前"
|
|
85
|
+
minute: "%s 分鐘前"
|
|
86
|
+
hour: "%s 小時前"
|
|
87
|
+
day: "%s 天前"
|
|
88
|
+
week: "%s 周前"
|
|
89
|
+
month: "%s 個月前"
|
|
90
|
+
year: "%s 年前"
|
|
91
|
+
|
|
92
|
+
create_time: 撰寫
|
|
93
|
+
update_time: 更新
|
|
94
|
+
expired: "這篇文章最後更新於 %s 天前,內容可能已經過時。"
|
package/layout/404.ejs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%- partial('page') %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%- partial('page') %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%- partial('page') %>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<div class="comments-container mt-10 w-full ">
|
|
2
|
+
<div id="comment-anchor" class="w-full h-2.5"></div>
|
|
3
|
+
<div class="comment-area-title w-full my-1.5 md:my-2.5 text-xl md:text-3xl font-bold">
|
|
4
|
+
<%- __('comments') %>
|
|
5
|
+
</div>
|
|
6
|
+
<% if (theme.comment.enable === true && theme.comment.hasOwnProperty('system')) { %>
|
|
7
|
+
|
|
8
|
+
<% if (theme.comment.system === 'waline') { %>
|
|
9
|
+
<%- partial('components/comments/waline') %>
|
|
10
|
+
|
|
11
|
+
<% } else if (theme.comment.system === 'gitalk') { %>
|
|
12
|
+
<%- partial('components/comments/gitalk') %>
|
|
13
|
+
|
|
14
|
+
<% } else if (theme.comment.system === 'twikoo') { %>
|
|
15
|
+
<%- partial('components/comments/twikoo') %>
|
|
16
|
+
|
|
17
|
+
<% } else if (theme.comment.system === 'giscus') { %>
|
|
18
|
+
<%- partial('components/comments/giscus') %>
|
|
19
|
+
|
|
20
|
+
<% } %>
|
|
21
|
+
<% } %>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<% if (
|
|
2
|
+
theme.comment.system==='giscus' &&
|
|
3
|
+
theme.comment.config.giscus.repo &&
|
|
4
|
+
theme.comment.config.giscus.repo_id &&
|
|
5
|
+
theme.comment.config.giscus.category_id
|
|
6
|
+
) { %>
|
|
7
|
+
<div id="giscus-container"></div>
|
|
8
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %> defer>
|
|
9
|
+
async function loadGiscus() {
|
|
10
|
+
const giscusConfig = {
|
|
11
|
+
'src': 'https://giscus.app/client.js',
|
|
12
|
+
'data-repo': '<%= theme.comment.config.giscus.repo %>',
|
|
13
|
+
'data-repo-id': '<%= theme.comment.config.giscus.repo_id %>',
|
|
14
|
+
'data-category': '<%= theme.comment.config.giscus.category %>',
|
|
15
|
+
'data-category-id': '<%= theme.comment.config.giscus.category_id %>',
|
|
16
|
+
'data-mapping': '<%= theme.comment.config.giscus.mapping || 'pathname' %>',
|
|
17
|
+
'data-strict': '<%= theme.comment.config.giscus.strict || '0' %>',
|
|
18
|
+
'data-reactions-enabled': '<%= theme.comment.config.giscus.reactions_enabled || '1' %>',
|
|
19
|
+
'data-emit-metadata': '<%= theme.comment.config.giscus.emit_metadata || '1' %>',
|
|
20
|
+
'data-theme': 'preferred_color_scheme',
|
|
21
|
+
'data-lang': '<%= theme.comment.config.giscus.lang || 'en' %>',
|
|
22
|
+
'data-input-position': '<%= theme.comment.config.giscus.input_position || 'bottom' %>',
|
|
23
|
+
'data-loading': '<%= theme.comment.config.giscus.loading || 'lazy' %>',
|
|
24
|
+
'crossorigin': 'anonymous',
|
|
25
|
+
'async': true
|
|
26
|
+
}
|
|
27
|
+
const giscusScript = document.createElement('script');
|
|
28
|
+
for (const key in giscusConfig) {
|
|
29
|
+
giscusScript.setAttribute(key, giscusConfig[key]);
|
|
30
|
+
}
|
|
31
|
+
document.getElementById('giscus-container').appendChild(giscusScript);
|
|
32
|
+
}
|
|
33
|
+
if ('<%= theme.global.single_page %>') {
|
|
34
|
+
let loadGiscusTimeout = setTimeout(() => {
|
|
35
|
+
loadGiscus();
|
|
36
|
+
clearTimeout(loadGiscusTimeout);
|
|
37
|
+
}, 1000);
|
|
38
|
+
} else {
|
|
39
|
+
document.addEventListener('DOMContentLoaded', loadGiscus);
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
<% } %>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<% if(
|
|
2
|
+
theme.comment.system === 'gitalk'
|
|
3
|
+
&& theme.comment.config.gitalk.clientID
|
|
4
|
+
&& theme.comment.config.gitalk.clientSecret
|
|
5
|
+
&& theme.comment.config.gitalk.owner
|
|
6
|
+
&& theme.comment.config.gitalk.repo
|
|
7
|
+
) { %>
|
|
8
|
+
<div id="gitalk-container"></div>
|
|
9
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>
|
|
10
|
+
src="https://cdnjs.cloudflare.com/ajax/libs/gitalk/1.8.0/gitalk.min.js"></script>
|
|
11
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>>
|
|
12
|
+
|
|
13
|
+
function loadGitalk() {
|
|
14
|
+
let __gitalk__pathname = decodeURI(location.pathname);
|
|
15
|
+
const __gitalk__pathnameLength = __gitalk__pathname.length;
|
|
16
|
+
const __gitalk__pathnameMaxLength = 50;
|
|
17
|
+
if (__gitalk__pathnameLength > __gitalk__pathnameMaxLength) {
|
|
18
|
+
__gitalk__pathname = __gitalk__pathname.substring(0, __gitalk__pathnameMaxLength - 3) + '...';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
Gitalk && new Gitalk({
|
|
23
|
+
clientID: '<%= theme.comment.config.gitalk.clientID %>',
|
|
24
|
+
clientSecret: '<%= theme.comment.config.gitalk.clientSecret %>',
|
|
25
|
+
repo: '<%= theme.comment.config.gitalk.repo %>',
|
|
26
|
+
owner: '<%= theme.comment.config.gitalk.owner %>',
|
|
27
|
+
admin: ['<%= theme.comment.config.gitalk.owner %>'],
|
|
28
|
+
id: __gitalk__pathname,
|
|
29
|
+
language: '<%= config.language %>',
|
|
30
|
+
proxy: '<%= theme.comment.config.gitalk.proxy || "https://github.com/login/oauth/access_token" %>'
|
|
31
|
+
}).render('gitalk-container');
|
|
32
|
+
|
|
33
|
+
} catch (e) {
|
|
34
|
+
window.Gitalk = null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if ('<%= theme.global.single_page %>') {
|
|
39
|
+
const loadGitalkTimeout = setTimeout(() => {
|
|
40
|
+
loadGitalk();
|
|
41
|
+
clearTimeout(loadGitalkTimeout);
|
|
42
|
+
}, 1000);
|
|
43
|
+
} else {
|
|
44
|
+
window.addEventListener('DOMContentLoaded', loadGitalk);
|
|
45
|
+
}
|
|
46
|
+
</script>
|
|
47
|
+
<% } %>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<% if(theme.comment.system === 'twikoo' && theme.comment.config.twikoo.server_url) { %>
|
|
2
|
+
<div class="twikoo-container">
|
|
3
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>
|
|
4
|
+
src='https://cdnjs.cloudflare.com/ajax/libs/twikoo/<%- theme.comment.config.twikoo.version %>/twikoo.all.min.js'
|
|
5
|
+
></script>
|
|
6
|
+
<div id="twikoo-comment"></div>
|
|
7
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>>
|
|
8
|
+
function loadTwikoo() {
|
|
9
|
+
twikoo.init({
|
|
10
|
+
el: '#twikoo-comment',
|
|
11
|
+
envId: '<%= theme.comment.config.twikoo.server_url %>',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if ('<%= theme.global.single_page %>') {
|
|
16
|
+
const loadTwikooTimeout = setTimeout(() => {
|
|
17
|
+
loadTwikoo();
|
|
18
|
+
clearTimeout(loadTwikooTimeout);
|
|
19
|
+
}, 1000);
|
|
20
|
+
} else {
|
|
21
|
+
window.addEventListener('DOMContentLoaded', loadTwikoo);
|
|
22
|
+
}
|
|
23
|
+
</script>
|
|
24
|
+
</div>
|
|
25
|
+
<% } else if (theme.comment.system === 'twikoo' && theme.comment.config.twikoo.server_url && theme.comment.config.twikoo.region) { %>
|
|
26
|
+
<div class="twikoo-container">
|
|
27
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>
|
|
28
|
+
src='<%- theme.comment_version.twikoo %>'
|
|
29
|
+
></script>
|
|
30
|
+
<div id="twikoo-comment"></div>
|
|
31
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>>
|
|
32
|
+
function loadTwikoo() {
|
|
33
|
+
twikoo.init({
|
|
34
|
+
el: '#twikoo-comment',
|
|
35
|
+
envId: '<%= theme.comment.config.twikoo.server_url %>',
|
|
36
|
+
region: '<%= theme.comment.config.twikoo.region %>',
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if ('<%= theme.global.single_page %>') {
|
|
41
|
+
const loadTwikooTimeout = setTimeout(() => {
|
|
42
|
+
loadTwikoo();
|
|
43
|
+
clearTimeout(loadTwikooTimeout);
|
|
44
|
+
}, 1000);
|
|
45
|
+
} else {
|
|
46
|
+
window.addEventListener('DOMContentLoaded', loadTwikoo);
|
|
47
|
+
}
|
|
48
|
+
</script>
|
|
49
|
+
</div>
|
|
50
|
+
<% } %>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<% if(theme.comment.system === 'waline' && theme.comment.config.waline.serverUrl && theme.comment.config.waline.lang) { %>
|
|
2
|
+
<div id="waline"></div>
|
|
3
|
+
<script type="module" data-swup-reload-script>
|
|
4
|
+
import { init } from '<%= url_for('js/libs/waline.js') %>';
|
|
5
|
+
|
|
6
|
+
function loadWaline() {
|
|
7
|
+
init({
|
|
8
|
+
el: '#waline',
|
|
9
|
+
serverURL: '<%= theme.comment.config.waline.serverUrl %>',
|
|
10
|
+
dark: 'body[class~="dark-mode"]',
|
|
11
|
+
reaction: <%- waline_reaction_config(theme.comment.config.waline.reaction) %>,
|
|
12
|
+
requiredMeta: ['nick', 'mail'],
|
|
13
|
+
emoji: <%- waline_array_config(theme.comment.config.waline.emoji) %>,
|
|
14
|
+
<%- waline_config_options({
|
|
15
|
+
lang: theme.comment.config.waline.lang,
|
|
16
|
+
locale: theme.comment.config.waline.locale,
|
|
17
|
+
login: theme.comment.config.waline.login,
|
|
18
|
+
wordLimit: theme.comment.config.waline.wordLimit,
|
|
19
|
+
pageSize: theme.comment.config.waline.pageSize,
|
|
20
|
+
commentSorting: theme.comment.config.waline.commentSorting,
|
|
21
|
+
meta: theme.comment.config.waline.meta,
|
|
22
|
+
recaptchaV3Key: theme.comment.config.waline.recaptchaV3Key,
|
|
23
|
+
turnstileKey: theme.comment.config.waline.turnstileKey
|
|
24
|
+
}) %>
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (typeof swup !== 'undefined') {
|
|
29
|
+
loadWaline();
|
|
30
|
+
} else {
|
|
31
|
+
window.addEventListener('DOMContentLoaded', loadWaline);
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
<% } %>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
<footer class="footer mt-5 py-5 h-auto text-base text-third-text-color relative border-t-2 border-t-border-color">
|
|
2
|
+
<div class="info-container py-3 text-center">
|
|
3
|
+
<% if (theme.footer.hasOwnProperty('customize') && theme.footer.customize) { %>
|
|
4
|
+
<div class="customize-info my-1"><%- theme.footer.customize %></div>
|
|
5
|
+
<% } %>
|
|
6
|
+
<div class="text-center">
|
|
7
|
+
©
|
|
8
|
+
<% if (theme.footer.hasOwnProperty('start') && theme.footer.start) { %>
|
|
9
|
+
<span><%= date(new Date(theme.footer.start), 'YYYY') %></span>
|
|
10
|
+
-
|
|
11
|
+
<% } %>
|
|
12
|
+
<%= date(new Date(), 'YYYY') %> <%- theme.footer.icon || '<i class="fa-regular fa-computer-classic"></i>' %> <a href="<%= config.root %>"><%= theme.info.author || config.author %></a>
|
|
13
|
+
<% if (theme.footer.hasOwnProperty('statistics') && theme.footer.statistics) {%>
|
|
14
|
+
<%
|
|
15
|
+
const sitePostsCount = site.posts.length;
|
|
16
|
+
let siteWordCount = null;
|
|
17
|
+
try{
|
|
18
|
+
siteWordCount = totalcount(site);
|
|
19
|
+
} catch (e) {
|
|
20
|
+
siteWordCount = null;
|
|
21
|
+
}
|
|
22
|
+
%>
|
|
23
|
+
<p class="post-count space-x-0.5">
|
|
24
|
+
<span>
|
|
25
|
+
<%- __("site_posts", sitePostsCount) %>
|
|
26
|
+
</span>
|
|
27
|
+
<% if (siteWordCount) {%>
|
|
28
|
+
<span>
|
|
29
|
+
<%- __("site_wordcount", siteWordCount) %>
|
|
30
|
+
</span>
|
|
31
|
+
<% } %>
|
|
32
|
+
</p>
|
|
33
|
+
<% } %>
|
|
34
|
+
</div>
|
|
35
|
+
<% if (theme.global.website_counter.enable === true) { %>
|
|
36
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %> src="<%= theme.global.website_counter.url ? theme.global.website_counter.url : "https://vercount.one/js" %>"></script>
|
|
37
|
+
<div class="relative text-center lg:absolute lg:right-[20px] lg:top-1/2 lg:-translate-y-1/2 lg:text-right">
|
|
38
|
+
<% if (theme.global.website_counter.site_uv) { %>
|
|
39
|
+
<span id="busuanzi_container_site_uv" class="lg:!block">
|
|
40
|
+
<span class="text-sm"><%- __('site_uv') %></span>
|
|
41
|
+
<span id="busuanzi_value_site_uv"></span>
|
|
42
|
+
</span>
|
|
43
|
+
<% } %>
|
|
44
|
+
<% if (theme.global.website_counter.site_pv) { %>
|
|
45
|
+
<span id="busuanzi_container_site_pv" class="lg:!block">
|
|
46
|
+
<span class="text-sm"><%- __('site_pv') %></span>
|
|
47
|
+
<span id="busuanzi_value_site_pv"></span>
|
|
48
|
+
</span>
|
|
49
|
+
<% } %>
|
|
50
|
+
</div>
|
|
51
|
+
<% } %>
|
|
52
|
+
<div class="relative text-center lg:absolute lg:left-[20px] lg:top-1/2 lg:-translate-y-1/2 lg:text-left">
|
|
53
|
+
<span class="lg:block text-sm"><%- __('powered_by', '<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="relative top-[2px] inline-block align-baseline" version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1rem" height="1rem" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve"><path fill="#0E83CD" d="M256.4,25.8l-200,115.5L56,371.5l199.6,114.7l200-115.5l0.4-230.2L256.4,25.8z M349,354.6l-18.4,10.7l-18.6-11V275H200v79.6l-18.4,10.7l-18.6-11v-197l18.5-10.6l18.5,10.8V237h112v-79.6l18.5-10.6l18.5,10.8V354.6z"/></svg><a target="_blank" class="text-base" href="https://hexo.io">Hexo</a>') %></span>
|
|
54
|
+
<span class="text-sm lg:block"><%- __('theme') %> <a class="text-base" target="_blank" href="https://github.com/Jason-JP-Yang/hexo-theme-Redefine-X">Redefine-X v<%- getThemeVersion() %></a></span>
|
|
55
|
+
</div>
|
|
56
|
+
<% if (theme.footer.icp.enable && theme.footer.icp.hasOwnProperty('number')) { %>
|
|
57
|
+
<div class="icp-info my-1"><a target="_blank" rel="nofollow" href="
|
|
58
|
+
<% if (theme.footer.icp.hasOwnProperty('url') && theme.footer.icp.url) { %>
|
|
59
|
+
<%= theme.footer.icp.url %>
|
|
60
|
+
<% } else { %>
|
|
61
|
+
https://beian.miit.gov.cn
|
|
62
|
+
<% } %>
|
|
63
|
+
"><%= theme.footer.icp.number %></a></div>
|
|
64
|
+
<% } %>
|
|
65
|
+
<% if (theme.footer.runtime === true) {%>
|
|
66
|
+
<div>
|
|
67
|
+
<%= __('runtime') %> <span class="odometer" id="runtime_days" ></span> <%= __('days') %> <span class="odometer" id="runtime_hours"></span> <%= __('hours') %> <span class="odometer" id="runtime_minutes"></span> <%= __('minutes') %> <span class="odometer" id="runtime_seconds"></span> <%= __('seconds') %>
|
|
68
|
+
</div>
|
|
69
|
+
<% } %>
|
|
70
|
+
<% if (theme.footer.runtime === true) {%>
|
|
71
|
+
<script <%= theme.global.single_page === true && 'data-swup-reload-script' %>>
|
|
72
|
+
try {
|
|
73
|
+
function odometer_init() {
|
|
74
|
+
const elements = document.querySelectorAll('.odometer');
|
|
75
|
+
elements.forEach(el => {
|
|
76
|
+
new Odometer({
|
|
77
|
+
el,
|
|
78
|
+
format: '( ddd).dd',
|
|
79
|
+
duration: 200
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
odometer_init();
|
|
84
|
+
} catch (error) {}
|
|
85
|
+
</script>
|
|
86
|
+
<% } %>
|
|
87
|
+
<% if (theme.inject.enable === true) { %>
|
|
88
|
+
<% for (let i in theme.inject.footer) { %>
|
|
89
|
+
<% if (theme.inject.footer[i] !== null ){ %>
|
|
90
|
+
|
|
91
|
+
<% if (theme.global.single_page === true) { %>
|
|
92
|
+
<%- theme.inject.footer[i].replace("<script", "<script data-swup-reload-script") %>
|
|
93
|
+
<% } else { %>
|
|
94
|
+
<%- theme.inject.footer[i] %>
|
|
95
|
+
<% } } %>
|
|
96
|
+
<% } }%>
|
|
97
|
+
|
|
98
|
+
</div>
|
|
99
|
+
</footer>
|