hexo-theme-solitude 1.8.4 → 1.8.6
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/README.md +1 -1
- package/{README_en.md → README_en-US.md} +1 -1
- package/README_fr.md +90 -0
- package/README_ja.md +88 -0
- package/{README_zh-tw.md → README_zh-Hant.md} +1 -1
- package/languages/default.yml +188 -0
- package/languages/en.yml +15 -1
- package/languages/zh-CN.yml +14 -0
- package/languages/zh-TW.yml +15 -1
- package/layout/includes/body/mode.pug +3 -3
- package/layout/includes/head/config.pug +1 -1
- package/layout/includes/head/page_config.pug +1 -0
- package/layout/includes/head/pwa.pug +3 -0
- package/layout/includes/inject/body.pug +1 -1
- package/layout/includes/inject/head.pug +2 -3
- package/layout/includes/rightmenu.pug +1 -1
- package/layout/includes/widgets/page/about/other.pug +6 -7
- package/layout/includes/widgets/page/about/personalities.pug +3 -3
- package/layout/includes/widgets/post/copyright.pug +3 -2
- package/layout/includes/widgets/third-party/comments/twikoo.pug +2 -0
- package/layout/includes/widgets/third-party/pjax.pug +3 -1
- package/package.json +1 -1
- package/source/css/_layout/header.styl +0 -1
- package/source/css/_layout/recent-post.styl +5 -0
- package/source/css/_post/commentBarrage.styl +1 -1
- package/source/js/covercolor/api.js +5 -3
- package/source/js/covercolor/local.js +5 -3
- package/source/js/main.js +24 -25
- package/source/js/right_menu.js +8 -6
- package/source/js/third_party/efu_ai.min.js +1 -1
package/README.md
CHANGED
package/README_fr.md
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
[简体中文](README.md)丨[繁体中文](README_zh-Hant.md)丨[English](README_en-US.md)丨Français丨[日本語](README_ja.md)
|
2
|
+
|
3
|
+
<div align="center">
|
4
|
+
|
5
|
+
<img src=".github/logo.svg" alt="Logo de la solitude" height="200">
|
6
|
+
|
7
|
+
<h1>Thème Hexo Solitude</h1>
|
8
|
+
|
9
|
+
Un thème Hexo élégant qui prend en charge le chargement paresseux, les PWA, le latex et les systèmes de commentaires
|
10
|
+
multiples.
|
11
|
+
|
12
|
+
Le thème se compose de [@张洪Heo](https://github.com/zhheo) Autorisation complète de l’auteur, conception !
|
13
|
+
|
14
|
+

|
15
|
+

|
16
|
+

|
17
|
+
[](https://github.com/valor-x/hexo-theme-solitude/stargazers)
|
18
|
+
[](https://www.npmjs.com/package/hexo-theme-solitude)
|
19
|
+
|
20
|
+

|
21
|
+

|
22
|
+
|
23
|
+

|
24
|
+

|
25
|
+

|
26
|
+
|
27
|
+

|
28
|
+

|
29
|
+

|
30
|
+
[](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps)
|
31
|
+
|
32
|
+
[](https://twitter.com/efu_oo)
|
33
|
+
[](https://t.me/solitudePro)
|
34
|
+
[](https://discord.gg/Y8VEvVgW)
|
35
|
+
|
36
|
+

|
37
|
+

|
38
|
+
|
39
|
+
[](https://gitee.com/nsjjd_w/hexo-theme-solitude)
|
40
|
+
[](https://gitlab.com/efu/hexo-theme-solitude)
|
41
|
+
|
42
|
+
[Aperçu](https://www.efu.me/) 丨 [documentation](https://solitude-docs.efu.me/)
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+

|
47
|
+
|
48
|
+
## caractéristique
|
49
|
+
|
50
|
+
- Chargement paresseux de page (Pjax), chargement paresseux d’image (LazyLoad), application hors ligne (PWA)
|
51
|
+
- Commentaires (Twikoo, Waline, Valine, Artalk)
|
52
|
+
- Mode couleur
|
53
|
+
- Lightbox (zoom moyen, fancybox)
|
54
|
+
- Formules mathématiques (latex)
|
55
|
+
- Pages en vedette : Essais instantanés, Mon équipement, Outils en ligne, Galerie de musique, Étang à poissons Friend
|
56
|
+
Chain, Page d’album photo, Page Douban
|
57
|
+
- Caractéristiques de l’article : résumé de l’IA, mise en évidence du code
|
58
|
+
|
59
|
+
## Todo
|
60
|
+
|
61
|
+
- [x] Examen d’Artalk
|
62
|
+
- [x] Double examen
|
63
|
+
- [x] album photo
|
64
|
+
|
65
|
+
> Si vous avez des questions, n’hésitez pas à les poser [issue](https://github.com/valor-x/hexo-theme-solitude/issues)
|
66
|
+
|
67
|
+
## appliquer
|
68
|
+
|
69
|
+
1. Utiliser le package NPM pour l’installation
|
70
|
+
```bash
|
71
|
+
npm i hexo-theme-solitude
|
72
|
+
```
|
73
|
+
2. Appliquer un thème
|
74
|
+
```yaml
|
75
|
+
theme: solitude
|
76
|
+
```
|
77
|
+
|
78
|
+
Go to [Docs](https://solitude-docs.efu.me) for more information.
|
79
|
+
|
80
|
+
## Sponsors
|
81
|
+
|
82
|
+
<p align="center">
|
83
|
+
<a href="https://cdn.jsdelivr.net/gh/efuo/static/sponsors.svg">
|
84
|
+
<img src='https://cdn.jsdelivr.net/gh/efuo/static/sponsors.svg'/>
|
85
|
+
</a>
|
86
|
+
</p>
|
87
|
+
|
88
|
+
## copyright
|
89
|
+
|
90
|
+
[MIT](./LICENSE) License © 2023-jusqu’ici [Efu](https://github.com/efuo)
|
package/README_ja.md
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
[简体中文](README.md)丨[繁体中文](README_zh-Hant.md)丨[English](README_en-US.md)丨[Français](README_fr.md)丨日本語
|
2
|
+
|
3
|
+
<div align="center">
|
4
|
+
|
5
|
+
<img src=".github/logo.svg" alt="Solitude logo" height="200">
|
6
|
+
|
7
|
+
<h1>ヘキソテーマソリチュード</h1>
|
8
|
+
|
9
|
+
遅延読み込み、PWA、ラテックス、および複数のコメントシステムをサポートするエレガントなHexoテーマ。
|
10
|
+
|
11
|
+
テーマは、 [@张洪Heo](https://github.com/zhheo) 著者の完全な権限、デザイン!
|
12
|
+
|
13
|
+

|
14
|
+

|
15
|
+

|
16
|
+
[](https://github.com/valor-x/hexo-theme-solitude/stargazers)
|
17
|
+
[](https://www.npmjs.com/package/hexo-theme-solitude)
|
18
|
+
|
19
|
+

|
20
|
+

|
21
|
+
|
22
|
+

|
23
|
+

|
24
|
+

|
25
|
+
|
26
|
+

|
27
|
+

|
28
|
+

|
29
|
+
[](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps)
|
30
|
+
|
31
|
+
[](https://twitter.com/efu_oo)
|
32
|
+
[](https://t.me/solitudePro)
|
33
|
+
[](https://discord.gg/Y8VEvVgW)
|
34
|
+
|
35
|
+

|
36
|
+

|
37
|
+
|
38
|
+
[](https://gitee.com/nsjjd_w/hexo-theme-solitude)
|
39
|
+
[](https://gitlab.com/efu/hexo-theme-solitude)
|
40
|
+
|
41
|
+
[プレビュー](https://www.efu.me/) 丨 [ドキュメンテーション](https://solitude-docs.efu.me/)
|
42
|
+
|
43
|
+
</div>
|
44
|
+
|
45
|
+

|
46
|
+
|
47
|
+
## 特性
|
48
|
+
|
49
|
+
- ページ遅延読み込み(Pjax)、画像遅延読み込み(LazyLoad)、オフラインアプリケーション(PWA)
|
50
|
+
- コメント(Twikoo、Waline、Valine、Artalk)
|
51
|
+
- カラーモード
|
52
|
+
- ライトボックス(中ズーム、ファンシーボックス)
|
53
|
+
- 数式(ラテックス)
|
54
|
+
- 注目のページ:インスタントエッセイ、マイ機器、オンラインツール、ミュージックギャラリー、フレンドチェーンフィッシュポンド、フォトアルバムページ、Doubanページ
|
55
|
+
- 記事の特徴:AIの要約、コードの強調表示
|
56
|
+
|
57
|
+
## すべての
|
58
|
+
|
59
|
+
- [x] Artalkレビュー
|
60
|
+
- [x] ダブルレビュー
|
61
|
+
- [x] 写真集
|
62
|
+
|
63
|
+
> ご不明な点がございましたら、お問い合わせください [issue](https://github.com/valor-x/hexo-theme-solitude/issues)
|
64
|
+
|
65
|
+
## 申し込む
|
66
|
+
|
67
|
+
1. インストールに NPM パッケージを使用する
|
68
|
+
```bash
|
69
|
+
npm i hexo-theme-solitude
|
70
|
+
```
|
71
|
+
2. テーマを適用する
|
72
|
+
```yaml
|
73
|
+
theme: solitude
|
74
|
+
```
|
75
|
+
|
76
|
+
詳しくは [Docs](https://solitude-docs.efu.me) をご覧ください。
|
77
|
+
|
78
|
+
## スポンサー
|
79
|
+
|
80
|
+
<p align="center">
|
81
|
+
<a href="https://cdn.jsdelivr.net/gh/efuo/static/sponsors.svg">
|
82
|
+
<img src='https://cdn.jsdelivr.net/gh/efuo/static/sponsors.svg'/>
|
83
|
+
</a>
|
84
|
+
</p>
|
85
|
+
|
86
|
+
## 著作権
|
87
|
+
|
88
|
+
[MIT](./LICENSE) License © 2023-これまで [Efu](https://github.com/efuo)
|
@@ -0,0 +1,188 @@
|
|
1
|
+
more: More
|
2
|
+
star: Behold, those who found delight in this piece also perused
|
3
|
+
random: Around
|
4
|
+
upload: 'datetime: '
|
5
|
+
totalk: You don't need to delete blank lines, just type in your comments.
|
6
|
+
|
7
|
+
theme:
|
8
|
+
dark: dark
|
9
|
+
light: light
|
10
|
+
|
11
|
+
copy:
|
12
|
+
success: Copied
|
13
|
+
error: Copied failed
|
14
|
+
|
15
|
+
copy_copyright:
|
16
|
+
author: Author
|
17
|
+
link: Link
|
18
|
+
source: Source
|
19
|
+
info: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
|
20
|
+
|
21
|
+
time:
|
22
|
+
day: " days ago"
|
23
|
+
hour: " hours ago"
|
24
|
+
just: "just"
|
25
|
+
min: " minutes ago"
|
26
|
+
month: " months ago"
|
27
|
+
|
28
|
+
page:
|
29
|
+
tag: Tags
|
30
|
+
category: Categories
|
31
|
+
tags: All tags
|
32
|
+
categories: All categories
|
33
|
+
archives: Archives
|
34
|
+
404: Page not found
|
35
|
+
|
36
|
+
home:
|
37
|
+
home: Home
|
38
|
+
sticky: Sticky
|
39
|
+
new: New
|
40
|
+
read: Unread
|
41
|
+
recommendmore: More
|
42
|
+
|
43
|
+
post:
|
44
|
+
reprint: Reprint
|
45
|
+
original: Original
|
46
|
+
cc: This article is a ${cc} article, pay attention to the copyright.
|
47
|
+
posted: Posted on
|
48
|
+
updated: Last updated on
|
49
|
+
wordcount: Word count
|
50
|
+
minread: Reading time
|
51
|
+
ip: The author's IP belongs to
|
52
|
+
pv: PV
|
53
|
+
comment: Comments
|
54
|
+
copyright:
|
55
|
+
reprint: This article is a reproduction or translation, and the copyright belongs to the original author. Please contact the original author for permission to republish this article.
|
56
|
+
original: This piece of writing is an original article, utilizing the
|
57
|
+
original_end: Agreement. For complete reproduction, please acknowledge the source as Courtesy of
|
58
|
+
|
59
|
+
nav:
|
60
|
+
site_name_title: Back to home
|
61
|
+
backtop: Back to top
|
62
|
+
travellings: Traveling - Friends Link
|
63
|
+
search: Search
|
64
|
+
randompost: Random post
|
65
|
+
console: Console
|
66
|
+
|
67
|
+
award:
|
68
|
+
thanks: Thanks
|
69
|
+
tipping: Tipping
|
70
|
+
title: List of appreciation
|
71
|
+
|
72
|
+
search:
|
73
|
+
empty: No results found
|
74
|
+
hit: Found ${query} results for you
|
75
|
+
placeholder: Enter keywords to quickly search
|
76
|
+
count: Total <b>${count}</b> results.
|
77
|
+
|
78
|
+
head:
|
79
|
+
noscript: Please enable JavaScript to view the site
|
80
|
+
|
81
|
+
aside:
|
82
|
+
postcount: 'Posts :'
|
83
|
+
pv: 'PV :'
|
84
|
+
uv: 'UV :'
|
85
|
+
runtime: 'Runtime :'
|
86
|
+
updatetime: 'Last update :'
|
87
|
+
wordcount: 'Word count :'
|
88
|
+
toc: Table of contents
|
89
|
+
tagmore: View all
|
90
|
+
avatar: Avatar
|
91
|
+
sticker: Mood sticker
|
92
|
+
newpost: New posts
|
93
|
+
|
94
|
+
console:
|
95
|
+
comment_tip: Interaction
|
96
|
+
comment_title: Latest comments
|
97
|
+
tag_tip: Tags
|
98
|
+
tag_title: Find interesting areas
|
99
|
+
switch_darkmode: Day and night switching
|
100
|
+
switch_hideAside: Sidebar display control
|
101
|
+
switch_keyboard: Keyboard operation
|
102
|
+
switch_music: Music switch
|
103
|
+
archive_unit: Posts
|
104
|
+
newest_comment:
|
105
|
+
image: Image
|
106
|
+
link: Link
|
107
|
+
code: Code
|
108
|
+
|
109
|
+
sidebar:
|
110
|
+
function: Function
|
111
|
+
darkmode: Display mode
|
112
|
+
|
113
|
+
footer:
|
114
|
+
description: Article from ${title}
|
115
|
+
learnmore: Learn more
|
116
|
+
randomlink: Links
|
117
|
+
rss: Subscribe
|
118
|
+
theme: Theme
|
119
|
+
|
120
|
+
cookies:
|
121
|
+
title: Agreement reminder assistant
|
122
|
+
tip: Check out the efforts we make to protect your privacy
|
123
|
+
privacy: How this site protects your privacy
|
124
|
+
|
125
|
+
music:
|
126
|
+
hit: Paused
|
127
|
+
|
128
|
+
404:
|
129
|
+
button: Back to home
|
130
|
+
|
131
|
+
link:
|
132
|
+
banner:
|
133
|
+
toComment: Application link
|
134
|
+
random: Random Visit
|
135
|
+
random: You are about to ⌈ ${name} ⌋ , security unknown.
|
136
|
+
|
137
|
+
keyboard:
|
138
|
+
title: Blog shortcuts
|
139
|
+
|
140
|
+
newest_comment:
|
141
|
+
error: Unable to get a comment, please confirm that the relevant configuration is correct.
|
142
|
+
zero: No comments.
|
143
|
+
|
144
|
+
comment:
|
145
|
+
title: ' Comment'
|
146
|
+
|
147
|
+
commentBarrage:
|
148
|
+
title: Hot
|
149
|
+
|
150
|
+
f12: Developer mode is turned on, please follow the GPL.
|
151
|
+
|
152
|
+
right_menu:
|
153
|
+
copy: Copy
|
154
|
+
paste: Paste
|
155
|
+
comment: ToTalk
|
156
|
+
new: Open
|
157
|
+
link: Copy
|
158
|
+
img: Copy
|
159
|
+
downloadImg: Download
|
160
|
+
search: Search
|
161
|
+
dark: Light
|
162
|
+
light: Dark
|
163
|
+
chs_to_cht: 轉為繁體
|
164
|
+
cht_to_chs: 转为简体
|
165
|
+
img_error: This image cannot be copied or downloaded.
|
166
|
+
barrage:
|
167
|
+
open: OpenBarrage
|
168
|
+
close: CloseBarrage
|
169
|
+
music:
|
170
|
+
start: Play
|
171
|
+
stop: Pause
|
172
|
+
back: Back
|
173
|
+
forward: Forward
|
174
|
+
copyMusicName: CopyName
|
175
|
+
|
176
|
+
about:
|
177
|
+
other:
|
178
|
+
oneself:
|
179
|
+
map_title: I live in
|
180
|
+
info_title1: Born
|
181
|
+
info_title2: Now occupational
|
182
|
+
tj:
|
183
|
+
tip: Data
|
184
|
+
title: Access statistics
|
185
|
+
post_tip: 'Stats from:'
|
186
|
+
personalities:
|
187
|
+
tip1: At
|
188
|
+
tip2: 'Learn more:'
|
package/languages/en.yml
CHANGED
@@ -171,4 +171,18 @@ right_menu:
|
|
171
171
|
stop: Pause
|
172
172
|
back: Back
|
173
173
|
forward: Forward
|
174
|
-
copyMusicName: CopyName
|
174
|
+
copyMusicName: CopyName
|
175
|
+
|
176
|
+
about:
|
177
|
+
other:
|
178
|
+
oneself:
|
179
|
+
map_title: I live in
|
180
|
+
info_title1: Born
|
181
|
+
info_title2: Now occupational
|
182
|
+
tj:
|
183
|
+
tip: Data
|
184
|
+
title: Access statistics
|
185
|
+
post_tip: 'Stats from:'
|
186
|
+
personalities:
|
187
|
+
tip1: At
|
188
|
+
tip2: 'Learn more:'
|
package/languages/zh-CN.yml
CHANGED
@@ -174,3 +174,17 @@ right_menu:
|
|
174
174
|
back: 切换到上一首
|
175
175
|
forward: 切换到下一首
|
176
176
|
copyMusicName: 复制歌名
|
177
|
+
|
178
|
+
about:
|
179
|
+
other:
|
180
|
+
oneself:
|
181
|
+
map_title: 我现在住在
|
182
|
+
info_title1: 生于
|
183
|
+
info_title2: 现在职业
|
184
|
+
tj:
|
185
|
+
tip: 数据
|
186
|
+
title: 访问统计
|
187
|
+
post_tip: 统计信息来自
|
188
|
+
personalities:
|
189
|
+
tip1: 在
|
190
|
+
tip2: 了解更多关于
|
package/languages/zh-TW.yml
CHANGED
@@ -173,4 +173,18 @@ right_menu:
|
|
173
173
|
stop: 暫停音樂
|
174
174
|
back: 切換到上一首
|
175
175
|
forward: 切換到下一首
|
176
|
-
copyMusicName: 複製歌名
|
176
|
+
copyMusicName: 複製歌名
|
177
|
+
|
178
|
+
about:
|
179
|
+
other:
|
180
|
+
oneself:
|
181
|
+
map_title: 我現在住在
|
182
|
+
info_title1: 生於
|
183
|
+
info_title2: 現在職業
|
184
|
+
tj:
|
185
|
+
tip: 數據
|
186
|
+
title: 訪問統計
|
187
|
+
post_tip: 統計信息來自
|
188
|
+
personalities:
|
189
|
+
tip1: 在
|
190
|
+
tip2: 瞭解更多關於
|
@@ -11,7 +11,7 @@ case theme.display_mode.type
|
|
11
11
|
} else {
|
12
12
|
document.documentElement.setAttribute('data-theme', cachedMode);
|
13
13
|
}
|
14
|
-
|
14
|
+
is_rm && rm.mode(cachedMode === 'dark' && isDarkMode)
|
15
15
|
}
|
16
16
|
initTheme()
|
17
17
|
when "dark"
|
@@ -22,7 +22,7 @@ case theme.display_mode.type
|
|
22
22
|
document.documentElement.setAttribute('data-theme', 'dark');
|
23
23
|
else
|
24
24
|
document.documentElement.setAttribute('data-theme', cachedMode);
|
25
|
-
|
25
|
+
is_rm && rm.mode(cachedMode === undefined || cachedMode === 'dark')
|
26
26
|
}
|
27
27
|
initTheme()
|
28
28
|
when "light"
|
@@ -33,6 +33,6 @@ case theme.display_mode.type
|
|
33
33
|
document.documentElement.setAttribute('data-theme', 'light');
|
34
34
|
else
|
35
35
|
document.documentElement.setAttribute('data-theme', cachedMode);
|
36
|
-
|
36
|
+
is_rm && rm.mode(cachedMode === 'dark')
|
37
37
|
}
|
38
38
|
initTheme()
|
@@ -1,5 +1,6 @@
|
|
1
1
|
if theme.pwa.enable
|
2
2
|
meta(name="theme-color", content=theme.pwa.theme_color)
|
3
|
+
meta(name="apple-mobile-web-app-status-bar-style", content=theme.pwa.theme_color)
|
3
4
|
link(rel="manifest" href=url_for(theme.pwa.manifest))
|
4
5
|
if theme.pwa.theme_color
|
5
6
|
meta(name="msapplication-TileColor" content=theme.pwa.theme_color)
|
@@ -15,5 +16,7 @@ if theme.pwa.enable
|
|
15
16
|
link(rel="bookmark", href=url_for(theme.pwa.bookmark_icon))
|
16
17
|
else
|
17
18
|
meta(name="apple-mobile-web-app-capable", content=config.title)
|
19
|
+
meta(name="theme-color", content="var(--efu-main)")
|
20
|
+
meta(name="apple-mobile-web-app-status-bar-style", content="var(--efu-main)")
|
18
21
|
link(rel="bookmark", href=url_for(theme.site.siteIcon))
|
19
22
|
link(rel="apple-touch-icon", href=url_for(theme.site.siteIcon), sizes="180x180")
|
@@ -23,12 +23,11 @@ if theme.katex && theme.katex.enable
|
|
23
23
|
include ../head/opengraph.pug
|
24
24
|
|
25
25
|
// pwa
|
26
|
-
|
27
|
-
include ../head/pwa.pug
|
26
|
+
include ../head/pwa.pug
|
28
27
|
|
29
28
|
script.
|
30
29
|
console.log(
|
31
|
-
"%c Program: Hexo %c Theme: Solitude %c Version: v1.8.
|
30
|
+
"%c Program: Hexo %c Theme: Solitude %c Version: v1.8.6",
|
32
31
|
"border-radius:5px 0 0 5px;padding: 5px 10px;color:white;background:#ff3842;",
|
33
32
|
"padding: 5px 10px;color:white;background:#3e9f50;",
|
34
33
|
"border-radius:0 5px 5px 0;padding: 5px 10px;background:#0084ff;color:white;"
|
@@ -59,7 +59,7 @@ div#rightMenu
|
|
59
59
|
if theme.right_menu.commentBarrage && theme.comment.use && theme.comment.commentBarrage
|
60
60
|
div.rightMenu-item#menu-commentBarrage(onclick="sco.switchCommentBarrage()")
|
61
61
|
i.solitude.st-chat-fill
|
62
|
-
span.menu-commentBarrage-text= _p('right_menu.barrage.
|
62
|
+
span.menu-commentBarrage-text= _p('right_menu.barrage.close')
|
63
63
|
div.rightMenu-item#menu-darkmode(onclick="sco.switchDarkMode()")
|
64
64
|
i.solitude.st-moon-clear-fill
|
65
65
|
case theme.display_mode.type
|
@@ -5,11 +5,11 @@
|
|
5
5
|
if tj
|
6
6
|
.about-statistic.author-content-item(style=`background: url(${tj.img});`)
|
7
7
|
.card-content
|
8
|
-
.author-content-item-tips
|
9
|
-
span.author-content-item-title
|
8
|
+
.author-content-item-tips=_p('about.other.tj.tip')
|
9
|
+
span.author-content-item-title=_p('about.other.tj.title')
|
10
10
|
#statistic
|
11
11
|
.post-tips
|
12
|
-
|
12
|
+
= _p('about.other.tj.post_tip')
|
13
13
|
a(href="https://v6.51.la/") 51la网站统计
|
14
14
|
|
15
15
|
script.
|
@@ -31,7 +31,6 @@
|
|
31
31
|
s.innerHTML = html;
|
32
32
|
});
|
33
33
|
|
34
|
-
|
35
34
|
if oneself
|
36
35
|
style.
|
37
36
|
:root {
|
@@ -40,16 +39,16 @@
|
|
40
39
|
}
|
41
40
|
.author-content-item-group.column.mapAndInfo
|
42
41
|
.author-content-item.map.single
|
43
|
-
span.map-title
|
42
|
+
span.map-title=_p('about.other.oneself.map_title') + oneself.location
|
44
43
|
.author-content-item.selfInfo.single
|
45
44
|
div
|
46
|
-
span.selfInfo-title
|
45
|
+
span.selfInfo-title=_p('about.other.oneself.info_title1')
|
47
46
|
span.selfInfo-content(style="color: #43a6c6;")= oneself.birthYear
|
48
47
|
div
|
49
48
|
span.selfInfo-title= oneself.university
|
50
49
|
span.selfInfo-content(style="color: #c69043;")= oneself.major
|
51
50
|
div
|
52
|
-
span.selfInfo-title
|
51
|
+
span.selfInfo-title=_p('about.other.oneself.info_title2')
|
53
52
|
span.selfInfo-content(style="color: #b04fe6;")= oneself.occupation
|
54
53
|
|
55
54
|
- var cause = site.data.about.cause
|
@@ -9,9 +9,9 @@ if personalities
|
|
9
9
|
.image
|
10
10
|
img.nolazyload(src=personalities.image)
|
11
11
|
.post-tips
|
12
|
-
|
12
|
+
= _p('about.personalities.tip1')
|
13
13
|
a(href="https://www.16personalities.com/")= personalities.linkText
|
14
|
-
|
14
|
+
= _p('about.personalities.tip2')
|
15
15
|
a(href=personalities.typeLink)= personalities.typeName
|
16
16
|
.author-content-item.myphoto
|
17
|
-
img.author-content-img(src=personalities.myphoto, alt="
|
17
|
+
img.author-content-img(src=personalities.myphoto, alt="my photo")
|
@@ -1,3 +1,4 @@
|
|
1
|
+
- const {copyright} = theme.post.default
|
1
2
|
.post-copyright
|
2
3
|
.post-copyright__author_group
|
3
4
|
a.post-copyright__author_img(href=url_for("/about/"))
|
@@ -14,7 +15,7 @@
|
|
14
15
|
a.reward-link-button(href=url_for(theme.post.rss))
|
15
16
|
i.solitude.st-plant-fill
|
16
17
|
= _p('footer.rss')
|
17
|
-
if
|
18
|
+
if copyright.enable || page.copyright
|
18
19
|
.post-copyright__notice
|
19
20
|
span.post-copyright-info
|
20
21
|
if page.reprint
|
@@ -24,4 +25,4 @@
|
|
24
25
|
a(href=url_for(theme.post.default.copyright.licenurl))
|
25
26
|
| #{theme.post.default.copyright.license}
|
26
27
|
= _p('post.copyright.original_end')
|
27
|
-
a(href=url_for("/")) #{config.title}
|
28
|
+
a(href=url_for("/")) #{config.title}
|
@@ -1,9 +1,11 @@
|
|
1
|
+
- const google_adsense = theme.google_adsense.enable
|
2
|
+
|
1
3
|
script.
|
2
4
|
const pjax = new Pjax({
|
3
5
|
elements: 'a:not([target="_blank"])',
|
4
6
|
selectors: ['title','#body-wrap','#site-config','meta[name="description"]','.js-pjax','meta[property^="og:"]','#config-diff'],
|
5
7
|
cacheBust: false,
|
6
|
-
analytics:
|
8
|
+
analytics: !{google_adsense},
|
7
9
|
scrollRestoration: false
|
8
10
|
})
|
9
11
|
|
package/package.json
CHANGED
@@ -131,6 +131,9 @@ if hexo-config('index_post_list.direction') == "column"
|
|
131
131
|
font-size 14px
|
132
132
|
line-height 1.8
|
133
133
|
|
134
|
+
+maxWidth600()
|
135
|
+
-webkit-line-clamp 1
|
136
|
+
|
134
137
|
span.tags-punctuation
|
135
138
|
transition .3s
|
136
139
|
|
@@ -353,6 +356,8 @@ else if hexo-config('index_post_list.direction') == "row"
|
|
353
356
|
line-height 1.8
|
354
357
|
+maxWidth768()
|
355
358
|
-webkit-line-clamp 2
|
359
|
+
+maxWidth600()
|
360
|
+
-webkit-line-clamp 1
|
356
361
|
|
357
362
|
span.tags-punctuation
|
358
363
|
transition .3s
|
@@ -89,8 +89,10 @@ function initThemeColor() {
|
|
89
89
|
}
|
90
90
|
|
91
91
|
function changeThemeColor(color) {
|
92
|
-
|
93
|
-
|
94
|
-
|
92
|
+
if (null !== document.querySelector('meta[name="theme-color"]') && (document.querySelector('meta[name="theme-color"]').setAttribute("content", color),
|
93
|
+
document.querySelector('meta[name="apple-mobile-web-app-status-bar-style"]').setAttribute("content", color)),
|
94
|
+
window.matchMedia("(display-mode: standalone)").matches) {
|
95
|
+
const t = document.body;
|
96
|
+
t ? t.style.backgroundColor = color : console.error("document.body不存在")
|
95
97
|
}
|
96
98
|
}
|
@@ -154,8 +154,10 @@ function initThemeColor() {
|
|
154
154
|
}
|
155
155
|
|
156
156
|
function changeThemeColor(color) {
|
157
|
-
|
158
|
-
|
159
|
-
|
157
|
+
if (null !== document.querySelector('meta[name="theme-color"]') && (document.querySelector('meta[name="theme-color"]').setAttribute("content", color),
|
158
|
+
document.querySelector('meta[name="apple-mobile-web-app-status-bar-style"]').setAttribute("content", color)),
|
159
|
+
window.matchMedia("(display-mode: standalone)").matches) {
|
160
|
+
const t = document.body;
|
161
|
+
t ? t.style.backgroundColor = color : console.error("document.body not found.")
|
160
162
|
}
|
161
163
|
}
|
package/source/js/main.js
CHANGED
@@ -36,11 +36,12 @@ const sidebarFn = () => {
|
|
36
36
|
|
37
37
|
const scrollFn = function () {
|
38
38
|
const innerHeight = window.innerHeight;
|
39
|
-
|
40
|
-
if (!$header || document.body.scrollHeight <= innerHeight) return;
|
39
|
+
if (document.body.scrollHeight <= innerHeight) return;
|
41
40
|
|
42
41
|
let initTop = 0;
|
42
|
+
const $header = document.getElementById('page-header');
|
43
43
|
window.addEventListener('scroll', utils.throttle(function (e) {
|
44
|
+
initThemeColor()
|
44
45
|
const currentTop = window.scrollY || document.documentElement.scrollTop;
|
45
46
|
const isDown = scrollDirection(currentTop);
|
46
47
|
|
@@ -52,7 +53,9 @@ const scrollFn = function () {
|
|
52
53
|
}
|
53
54
|
$header.classList.add('nav-fixed');
|
54
55
|
} else {
|
56
|
+
if (currentTop ===0){
|
55
57
|
$header.classList.remove('nav-fixed', 'nav-visible');
|
58
|
+
}
|
56
59
|
}
|
57
60
|
}, 200));
|
58
61
|
|
@@ -215,7 +218,7 @@ class toc {
|
|
215
218
|
|
216
219
|
let lastSayHello = "";
|
217
220
|
let wleelw_musicPlaying = false
|
218
|
-
let
|
221
|
+
let is_rm = typeof rm !== 'undefined'
|
219
222
|
|
220
223
|
let sco = {
|
221
224
|
hideCookie: function () {
|
@@ -257,10 +260,10 @@ let sco = {
|
|
257
260
|
$console.classList.toggle("on", wleelw_musicPlaying);
|
258
261
|
if (wleelw_musicPlaying) {
|
259
262
|
$meting.aplayer.play();
|
260
|
-
|
263
|
+
rm?.menuItems.music[0] && ($rm_text.textContent = GLOBAL_CONFIG.right_menu.music.stop) && ($rm_icon.className = 'solitude st-pause-fill')
|
261
264
|
} else {
|
262
265
|
$meting.aplayer.pause();
|
263
|
-
|
266
|
+
rm?.menuItems.music[0] && ($rm_text.textContent = GLOBAL_CONFIG.right_menu.music.start) && ($rm_icon.className = 'solitude st-play-fill')
|
264
267
|
}
|
265
268
|
},
|
266
269
|
switchCommentBarrage: function () {
|
@@ -270,18 +273,18 @@ let sco = {
|
|
270
273
|
commentBarrageElement.style.display = "none";
|
271
274
|
document.querySelector("#consoleCommentBarrage").classList.remove("on");
|
272
275
|
utils.saveToLocal.set("commentBarrageSwitch", false, .2);
|
273
|
-
|
276
|
+
rm?.menuItems.barrage && rm.barrage(true)
|
274
277
|
} else {
|
275
278
|
commentBarrageElement.style.display = "flex";
|
276
279
|
document.querySelector("#consoleCommentBarrage").classList.add("on");
|
277
280
|
utils.saveToLocal.set("commentBarrageSwitch", true, .2);
|
278
|
-
|
281
|
+
rm?.menuItems.barrage && rm.barrage(false)
|
279
282
|
}
|
280
283
|
}
|
281
284
|
},
|
282
285
|
switchHideAside: function () {
|
283
286
|
const htmlClassList = document.documentElement.classList;
|
284
|
-
htmlClassList.contains("hide-aside") ? utils.saveToLocal.set("aside-status", "show", 1) : saveToLocal.set("aside-status", "hide", 1)
|
287
|
+
htmlClassList.contains("hide-aside") ? utils.saveToLocal.set("aside-status", "show", 1) : utils.saveToLocal.set("aside-status", "hide", 1)
|
285
288
|
htmlClassList.toggle("hide-aside");
|
286
289
|
htmlClassList.contains("hide-aside") ? document.querySelector("#consoleHideAside").classList.add("on") : document.querySelector("#consoleHideAside").classList.remove("on");
|
287
290
|
},
|
@@ -319,12 +322,12 @@ let sco = {
|
|
319
322
|
document.documentElement.setAttribute('data-theme', 'dark')
|
320
323
|
utils.saveToLocal.set('theme', 'dark', 0.02);
|
321
324
|
utils.snackbarShow(GLOBAL_CONFIG.lang.theme.dark, false, 2000)
|
322
|
-
|
325
|
+
is_rm && rm.mode(true)
|
323
326
|
} else {
|
324
327
|
document.documentElement.setAttribute('data-theme', 'light')
|
325
328
|
utils.saveToLocal.set('theme', 'light', 0.02);
|
326
329
|
utils.snackbarShow(GLOBAL_CONFIG.lang.theme.light, false, 2000)
|
327
|
-
|
330
|
+
is_rm && rm.mode(false)
|
328
331
|
}
|
329
332
|
handleThemeChange(nowMode)
|
330
333
|
},
|
@@ -351,7 +354,7 @@ let sco = {
|
|
351
354
|
el && GLOBAL_CONFIG.runtime && (el.innerText = utils.timeDiff(new Date(GLOBAL_CONFIG.runtime), new Date()) + GLOBAL_CONFIG.lang.time.day)
|
352
355
|
},
|
353
356
|
toTalk: function (txt) {
|
354
|
-
const inputs = ["#wl-edit", ".el-textarea__inner", "#veditor",".atk-textarea"]
|
357
|
+
const inputs = ["#wl-edit", ".el-textarea__inner", "#veditor", ".atk-textarea"]
|
355
358
|
for (let i = 0; i < inputs.length; i++) {
|
356
359
|
let el = document.querySelector(inputs[i])
|
357
360
|
if (el != null) {
|
@@ -561,16 +564,14 @@ let sco = {
|
|
561
564
|
});
|
562
565
|
},
|
563
566
|
addNavBackgroundInit: function () {
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
cookiesWindow.style.display = 'none';
|
573
|
-
}
|
567
|
+
let e = 0
|
568
|
+
, t = 0;
|
569
|
+
document.body && (e = document.body.scrollTop),
|
570
|
+
document.documentElement && (t = document.documentElement.scrollTop),
|
571
|
+
0 !== (e - t > 0 ? e : t) && (document.getElementById("page-header").classList.add("nav-fixed"), document.getElementById("page-header").classList.add("nav-visible"))
|
572
|
+
const cookiesWindow = document.getElementById("cookies-window");
|
573
|
+
if (cookiesWindow) {
|
574
|
+
cookiesWindow.style.display = 'none';
|
574
575
|
}
|
575
576
|
},
|
576
577
|
initAdjust: function (change = false) {
|
@@ -686,7 +687,7 @@ let sco = {
|
|
686
687
|
}
|
687
688
|
}
|
688
689
|
utils.addEventListenerPjax(switchBtn, 'click', handleSwitchBtn)
|
689
|
-
}
|
690
|
+
},
|
690
691
|
}
|
691
692
|
|
692
693
|
const addHighlight = () => {
|
@@ -811,7 +812,7 @@ const addCopyright = () => {
|
|
811
812
|
document.body.addEventListener('copy', handleCopy)
|
812
813
|
}
|
813
814
|
|
814
|
-
const asideStatus = () =>{
|
815
|
+
const asideStatus = () => {
|
815
816
|
const asideStatus = utils.saveToLocal.get('aside-status')
|
816
817
|
if (asideStatus !== undefined) {
|
817
818
|
if (asideStatus === 'hide') {
|
@@ -889,8 +890,6 @@ window.refreshFn = () => {
|
|
889
890
|
sco.switchComments()
|
890
891
|
}
|
891
892
|
|
892
|
-
utils.addGlobalFn('pjaxComplete', refreshFn, 'refreshFn')
|
893
|
-
|
894
893
|
document.addEventListener('DOMContentLoaded', function () {
|
895
894
|
sco.initAdjust()
|
896
895
|
percent()
|
package/source/js/right_menu.js
CHANGED
@@ -26,6 +26,8 @@ const rm = {
|
|
26
26
|
downloadImg: document.getElementById('menu-downloadimg'),
|
27
27
|
search: document.getElementById('menu-search'),
|
28
28
|
barrage: document.getElementById('menu-commentBarrage'),
|
29
|
+
mode: document.getElementById('menu-darkmode'),
|
30
|
+
translate: document.getElementById('menu-translate'),
|
29
31
|
music: [
|
30
32
|
toggle = document.getElementById('menu-music-toggle'),
|
31
33
|
back = document.getElementById('menu-music-back'),
|
@@ -131,11 +133,11 @@ window.oncontextmenu = (ele) => {
|
|
131
133
|
display = true;
|
132
134
|
rm.menuItems.copy.style.display = 'block';
|
133
135
|
GLOBAL_CONFIG.comment && (rm.menuItems.comment.style.display = 'block');
|
134
|
-
rm.menuItems.search.style.display = 'block';
|
136
|
+
rm.menuItems.search && (rm.menuItems.search.style.display = 'block');
|
135
137
|
} else {
|
136
138
|
rm.menuItems.copy.style.display = 'none';
|
137
139
|
GLOBAL_CONFIG.comment && (rm.menuItems.comment.style.display = 'none');
|
138
|
-
rm.menuItems.search.style.display = 'none';
|
140
|
+
rm.menuItems.search && (rm.menuItems.search.style.display = 'none');
|
139
141
|
}
|
140
142
|
|
141
143
|
if (link) {
|
@@ -170,7 +172,7 @@ window.oncontextmenu = (ele) => {
|
|
170
172
|
display = true;
|
171
173
|
rm.menuItems.music.forEach(item => item.style.display = 'block');
|
172
174
|
} else {
|
173
|
-
rm.menuItems.music.forEach(item => item.style.display = 'none');
|
175
|
+
rm.menuItems.music[0] && rm.menuItems.music.forEach(item => item.style.display = 'none');
|
174
176
|
}
|
175
177
|
|
176
178
|
Array.from(display ? rm.menuItems.other : rm.menuItems.plugin).forEach(item => item.style.display = 'none');
|
@@ -219,8 +221,8 @@ window.oncontextmenu = (ele) => {
|
|
219
221
|
rm.hideRightMenu()
|
220
222
|
})
|
221
223
|
|
222
|
-
if(
|
223
|
-
rm.barrage(!utils.saveToLocal.get('commentBarrageSwitch'))
|
224
|
+
if(utils.saveToLocal.get('commentBarrageSwitch')!==null){
|
225
|
+
rm.menuItems.barrage && rm.barrage(!utils.saveToLocal.get('commentBarrageSwitch'))
|
224
226
|
}
|
225
227
|
|
226
228
|
rm.menuItems.paste.addEventListener('click', () => rm.pasteText() && rm.hideRightMenu())
|
@@ -230,4 +232,4 @@ window.oncontextmenu = (ele) => {
|
|
230
232
|
rm.menuItems.copyImg.addEventListener('click', () => rm.copyImage() && rm.hideRightMenu())
|
231
233
|
}()
|
232
234
|
|
233
|
-
|
235
|
+
is_rm = true
|
@@ -3,4 +3,4 @@
|
|
3
3
|
* email: o@efu.me
|
4
4
|
* website: https://efu.me
|
5
5
|
*/
|
6
|
-
class efuAI{constructor(){this.root="https://summary.tianli0.top",this.aiTalkMode=!1,this.aiPostExplanation=
|
6
|
+
class efuAI{constructor(){this.root="https://summary.tianli0.top",this.aiTalkMode=!1,this.aiPostExplanation='',this.config=GLOBAL_CONFIG.post_ai,this.scoGPTIsRunning=!1}init(){this.scoGPTIsRunning=!1;this.aiPostExplanation=PAGE_CONFIG.ai_text?PAGE_CONFIG.ai_text+"":false;if(!this.aiPostExplanation){this.generate()}else{this.aiShowAnimation(Promise.resolve(this.aiPostExplanation))}this.AIEngine()}getTitleAndContent(){const e=document.getElementById("article-container"),t=document.title,n=e.getElementsByTagName("p"),i=e.querySelectorAll("h1, h2, h3, h4, h5");return(t+" "+Array.from(i).concat(Array.from(n)).map((e=>e.innerText.replace(/https?:\/\/[^\s]+/g,""))).join(" ")).slice(0,1e3)}async generate(){this.aiShowAnimation(this.fetch(document.title,this.getTitleAndContent(),this.config.key))}async fetch(e,t,n){const i=`${this.root}/?content=${encodeURIComponent(t)}&title=${e}&key=${encodeURIComponent(n)}&url=${encodeURIComponent(window.location.href)}`,s=await fetch(i),o=await s.json();return s.ok?(this.aiPostExplanation=o.summary,o.summary):(console.error("Request failed:",o.err_msg),o.err_msg)}aiShowAnimation(e,t=!1){const n=document.querySelector(".ai-explanation"),i=document.querySelector(".ai-tag");if(!n||this.scoGPTIsRunning)return;this.scoGPTIsRunning=!0,this.cleanSuggestions(),i.classList.add("loadingAI"),n.style.display="block",n.innerHTML='生成中...<span class="blinking-cursor"></span>';let s,o,a=!0,c=0,r=!0;const l=new IntersectionObserver((e=>{a=e[0].isIntersecting,a&&requestAnimationFrame(o)}),{threshold:0});e.then((e=>{s=performance.now(),o=()=>{if(c<e.length&&a){const r=performance.now(),g=r-s,h=e.slice(c,c+1),u=/[,。!、?,.!?]/.test(h),m=/[a-zA-Z0-9]/.test(h);g>=(u?100*Math.random()+100:m?10:25)&&(n.innerText=e.slice(0,c+1),s=r,c++,c<e.length?n.innerHTML=e.slice(0,c)+'<span class="blinking-cursor"></span>':(n.innerHTML=e,n.style.display="block",this.scoGPTIsRunning=!1,i.classList.remove("loadingAI"),l.disconnect(),t&&this.createSuggestions())),a&&requestAnimationFrame(o)}},a&&r&&setTimeout((()=>{requestAnimationFrame(o),r=!1}),3e3),l.observe(n)})).catch((e=>{console.error("检索信息失败:",e),n.innerHTML="检索信息失败",n.style.display="block",this.scoGPTIsRunning=!1,i.classList.remove("loadingAI"),l.disconnect()}))}AIEngine(){const e=document.querySelector(".ai-tag");e&&e.addEventListener("click",(()=>{this.scoGPTIsRunning||(this.aiTalkMode=!0,this.aiShowAnimation(Promise.resolve(this.config.talk),!0))}))}cleanSuggestions(){const e=document.querySelector(".ai-suggestions");e?e.innerHTML="":console.error("没有这个元素:'ai-suggestions'")}createSuggestions(){this.aiTalkMode&&(this.cleanSuggestions(),this.createSuggestionItemWithAction("这篇文章讲了什么?",(()=>{""===this.aiPostExplanation?this.generate():this.aiShowAnimation(Promise.resolve(this.aiPostExplanation),!0)})),this.config.randomPost&&this.createSuggestionItemWithAction("带我去看看其他文章",(()=>toRandomPost())),this.aiTalkMode=!0)}createSuggestionItemWithAction(e,t){const n=document.querySelector(".ai-suggestions");if(!n)return void console.error("无法找到具有class为ai-suggestions的元素");const i=document.createElement("div");i.classList.add("ai-suggestions-item"),i.textContent=e,i.addEventListener("click",t),n.appendChild(i)}}const efu_ai=new efuAI;
|