hexo-theme-solitude 3.0.10 → 3.0.11

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.
Files changed (34) hide show
  1. package/_config.yml +15 -27
  2. package/languages/default.yml +14 -15
  3. package/languages/en.yml +22 -24
  4. package/languages/zh-CN.yml +14 -15
  5. package/languages/zh-TW.yml +14 -15
  6. package/layout/includes/head/config.pug +0 -11
  7. package/layout/includes/head/page_config.pug +1 -1
  8. package/layout/includes/inject/body.pug +1 -1
  9. package/layout/includes/layout.pug +0 -4
  10. package/layout/includes/page/brevity.pug +2 -2
  11. package/layout/includes/widgets/page/about/skillsinfo.pug +12 -11
  12. package/layout/includes/widgets/page/kit/content.pug +3 -2
  13. package/layout/includes/widgets/page/links/banner.pug +7 -6
  14. package/layout/includes/widgets/post/ai.pug +7 -0
  15. package/layout/post.pug +2 -2
  16. package/package.json +1 -1
  17. package/scripts/event/cdn.js +83 -60
  18. package/scripts/event/merge_config.js +385 -385
  19. package/scripts/filter/default.js +22 -24
  20. package/scripts/tags/tabs.js +29 -18
  21. package/source/css/_global/index.styl +2 -2
  22. package/source/css/_layout/article-container.styl +1 -1
  23. package/source/css/_layout/other.styl +2 -2
  24. package/source/css/_post/index.styl +103 -4
  25. package/source/css/_tags/tabs.styl +40 -101
  26. package/source/css/index.styl +0 -4
  27. package/source/js/main.js +447 -257
  28. package/source/js/post_ai.js +60 -0
  29. package/source/js/utils.js +0 -6
  30. package/layout/includes/widgets/post/post-ai.pug +0 -12
  31. package/layout/includes/widgets/third-party/tianli-talk.pug +0 -26
  32. package/source/css/_post/postAI.styl +0 -132
  33. package/source/css/third_party/tianli_talk.styl +0 -77
  34. package/source/js/third_party/post_ai.min.js +0 -184
package/_config.yml CHANGED
@@ -70,7 +70,8 @@ hometop:
70
70
  enable: false
71
71
  banner:
72
72
  title: 分享技术<br >与科技生活 # 大字
73
- desc: 一个热爱生活的人 # 小字
73
+ desc:
74
+ 一个热爱生活的人 # 小字
74
75
  # - 我只是一个普通的程序员
75
76
  # - 但我有一个不平凡的梦想
76
77
  # - 我希望能够改变世界
@@ -251,6 +252,11 @@ post:
251
252
  # License link
252
253
  # 许可证链接
253
254
  licenurl: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans
255
+ # Article Local AI
256
+ # 文章本地AI
257
+ ai:
258
+ enable: false
259
+ modelName: 小七 GPT
254
260
  # Article meta information
255
261
  # 文章元信息
256
262
  meta:
@@ -628,7 +634,7 @@ lazyload:
628
634
  # post, site
629
635
  field: site
630
636
  # 加载时替换图
631
- placeholder: ''
637
+ placeholder: ""
632
638
  # 加载失败替换图
633
639
  errorimg: /img/error_load.avif
634
640
  # --------------------------- end ---------------------------
@@ -859,19 +865,19 @@ search:
859
865
  algolia:
860
866
  # hits:
861
867
  # per_page: 6
862
-
868
+
863
869
  # Local search
864
870
  local:
865
871
  preload: false
866
872
  CDN: # url: search.xml
867
-
873
+
868
874
  # DocSearch
869
875
  # https://docsearch.algolia.com/
870
- docsearch:
871
- appId:
872
- apiKey:
873
- indexName:
874
- option:
876
+ docsearch:
877
+ appId:
878
+ apiKey:
879
+ indexName:
880
+ option:
875
881
  # --------------------------- end ---------------------------
876
882
 
877
883
  # --------------------------- start ---------------------------
@@ -935,24 +941,6 @@ busuanzi: false
935
941
  busuanzi_use: 0
936
942
  # --------------------------- end ---------------------------
937
943
 
938
- # --------------------------- start ---------------------------
939
- # This part is only supported in mainland China, and we will consider supporting ChatGPT Key in the future.
940
- # 该部分仅支持中国大陆
941
- tianli_talk:
942
- enable: false
943
- title: 智能客服与搜索 # title
944
- key: # key
945
- option:
946
- post_ai:
947
- enable: false
948
- modelName: GPT 4
949
- key:
950
- talk: # 我是 Efu 开发的摘要生成助理EfuGPT,EfuGPT在静态部署时进行摘要的撰写,并且在访客访问时通过EfuCorrection转译后的文本摘要实现工具。我在这里只负责已经生成的摘要显示,你无法与我直接沟通,但我可以回答一些预设的问题。
951
- randomPost: false
952
- report: https://solitude.js.org
953
- tips: # 此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
954
- # --------------------------- end ---------------------------
955
-
956
944
  # --------------------------- start ---------------------------
957
945
  # Google Adsense
958
946
  # 谷歌广告
@@ -9,7 +9,7 @@ random: 随便逛逛
9
9
  upload: 发布时间:
10
10
  totalk: 无需删除空行,直接输入评论即可
11
11
  loading: 加载中...
12
- day: ''
12
+ day: ""
13
13
  hot-tip: 多人互动
14
14
 
15
15
  # Language: 简体中文
@@ -86,7 +86,6 @@ post:
86
86
  whatsapp: 分享到WhatsApp
87
87
  ai:
88
88
  title: 文章摘要
89
- tip: 投诉
90
89
  nav:
91
90
  next: 下一篇
92
91
  prev: 上一篇
@@ -107,12 +106,12 @@ head:
107
106
  noscript: 开启JavaScript才能访问本站哦~
108
107
 
109
108
  aside:
110
- postcount: '文章总数 :'
111
- pv: '总访问数 :'
112
- uv: '总访客数 :'
113
- runtime: '建站天数 :'
114
- updatetime: '最后更新 :'
115
- wordcount: '全站字数 :'
109
+ postcount: "文章总数 :"
110
+ pv: "总访问数 :"
111
+ uv: "总访客数 :"
112
+ runtime: "建站天数 :"
113
+ updatetime: "最后更新 :"
114
+ wordcount: "全站字数 :"
116
115
  toc: 文章目录
117
116
  tagmore: 查看全部
118
117
  avatar: 头像
@@ -122,9 +121,9 @@ aside:
122
121
  newpost: 最近发布
123
122
  newcomment: 最近评论
124
123
  card:
125
- posts: '累计文章数:'
126
- tags: '标签总数:'
127
- categories: '分类总数:'
124
+ posts: "累计文章数:"
125
+ tags: "标签总数:"
126
+ categories: "分类总数:"
128
127
 
129
128
  console:
130
129
  comment_tip: 互动
@@ -238,9 +237,9 @@ message:
238
237
  open: 显示弹幕
239
238
 
240
239
  essay:
241
- tip0: '- 已展开所有短文 -'
242
- tip1: '- 只展示最近 #{count} 条短文 -'
243
- link: '链接'
240
+ tip0: "- 已展开所有短文 -"
241
+ tip1: "- 只展示最近 #{count} 条短文 -"
242
+ link: "链接"
244
243
 
245
244
  rightside:
246
245
  show:
@@ -252,4 +251,4 @@ rightside:
252
251
  hide:
253
252
  translate: 简繁转换
254
253
  mode: 显示模式切换
255
- aside: 侧边栏
254
+ aside: 侧边栏
package/languages/en.yml CHANGED
@@ -1,13 +1,13 @@
1
- framework_by: 'Framework: '
2
- theme_by: 'Theme: '
1
+ framework_by: "Framework: "
2
+ theme_by: "Theme: "
3
3
 
4
4
  more: More
5
5
  star: Behold, those who found delight in this piece also perused
6
6
  random: Random
7
- upload: 'datetime: '
7
+ upload: "datetime: "
8
8
  totalk: You don't need to delete blank lines, just type in your comments.
9
9
  loading: Loading...
10
- day: ' days'
10
+ day: " days"
11
11
  hot-tip: Hot
12
12
 
13
13
  theme:
@@ -75,12 +75,10 @@ post:
75
75
  whatsapp: Share to WhatsApp
76
76
  ai:
77
77
  title: Article Summary
78
- tip: Complaints
79
78
  nav:
80
79
  next: Next
81
80
  prev: Previous
82
81
 
83
-
84
82
  nav:
85
83
  site_name_title: Back to home
86
84
  backtop: Back to top
@@ -105,24 +103,24 @@ head:
105
103
  noscript: Please enable JavaScript to view the site
106
104
 
107
105
  aside:
108
- postcount: 'Posts:'
109
- pv: 'PV:'
110
- uv: 'UV:'
111
- runtime: 'Runtime:'
112
- updatetime: 'Last update:'
113
- wordcount: 'Word count:'
106
+ postcount: "Posts:"
107
+ pv: "PV:"
108
+ uv: "UV:"
109
+ runtime: "Runtime:"
110
+ updatetime: "Last update:"
111
+ wordcount: "Word count:"
114
112
  toc: Table of contents
115
113
  tagmore: View all
116
114
  avatar: Avatar
117
- hello: 'Long time no see, '
115
+ hello: "Long time no see, "
118
116
  back: Welcome back again,
119
117
  sticker: Mood sticker
120
118
  newpost: New posts
121
119
  newcomment: New comments
122
120
  card:
123
- posts: 'Posts:'
124
- tags: 'Tags:'
125
- categories: 'Categories:'
121
+ posts: "Posts:"
122
+ tags: "Tags:"
123
+ categories: "Categories:"
126
124
 
127
125
  console:
128
126
  comment_tip: Interaction
@@ -170,7 +168,7 @@ link:
170
168
  banner:
171
169
  toComment: Application link
172
170
  random: Random Visit
173
- random: 'Click the button to visit a random link. The safety and availability of the destination website are not guaranteed. The random link for this visit is: ⌈ ${name} ⌋ '
171
+ random: "Click the button to visit a random link. The safety and availability of the destination website are not guaranteed. The random link for this visit is: ⌈ ${name} ⌋ "
174
172
  to: To
175
173
 
176
174
  keyboard:
@@ -181,7 +179,7 @@ newest_comment:
181
179
  zero: No comments.
182
180
 
183
181
  comment:
184
- title: ' Comment'
182
+ title: " Comment"
185
183
 
186
184
  commentBarrage:
187
185
  title: Hot
@@ -227,19 +225,19 @@ about:
227
225
  tj:
228
226
  tip: Data
229
227
  title: Access statistics
230
- post_tip: 'Stats from:'
228
+ post_tip: "Stats from:"
231
229
  personalities:
232
230
  tip1: At
233
- tip2: 'Learn more:'
231
+ tip2: "Learn more:"
234
232
 
235
233
  message:
236
234
  close: Hide message
237
235
  open: Show message
238
236
 
239
237
  essay:
240
- tip0: '- All expanded -'
241
- tip1: '- Recent Exhibitions #{count} Short Articles -'
242
- link: 'Link'
238
+ tip0: "- All expanded -"
239
+ tip1: "- Recent Exhibitions #{count} Short Articles -"
240
+ link: "Link"
243
241
 
244
242
  rightside:
245
243
  show:
@@ -251,4 +249,4 @@ rightside:
251
249
  hide:
252
250
  translate: 简繁转换
253
251
  mode: Mode
254
- aside: Sidebar
252
+ aside: Sidebar
@@ -7,7 +7,7 @@ random: 随便逛逛
7
7
  upload: 发布时间:
8
8
  totalk: 无需删除空行,直接输入评论即可
9
9
  loading: 加载中...
10
- day: ''
10
+ day: ""
11
11
  hot-tip: 多人互动
12
12
 
13
13
  # Language: 简体中文
@@ -84,7 +84,6 @@ post:
84
84
  whatsapp: 分享到WhatsApp
85
85
  ai:
86
86
  title: 文章摘要
87
- tip: 投诉
88
87
  nav:
89
88
  next: 下一篇
90
89
  prev: 上一篇
@@ -105,12 +104,12 @@ head:
105
104
  noscript: 开启JavaScript才能访问本站哦~
106
105
 
107
106
  aside:
108
- postcount: '文章总数 :'
109
- pv: '总访问数 :'
110
- uv: '总访客数 :'
111
- runtime: '建站天数 :'
112
- updatetime: '最后更新 :'
113
- wordcount: '全站字数 :'
107
+ postcount: "文章总数 :"
108
+ pv: "总访问数 :"
109
+ uv: "总访客数 :"
110
+ runtime: "建站天数 :"
111
+ updatetime: "最后更新 :"
112
+ wordcount: "全站字数 :"
114
113
  toc: 文章目录
115
114
  tagmore: 查看全部
116
115
  avatar: 头像
@@ -120,9 +119,9 @@ aside:
120
119
  newpost: 最近发布
121
120
  newcomment: 最近评论
122
121
  card:
123
- posts: '累计文章数:'
124
- tags: '标签总数:'
125
- categories: '分类总数:'
122
+ posts: "累计文章数:"
123
+ tags: "标签总数:"
124
+ categories: "分类总数:"
126
125
 
127
126
  console:
128
127
  comment_tip: 互动
@@ -236,9 +235,9 @@ message:
236
235
  open: 显示弹幕
237
236
 
238
237
  essay:
239
- tip0: '- 已展开所有短文 -'
240
- tip1: '- 只展示最近 #{count} 条短文 -'
241
- link: '链接'
238
+ tip0: "- 已展开所有短文 -"
239
+ tip1: "- 只展示最近 #{count} 条短文 -"
240
+ link: "链接"
242
241
 
243
242
  rightside:
244
243
  show:
@@ -250,4 +249,4 @@ rightside:
250
249
  hide:
251
250
  translate: 简繁转换
252
251
  mode: 显示模式切换
253
- aside: 侧边栏
252
+ aside: 侧边栏
@@ -7,7 +7,7 @@ random: 隨便逛逛
7
7
  upload: 發佈時間:
8
8
  totalk: 無需刪除空行,直接輸入評論即可
9
9
  loading: 加載中...
10
- day: ''
10
+ day: ""
11
11
  hot-tip: 多人互動
12
12
 
13
13
  # Language: 繁體中文 (台灣)
@@ -84,7 +84,6 @@ post:
84
84
  whatsapp: 分享到WhatsApp
85
85
  ai:
86
86
  title: 文章摘要
87
- tip: 投訴
88
87
  nav:
89
88
  next: 下一篇
90
89
  prev: 上一篇
@@ -105,12 +104,12 @@ head:
105
104
  noscript: 開啟JavaScript才能訪問本站哦~
106
105
 
107
106
  aside:
108
- postcount: '文章數:'
109
- pv: '瀏覽量:'
110
- uv: '訪客數:'
111
- runtime: '運行時間:'
112
- updatetime: '最後更新:'
113
- wordcount: '字數統計:'
107
+ postcount: "文章數:"
108
+ pv: "瀏覽量:"
109
+ uv: "訪客數:"
110
+ runtime: "運行時間:"
111
+ updatetime: "最後更新:"
112
+ wordcount: "字數統計:"
114
113
  toc: 文章目錄
115
114
  tagmore: 查看全部
116
115
  avatar: 頭像
@@ -120,9 +119,9 @@ aside:
120
119
  newpost: 最近發佈
121
120
  newcomment: 最近評論
122
121
  card:
123
- posts: '累計文章數:'
124
- tags: '標籤總數:'
125
- categories: '分類總數:'
122
+ posts: "累計文章數:"
123
+ tags: "標籤總數:"
124
+ categories: "分類總數:"
126
125
 
127
126
  console:
128
127
  comment_tip: 互動
@@ -235,9 +234,9 @@ message:
235
234
  open: 顯示彈幕
236
235
 
237
236
  essay:
238
- tip0: '- 已展開所有短文 -'
239
- tip1: '- 只展示最近 #{count} 條短文 -'
240
- link: '鏈結'
237
+ tip0: "- 已展開所有短文 -"
238
+ tip1: "- 只展示最近 #{count} 條短文 -"
239
+ link: "鏈結"
241
240
 
242
241
  rightside:
243
242
  show:
@@ -249,4 +248,4 @@ rightside:
249
248
  hide:
250
249
  translate: 簡繁轉換
251
250
  mode: 顯示模式切換
252
- aside: 側邊欄
251
+ aside: 側邊欄
@@ -34,16 +34,6 @@
34
34
  }
35
35
  }
36
36
 
37
- let post_ai = false
38
-
39
- if (theme.post_ai.enable) {
40
- post_ai = JSON.stringify({
41
- key: theme.post_ai.key,
42
- talk: theme.post_ai.talk,
43
- randomPost: theme.post_ai.randomPost,
44
- })
45
- }
46
-
47
37
  let copyright = false;
48
38
  if (theme.copy.enable && theme.copy.copyright.enable) {
49
39
  copyright = JSON.stringify({
@@ -191,7 +181,6 @@ script.
191
181
  },
192
182
  comment: !{comment ? JSON.stringify(comment) : false},
193
183
  lightbox: '!{ theme.mediumZoom ? "mediumZoom" : (theme.fancybox ? "fancybox" : "null")}',
194
- post_ai: !{post_ai},
195
184
  right_menu: !{rightMenu ? JSON.stringify(rightMenu) : false},
196
185
  translate: !{translate ? JSON.stringify(translate) : false},
197
186
  lure: !{lure ? JSON.stringify(lure) : false},
@@ -8,6 +8,6 @@ script#config-diff.
8
8
  page: '!{page.type}',
9
9
  toc: !{showToc},
10
10
  comment: !{!!page.comment},
11
- ai_text: !{is_post && page.ai_text ? "'"+ page.ai_text+"'" : false},
11
+ ai_text: !{is_post && theme.post.ai.enable && page.ai_text ? "'"+ page.ai_text+"'" : false},
12
12
  color: !{page.color ? "'"+ page.color+"'" : false},
13
13
  }
@@ -53,7 +53,7 @@ div
53
53
  if (theme.brevity.home_mini && theme.brevity.enable)
54
54
  script(src=url_for(theme.cdn.swiper_js))
55
55
 
56
- if theme.post_ai.enable
56
+ if theme.post.ai.enable
57
57
  script(src=url_for(theme.cdn.post_ai))
58
58
 
59
59
  if theme.capsule.enable || theme.music.enable || theme.brevity.enable && theme.brevity.music
@@ -53,10 +53,6 @@ html(lang=config.language, data-theme="light")
53
53
  // search
54
54
  include ./widgets/third-party/search/index.pug
55
55
 
56
- // Tianli-Talk
57
- if theme.tianli_talk.enable
58
- include ./widgets/third-party/tianli-talk.pug
59
-
60
56
  // music
61
57
  if theme.capsule.enable
62
58
  include ./widgets/third-party/music.pug
@@ -11,7 +11,7 @@ if theme.brevity.enable
11
11
  .info
12
12
  span.bber_nick= config.author
13
13
  time.datetime.bber_date(datetime=moment(item.date).format())
14
- if item.content
14
+ if theme.comment.use && item.content
15
15
  a.bber-reply.goComment(onclick=`sco.toTalk('${item.content}')`)
16
16
  i.solitude.fas.fa-comment
17
17
 
@@ -48,7 +48,7 @@ if theme.brevity.enable
48
48
  a.bber-content-link(href=url_for(item.link) target="_blank")
49
49
  i.solitude.fas.fa-link
50
50
  = _p('essay.link')
51
- if item.content
51
+ if theme.comment.use && item.content
52
52
  a.bber-reply(onclick=`sco.toTalk('${item.content}')`)
53
53
  i.solitude.fas.fa-comment
54
54
  #bber-tips
@@ -12,17 +12,18 @@ if skills || careers
12
12
  .tags-group-all
13
13
  .tags-group-wrapper
14
14
  - var pair = []
15
- each tag, index in skills.tags
16
- - pair.push(tag)
17
- if pair.length === 2
18
- .tags-group-icon-pair
19
- each item in pair
20
- .tags-group-icon(style=`background:${item.color}`)
21
- if item.img
22
- img(src=item.img, title=item.title)
23
- else if item.icon
24
- i(class=item.icon, title=item.title, style=`color: ${item.icon_color ? item.icon_color : ''}`)
25
- - pair = []
15
+ each i in [0,1]
16
+ each tag, index in skills.tags
17
+ - pair.push(tag)
18
+ if pair.length === 2
19
+ .tags-group-icon-pair
20
+ each item in pair
21
+ .tags-group-icon(style=`background:${item.color}`)
22
+ if item.img
23
+ img(src=item.img, title=item.title)
24
+ else if item.icon
25
+ i(class=item.icon, title=item.title, style=`color: ${item.icon_color ? item.icon_color : ''}`)
26
+ - pair = []
26
27
  .skills-list
27
28
  each tag in skills.tags
28
29
  .skill-info
@@ -14,11 +14,12 @@
14
14
  .equipment-item-content-item-name(onclick='utils.copy("' + item.name + '")')= item.name
15
15
  .equipment-item-content-item-specification= item.specification
16
16
  .equipment-item-content-item-description= item.description
17
- if item.link
18
- .equipment-item-content-item-toolbar
17
+ .equipment-item-content-item-toolbar
18
+ if item.link
19
19
  if item.link.includes('https://') || item.link.includes('http://')
20
20
  a.equipment-item-content-item-link(href=item.link, target="_blank") 详情
21
21
  else
22
22
  a.equipment-item-content-item-link(href=item.link) 查看文章
23
+ if theme.comment.use
23
24
  a.bber-reply(onclick=`sco.toTalk('${item.description}')`)
24
25
  i.solitude.fas.fa-comment(style="font-size: 1rem;")
@@ -22,11 +22,12 @@
22
22
  - else acc[acc.length - 1].push(link)
23
23
  - return acc
24
24
  - }, [])
25
- each pair in pairs
26
- .tags-group-icon-pair
27
- each y in pair
28
- a.tags-group-icon(href=url_for(y.link), title=y.name)
29
- img(src=y.avatar + (site.data.links.banner_suffix || ''), title=y.name)
30
- span.tags-group-title=y.name
25
+ each i in [0, 1]
26
+ each pair in pairs
27
+ .tags-group-icon-pair
28
+ each y in pair
29
+ a.tags-group-icon(href=url_for(y.link), title=y.name)
30
+ img(src=y.avatar + (site.data.links.banner_suffix || ''), title=y.name)
31
+ span.tags-group-title=y.name
31
32
  - else
32
33
  .tags-group-all(style="height:calc(3rem + 72px);")
@@ -0,0 +1,7 @@
1
+ .post-ai
2
+ .ai-title
3
+ .ai-title-left
4
+ i.ai-title-icon.solitude.fas.fa-newspaper
5
+ .ai-title-text=_p('post.ai.title')
6
+ .ai-tag#ai-tag= theme.post.ai.modelName
7
+ .ai-explanation(style="display: block;")
package/layout/post.pug CHANGED
@@ -6,8 +6,8 @@ block content
6
6
  if page.not_cover
7
7
  include includes/widgets/post/postInfo
8
8
  article.post-content.article-container
9
- if theme.post_ai.enable && page.ai
10
- include includes/widgets/post/post-ai
9
+ if page.ai_text && theme.post.ai.enable
10
+ include includes/widgets/post/ai
11
11
  != page.content
12
12
  include includes/widgets/post/copyright
13
13
  .post-tools-right
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-theme-solitude",
3
- "version": "3.0.10",
3
+ "version": "3.0.11",
4
4
  "description": "A beautiful, powerful, and efficient Hexo theme developed by everfu.",
5
5
  "main": "package.json",
6
6
  "scripts": {