hexo-theme-solitude 1.2.6 → 1.3.0

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 (261) hide show
  1. package/CONTRIBUTING.md +41 -0
  2. package/README.md +8 -8
  3. package/README_EN.md +6 -6
  4. package/_config.yml +495 -297
  5. package/languages/en-US.yml +105 -8
  6. package/languages/zh-CN.yml +98 -1
  7. package/layout/archive.pug +3 -3
  8. package/layout/category.pug +4 -5
  9. package/layout/includes/console.pug +15 -16
  10. package/layout/includes/footer.pug +26 -28
  11. package/layout/includes/head/config.pug +27 -8
  12. package/layout/includes/head/fest.pug +22 -0
  13. package/layout/includes/head/opengraph.pug +11 -0
  14. package/layout/includes/head.pug +1 -3
  15. package/layout/includes/header.pug +1 -1
  16. package/layout/includes/inject/body.pug +33 -13
  17. package/layout/includes/inject/head.pug +30 -20
  18. package/layout/includes/layout.pug +11 -8
  19. package/layout/includes/loading.pug +1 -64
  20. package/layout/includes/mixins/articleSort.pug +4 -4
  21. package/layout/includes/mixins/pagination.pug +1 -1
  22. package/layout/includes/nav.pug +10 -10
  23. package/layout/includes/page/about.pug +1 -0
  24. package/layout/includes/page/categories.pug +3 -3
  25. package/layout/includes/page/default.pug +1 -1
  26. package/layout/includes/page/echarts.pug +3 -3
  27. package/layout/includes/page/equipment.pug +0 -1
  28. package/layout/includes/page/links.pug +5 -26
  29. package/layout/includes/page/moments.pug +0 -1
  30. package/layout/includes/page/music.pug +19 -0
  31. package/layout/includes/page/not_configured.pug +18 -0
  32. package/layout/includes/page/rss.pug +20 -22
  33. package/layout/includes/page/says.pug +1 -2
  34. package/layout/includes/page/tags.pug +3 -3
  35. package/layout/includes/page/tlink.pug +0 -1
  36. package/layout/includes/sidebar.pug +7 -7
  37. package/layout/includes/widgets/aside/aside.pug +13 -1
  38. package/layout/includes/widgets/aside/asideArchive.pug +5 -3
  39. package/layout/includes/widgets/aside/asideCustom.pug +6 -0
  40. package/layout/includes/widgets/aside/asideHistory.pug +3 -3
  41. package/layout/includes/widgets/aside/asideInfoCard.pug +4 -6
  42. package/layout/includes/widgets/aside/asideNewestPost.pug +1 -1
  43. package/layout/includes/widgets/aside/asideSwitch.pug +0 -11
  44. package/layout/includes/widgets/aside/asideTag.pug +2 -2
  45. package/layout/includes/widgets/aside/asideToc.pug +1 -1
  46. package/layout/includes/widgets/aside/asideWebInfo.pug +6 -6
  47. package/layout/includes/widgets/aside/asideWelcome.pug +1 -1
  48. package/layout/includes/widgets/home/banner.pug +2 -2
  49. package/layout/includes/widgets/home/bbTimeList.pug +3 -3
  50. package/layout/includes/widgets/home/categoryBar.pug +3 -3
  51. package/layout/includes/widgets/home/categoryGroup.pug +2 -2
  52. package/layout/includes/widgets/home/hometop.pug +7 -7
  53. package/layout/includes/widgets/home/postList.pug +12 -8
  54. package/layout/includes/widgets/home/topGroup.pug +17 -13
  55. package/layout/includes/widgets/nav/left.pug +6 -6
  56. package/layout/includes/widgets/nav/menu.pug +4 -4
  57. package/layout/includes/widgets/nav/right.pug +14 -14
  58. package/layout/includes/widgets/page/about/authorinfo.pug +1 -1
  59. package/layout/includes/widgets/page/about/award.pug +11 -9
  60. package/layout/includes/widgets/page/about/contentinfo.pug +7 -7
  61. package/layout/includes/widgets/page/about/hobbies.pug +1 -1
  62. package/layout/includes/widgets/page/about/motto.pug +2 -2
  63. package/layout/includes/widgets/page/about/other.pug +10 -9
  64. package/layout/includes/widgets/page/about/personalities.pug +2 -2
  65. package/layout/includes/widgets/page/about/skillsinfo.pug +10 -12
  66. package/layout/includes/widgets/page/about/tenyear.pug +48 -0
  67. package/layout/includes/widgets/page/banner.pug +2 -2
  68. package/layout/includes/widgets/page/links/banner.pug +12 -14
  69. package/layout/includes/widgets/page/links/linksItem.pug +0 -1
  70. package/layout/includes/widgets/page/moments/angle.pug +7 -12
  71. package/layout/includes/widgets/page/moments/index.pug +7 -2
  72. package/layout/includes/widgets/post/award.pug +12 -8
  73. package/layout/includes/widgets/post/copyright.pug +16 -14
  74. package/layout/includes/widgets/post/postMeta.pug +36 -25
  75. package/layout/includes/widgets/post/postNav.pug +15 -15
  76. package/layout/includes/widgets/randomlink.pug +10 -5
  77. package/layout/includes/widgets/rightside/index.pug +9 -8
  78. package/layout/includes/widgets/third-party/ai/index.pug +12 -0
  79. package/layout/includes/widgets/third-party/comments/comment.pug +6 -1
  80. package/layout/includes/widgets/third-party/comments/twikoo.pug +5 -4
  81. package/layout/includes/widgets/third-party/comments/waline.pug +4 -5
  82. package/layout/includes/widgets/third-party/music.pug +1 -1
  83. package/layout/includes/widgets/third-party/pjax.pug +6 -1
  84. package/layout/includes/widgets/third-party/search/algolia-search.pug +4 -3
  85. package/layout/includes/widgets/third-party/search/index.pug +2 -2
  86. package/layout/includes/widgets/third-party/search/local-search.pug +3 -3
  87. package/layout/index.pug +5 -6
  88. package/layout/page.pug +34 -29
  89. package/layout/post.pug +3 -23
  90. package/layout/tag.pug +3 -3
  91. package/package.json +2 -2
  92. package/scripts/filter/checkThemeConfig.js +0 -5
  93. package/scripts/helper/cdn.js +12 -0
  94. package/scripts/helper/page.js +13 -0
  95. package/scripts/helper/related_post.js +0 -1
  96. package/scripts/tags/button.js +21 -0
  97. package/scripts/tags/card.js +9 -0
  98. package/scripts/tags/checkbox.js +51 -0
  99. package/scripts/tags/fold.js +0 -5
  100. package/scripts/tags/image.js +75 -0
  101. package/scripts/tags/inline-image.js +12 -0
  102. package/scripts/tags/label.js +10 -0
  103. package/scripts/tags/link.js +2 -0
  104. package/scripts/tags/media.js +29 -0
  105. package/scripts/tags/span.js +17 -0
  106. package/scripts/tags/timeline.js +2 -15
  107. package/scripts/tags/u.js +7 -0
  108. package/source/css/_global/animation.css +57 -0
  109. package/source/css/_global/index.styl +5 -20
  110. package/source/css/_global/var.styl +16 -1
  111. package/source/css/_layout/{base.styl → basic.styl} +24 -116
  112. package/source/css/_layout/header.styl +203 -615
  113. package/source/css/_layout/index.styl +29 -271
  114. package/source/css/_mode/index.styl +87 -94
  115. package/source/css/_page/_home/category-bar.styl +74 -0
  116. package/source/css/_page/_home/home-top.styl +541 -0
  117. package/source/css/_page/_home/index.styl +15 -0
  118. package/source/css/_page/_home/pagination.styl +176 -0
  119. package/source/css/_page/_home/recent-post.styl +204 -0
  120. package/source/css/_page/about/index.styl +1 -0
  121. package/source/css/_page/about/tenyear.styl +56 -0
  122. package/source/css/_page/about.styl +555 -626
  123. package/source/css/_page/category.styl +95 -119
  124. package/source/css/_page/douban.styl +126 -0
  125. package/source/css/_page/equipment.styl +100 -99
  126. package/source/css/_page/error.styl +130 -146
  127. package/source/css/_page/home.styl +41 -50
  128. package/source/css/_page/index.styl +42 -10
  129. package/source/css/_page/links.styl +305 -0
  130. package/source/css/_page/moment.styl +51 -51
  131. package/source/css/_page/music.styl +506 -0
  132. package/source/css/_page/rss.styl +62 -67
  133. package/source/css/_page/says.styl +375 -344
  134. package/source/css/_page/tag.styl +15 -13
  135. package/source/css/_widgets/{aside → _aside}/flip.styl +7 -5
  136. package/source/css/_widgets/{aside → _aside}/history.styl +9 -2
  137. package/source/css/_widgets/_aside/index.styl +96 -0
  138. package/source/css/_widgets/{aside → _aside}/info.styl +86 -89
  139. package/source/css/_widgets/{aside → _aside}/newPost.styl +7 -1
  140. package/source/css/_widgets/{aside → _aside}/toc.styl +28 -5
  141. package/source/css/_widgets/{comment → _comment}/index.styl +4 -12
  142. package/source/css/_widgets/{comment → _comment}/twikoo.styl +5 -2
  143. package/source/css/_widgets/{comment → _comment}/waline.styl +21 -5
  144. package/source/css/{_extra → _widgets/_extra}/console.styl +33 -10
  145. package/source/css/_widgets/_extra/fullpage.styl +46 -0
  146. package/source/css/_widgets/_extra/music.styl +218 -0
  147. package/source/css/_widgets/_extra/pace.styl +39 -0
  148. package/source/css/_widgets/_extra/rightmenu.styl +78 -0
  149. package/source/css/_widgets/_mixins/article-sort.styl +93 -0
  150. package/source/css/_widgets/_mixins/footer.styl +273 -0
  151. package/source/css/_widgets/_mixins/other.styl +34 -0
  152. package/source/css/_widgets/_mixins/sidebar.styl +230 -0
  153. package/source/css/_widgets/_post/_highlight/diff.styl +75 -0
  154. package/source/css/_widgets/_post/_highlight/index.styl +144 -0
  155. package/source/css/_widgets/_post/_highlight/theme/default.styl +12 -0
  156. package/source/css/_widgets/_post/_highlight/theme/mac.styl +25 -0
  157. package/source/css/_widgets/_post/_highlight/theme.styl +68 -0
  158. package/source/css/_widgets/_post/commentBarrage.styl +144 -0
  159. package/source/css/_widgets/_post/content.styl +152 -0
  160. package/source/css/_widgets/_post/copyright.styl +98 -0
  161. package/source/css/_widgets/_post/index.styl +20 -0
  162. package/source/css/_widgets/_post/meta.styl +420 -0
  163. package/source/css/_widgets/_post/pagination.styl +177 -0
  164. package/source/css/_widgets/_post/postAI.styl +131 -0
  165. package/source/css/{_post → _widgets/_post}/relatedPost.styl +4 -1
  166. package/source/css/_widgets/_post/tools.styl +249 -0
  167. package/source/css/{_search → _widgets/_search}/algolia-search.styl +4 -0
  168. package/source/css/{_search → _widgets/_search}/local-search.styl +15 -5
  169. package/source/css/_widgets/_tags/button.styl +60 -0
  170. package/source/css/_widgets/_tags/bvideo.styl +8 -0
  171. package/source/css/_widgets/_tags/card.styl +52 -0
  172. package/source/css/_widgets/_tags/checkbox.styl +85 -0
  173. package/source/css/_widgets/_tags/fold.styl +79 -0
  174. package/source/css/_widgets/_tags/image.styl +10 -0
  175. package/source/css/_widgets/_tags/index.styl +61 -0
  176. package/source/css/_widgets/_tags/inline-image.styl +6 -0
  177. package/source/css/_widgets/_tags/label.styl +3 -0
  178. package/source/css/_widgets/_tags/link.styl +80 -0
  179. package/source/css/_widgets/_tags/note.styl +101 -0
  180. package/source/css/_widgets/_tags/span.styl +61 -0
  181. package/source/css/_widgets/_tags/tabs.styl +105 -0
  182. package/source/css/_widgets/_tags/timeline.styl +80 -0
  183. package/source/css/_widgets/index.styl +50 -1
  184. package/source/css/index.styl +0 -25
  185. package/source/js/{commentBarrage.js → extend/comment/twikoo/commentBarrage.js} +0 -4
  186. package/source/js/extend/comment/{twikoo.js → twikoo/twikoo.js} +12 -40
  187. package/source/js/extend/comment/waline/commentBarrage.js +155 -0
  188. package/source/js/extend/comment/{waline.js → waline/waline.js} +10 -11
  189. package/source/js/extend/search/algolia-search.js +1 -5
  190. package/source/js/extend/search/local-search.js +33 -13
  191. package/source/js/main.js +144 -163
  192. package/source/js/music.js +129 -0
  193. package/source/js/utils.js +4 -7
  194. package/source/lib/cover-color.min.js +7 -0
  195. package/source/lib/rightside.min.js +1 -0
  196. package/source/lib/sco-ai.min.js +8 -0
  197. package/source/lib/snackbar.min.css +1 -1
  198. package/source/lib/txmap.min.js +1 -0
  199. package/source/lib/view-image.min.js +1 -1
  200. package/layout/includes/widgets/aside/asidePower.pug +0 -19
  201. package/layout/includes/widgets/home/rencentPost.pug +0 -26
  202. package/source/css/_extra/rightmenu.styl +0 -83
  203. package/source/css/_layout/articleSort.styl +0 -199
  204. package/source/css/_layout/footer.styl +0 -359
  205. package/source/css/_layout/sidebar.styl +0 -226
  206. package/source/css/_page/homeTop.styl +0 -1035
  207. package/source/css/_page/link.styl +0 -433
  208. package/source/css/_post/commentBarrage.styl +0 -149
  209. package/source/css/_post/externalTags.styl +0 -694
  210. package/source/css/_post/highlight.styl +0 -96
  211. package/source/css/_post/index.styl +0 -935
  212. package/source/css/_post/pagination.styl +0 -467
  213. package/source/css/_post/postContent.styl +0 -957
  214. package/source/css/_post/reward.styl +0 -217
  215. package/source/css/_widgets/aside/index.styl +0 -156
  216. package/source/css/_widgets/aside/power.styl +0 -90
  217. package/source/img/logo-horizontal_version.png +0 -0
  218. package/source/img/pwa/16.png +0 -0
  219. package/source/img/pwa/180.png +0 -0
  220. package/source/img/pwa/192.png +0 -0
  221. package/source/img/pwa/32.png +0 -0
  222. package/source/img/pwa/512.png +0 -0
  223. package/source/img/pwa/logo.png +0 -0
  224. package/source/img/pwa/siteicon/splash-1125x2436.png +0 -0
  225. package/source/img/pwa/siteicon/splash-1136x640.png +0 -0
  226. package/source/img/pwa/siteicon/splash-1170x2532.png +0 -0
  227. package/source/img/pwa/siteicon/splash-1179x2556.png +0 -0
  228. package/source/img/pwa/siteicon/splash-1242x2208.png +0 -0
  229. package/source/img/pwa/siteicon/splash-1242x2688.png +0 -0
  230. package/source/img/pwa/siteicon/splash-1248x2778.png +0 -0
  231. package/source/img/pwa/siteicon/splash-1290x2796.png +0 -0
  232. package/source/img/pwa/siteicon/splash-1334x750.png +0 -0
  233. package/source/img/pwa/siteicon/splash-1536x2048.png +0 -0
  234. package/source/img/pwa/siteicon/splash-1620x2160.png +0 -0
  235. package/source/img/pwa/siteicon/splash-1668x2224.png +0 -0
  236. package/source/img/pwa/siteicon/splash-1668x2388.png +0 -0
  237. package/source/img/pwa/siteicon/splash-1792x828.png +0 -0
  238. package/source/img/pwa/siteicon/splash-2048x1536.png +0 -0
  239. package/source/img/pwa/siteicon/splash-2048x2732.png +0 -0
  240. package/source/img/pwa/siteicon/splash-2160x1620.png +0 -0
  241. package/source/img/pwa/siteicon/splash-2208x1242.png +0 -0
  242. package/source/img/pwa/siteicon/splash-2224x1668.png +0 -0
  243. package/source/img/pwa/siteicon/splash-2388x1668.png +0 -0
  244. package/source/img/pwa/siteicon/splash-2436x1125.png +0 -0
  245. package/source/img/pwa/siteicon/splash-2532x1170.png +0 -0
  246. package/source/img/pwa/siteicon/splash-2556x1179.png +0 -0
  247. package/source/img/pwa/siteicon/splash-2688x1242.png +0 -0
  248. package/source/img/pwa/siteicon/splash-2732x2048.png +0 -0
  249. package/source/img/pwa/siteicon/splash-2778x1248.png +0 -0
  250. package/source/img/pwa/siteicon/splash-2796x1290.png +0 -0
  251. package/source/img/pwa/siteicon/splash-640x1136.png +0 -0
  252. package/source/img/pwa/siteicon/splash-750x1334.png +0 -0
  253. package/source/img/pwa/siteicon/splash-828x1792.png +0 -0
  254. package/source/img/solitude-show.jpg +0 -0
  255. package/source/js/extend/covercolor/local.js +0 -160
  256. package/source/js/rightside.js +0 -402
  257. package/source/js/txmap.js +0 -236
  258. package/source/lib/chuckle-post-ai.js +0 -1
  259. /package/source/css/_widgets/{aside → _aside}/allinfo.styl +0 -0
  260. /package/source/css/_widgets/{aside → _aside}/welcome.styl +0 -0
  261. /package/source/img/{theme/avatar.png → avatar.png} +0 -0
@@ -11,15 +11,14 @@ time:
11
11
  yesterday: Yesterday
12
12
  berforeyesterday: TDBY
13
13
  daybefore: Days ago
14
- runtime: days
14
+ runtime: days
15
15
 
16
16
  sayhello:
17
- morning: Good morning
18
- noon: Good noon
19
- afternoon: Good afternoon
20
- night: Good evening
21
- goodnight: Good night
22
- iam: '! I am'
17
+ morning: The plan of the day is in the morning
18
+ noon: Only when you are full can you have the strength to work
19
+ afternoon: Concentrate and overcome the difficulties
20
+ night: Don't get too tired, it's healthier to go to bed early
21
+ goodnight: Get a good night's sleep and keep yourself energized
23
22
 
24
23
  page:
25
24
  tag: Tags
@@ -27,14 +26,112 @@ page:
27
26
  archives: Archives
28
27
  echarts: Echarts
29
28
 
29
+ home:
30
+ bannertext: Just browsing
31
+ bbtime:
32
+ text: Read more
33
+ image: [ Image ]
34
+ categoryBar:
35
+ home: Home
36
+ more: More
37
+ recent-post:
38
+ sticky: Sticky
39
+ new: New
40
+ read: Unread
41
+ top-group:
42
+ recommend: Favor
43
+ recommendmore: More
44
+
45
+ about:
46
+ info:
47
+ title1: Hello, nice to meet you👋
48
+ title2: 'My name is '
49
+ title3: 'I am a '
50
+ tip1: Pursue
51
+ tip2: Originated from
52
+ tip3: 'Love to go '
53
+ tip4: Create
54
+
55
+ post:
56
+ meta_reprint: Reprint or translation
57
+ meta_original: Original
58
+ meta_cc: This article is a ${cc} article, pay attention to the copyright.
59
+ meta_posted: Posted on
60
+ meta_updated: Last updated on
61
+ meta_wordcount: Word count
62
+ meta_minread: Reading time
63
+ meta_ip: The author's IP belongs to
64
+ meta_pv: PV
65
+ meta_comment: Comments
66
+
30
67
  nav:
68
+ site_name_title: Back to home
31
69
  backtop: Back to top
32
70
  travellings: Traveling - Friends Link
33
71
  search: Search
34
72
  randompost: Random post
35
73
  console: Console
36
74
 
75
+ award:
76
+ wechat: Wechat
77
+ alipay: Alipay
78
+ about:
79
+ tip: Thanks
80
+ tip1: Tipping
81
+ tip2: Thank you for giving me the strength to move forward.
82
+ title: List of appreciation
83
+
84
+
37
85
  search:
38
86
  empty: No results found
39
87
  hit: Found ${query} results for you
40
- placeholder: Enter keywords to quickly search
88
+ placeholder: Enter keywords to quickly search
89
+
90
+ head:
91
+ noscript: Please enable JavaScript to view the site
92
+ console: 'Program: Hexo | Theme: Hexo-Theme-Solitude | Author: WangZhuoSco、YiFeng | Github: https://github.com/DuoSco/Hexo-theme-solitude | Version: v1.3.0 😄'
93
+
94
+ aside:
95
+ postcount: 'Posts :'
96
+ pv: 'PV :'
97
+ uv: 'UV :'
98
+ runtime: 'Runtime :'
99
+ updatetime: 'Last update :'
100
+ wordcount: 'Word count :'
101
+ welcome: Visitors
102
+ toc: Table of contents
103
+ tagmore: View all
104
+ avatar: Avatar
105
+ sticker: Mood sticker
106
+ history: On this day
107
+ newpost: New posts
108
+
109
+ console:
110
+ comment_tip: Interaction
111
+ comment_title: Latest comments
112
+ tag_tip: Tags
113
+ tag_title: Find interesting areas
114
+ switch_darkmode: Day and night switching
115
+ switch_hideAside: Sidebar display control
116
+ switch_music: Music switch
117
+ archive_unit: Posts
118
+
119
+ sidebar:
120
+ title1: Features
121
+ title2: Tags
122
+ darkmode: Display mode
123
+
124
+ footer:
125
+ description: Article from ${title}
126
+ learnmore: Learn more
127
+ randomlink: Links
128
+ rss: Subscribe
129
+ theme: Theme
130
+
131
+ cookies:
132
+ title: Agreement reminder assistant
133
+ tip: Check out the efforts we make to protect your privacy
134
+ privacy: How this site protects your privacy
135
+
136
+ music:
137
+ hit: Paused
@@ -27,13 +27,110 @@ page:
27
27
  echarts: 博客统计
28
28
 
29
29
  nav:
30
+ site_name_title: 返回博客主页
30
31
  backtop: 返回顶部
31
32
  travellings: 开往-友链接力
32
33
  search: 搜索
33
34
  randompost: 随机一篇文章
34
35
  console: 中控台
35
36
 
37
+ home:
38
+ bannertext: 随便逛逛
39
+ bbtime:
40
+ text: 查看全文
41
+ image: 【图片】
42
+ categoryBar:
43
+ home: 首页
44
+ more: 更多
45
+ recent-post:
46
+ sticky: 置顶
47
+ new: 最新
48
+ read: 未读
49
+ top-group:
50
+ recommend: 荐
51
+ recommendmore: 更多推荐
52
+
53
+ about:
54
+ info:
55
+ title1: 你好,很高兴认识你👋
56
+ title2: 我叫
57
+ title3: 是一名
58
+ tip1: 追求
59
+ tip2: 源于
60
+ tip3: 热爱而去
61
+ tip4: 创造
62
+
63
+ post:
64
+ meta_reprint: 转载或翻译
65
+ meta_original: 原创
66
+ meta_cc: 该文章为${cc}文章,注意版权协议
67
+ meta_posted: 发布于
68
+ meta_updated: 最后更新于
69
+ meta_wordcount: 文章字数
70
+ meta_minread: 阅读耗时
71
+ meta_ip: 作者IP归属地为
72
+ meta_pv: 文章热度
73
+ meta_comment: 评论数
74
+
75
+ award:
76
+ wechat: 微信
77
+ alipay: 支付宝
78
+ about:
79
+ tip: 致谢
80
+ tip1: 赞赏作者
81
+ tip2: 感谢你赐予我前进的力量
82
+ title: 赞赏名单
83
+
36
84
  search:
37
85
  empty: 找不到你查询的内容:${query}
38
86
  hit: 找到 ${hits} 条结果,用时 ${time} 毫秒
39
- placeholder: 输入关键词快速查找
87
+ placeholder: 输入关键词快速查找
88
+
89
+ head:
90
+ noscript: 开启JavaScript才能访问本站哦~
91
+ console: '程序:Hexo | 主题:Hexo-Theme-Solitude | 作者:王卓Sco、亦封 | Github: https://github.com/DuoSco/Hexo-theme-solitude | 版本:v1.3.0 😄'
92
+
93
+ aside:
94
+ postcount: '文章总数 :'
95
+ pv: '总访问数 :'
96
+ uv: '总访客数 :'
97
+ runtime: '建站天数 :'
98
+ updatetime: '最后更新 :'
99
+ wordcount: '全站字数 :'
100
+ welcome: 来访者
101
+ toc: 文章目录
102
+ tagmore: 查看全部
103
+ avatar: 头像
104
+ sticker: 心情贴纸
105
+ history: 那年今日
106
+ newpost: 最近发布
107
+
108
+ console:
109
+ comment_tip: 互动
110
+ comment_title: 最新评论
111
+ tag_tip: 标签
112
+ tag_title: 寻找感兴趣的领域
113
+ switch_darkmode: 昼夜切换
114
+ switch_hideAside: 边栏显示控制
115
+ switch_music: 音乐开关
116
+ archive_unit: 篇
117
+
118
+ sidebar:
119
+ title1: 功能
120
+ title2: 标签
121
+ darkmode: 显示模式
122
+
123
+ footer:
124
+ description: 来自${title}的文章
125
+ learnmore: 了解更多
126
+ randomlink: 友链
127
+ rss: 订阅
128
+ theme: 主题
129
+
130
+ cookies:
131
+ title: 协议提醒助手
132
+ tip: 查看本站为你的个人隐私做出的努力
133
+ privacy: 本站如何保护你的隐私
134
+
135
+ music:
136
+ hit: 音乐已暂停
@@ -2,9 +2,9 @@ extends includes/layout.pug
2
2
 
3
3
  block content
4
4
  main.layout#content-inner
5
- div#archive
6
- div.article-sort-title #{__('page.archives')}<sup>#{page.posts.find({ parent: { $exists: false } }).length}</sup>
7
- div.article-sort
5
+ #archive
6
+ .article-sort-title #{__('page.archives')}<sup>#{page.posts.find({ parent: { $exists: false } }).length}</sup>
7
+ .article-sort
8
8
  include includes/mixins/articleSort
9
9
  include includes/mixins/pagination
10
10
  include includes/widgets/aside/aside
@@ -2,11 +2,10 @@ extends includes/layout.pug
2
2
 
3
3
  block content
4
4
  main.layout#content-inner
5
- div#category
6
- div#category-bar
7
- div.category-bar-items#category-bar-items
8
- include includes/widgets/home/categoryBar
9
- div.recent-posts#recent-posts
5
+ #category
6
+ #category-bar
7
+ include includes/widgets/home/categoryBar
8
+ .recent-posts#recent-posts
10
9
  each post in page.posts.find({ parent: { $exists: false } }).data
11
10
  include includes/widgets/home/postList
12
11
  include includes/mixins/pagination
@@ -1,23 +1,23 @@
1
- div#console(style="zoom: 1")
2
- div.close-btn(onclick="sco.hideConsole()", href="javascript:void(0);")
1
+ div#console
2
+ div.close-btn(onclick="sco.hideConsole()")
3
3
  i.scoicon.sco-close-fill
4
4
  if theme.thirdparty.consolePlus
5
5
  div.console-card-group
6
6
  div.console-card-group-left
7
7
  div.console-card#card-newest-comments(onclick="sco.hideConsole()")
8
8
  div.card-content
9
- div.author-content-item-tips= "互动"
10
- div.author-content-item-title= "最新评论"
9
+ div.author-content-item-tips= _p('console.comment_tip')
10
+ div.author-content-item-title= _p('console.comment_title')
11
11
  div.aside-list
12
12
 
13
13
  div.console-card-group-right
14
14
  div.console-card.tags(onclick="sco.hideConsole()")
15
15
  div.card-content
16
- div.author-content-item-tips= "标签"
17
- div.author-content-item-title= "寻找感兴趣的领域"
16
+ div.author-content-item-tips= _p('console.tag_tip')
17
+ div.author-content-item-title= _p('console.tag_title')
18
18
  div.card-tag-cloud
19
19
  each tag in site.tags.find({ parent: { $exists: false } }).data
20
- a(href=url_for(tag.path), style="font-size: 0.8rem; color: #d3d3d3")= tag.name
20
+ a(href=url_for(tag.path))= tag.name
21
21
  sup= tag.length
22
22
 
23
23
  div.console-card.history(onclick="sco.hideConsole()")
@@ -25,18 +25,17 @@ div#console(style="zoom: 1")
25
25
 
26
26
  div.button-group
27
27
  div.console-btn-item
28
- a.darkmode_switchbutton(onclick="sco.switchDarkMode()", title="昼夜切换", href="javascript:void(0);" rel="nofollow" data-pjax-state)
29
- i.scoicon.sco-moon-clear-fill(style="font-size: 1rem;")
28
+ a.darkmode_switchbutton(onclick="sco.switchDarkMode()", title=_p('console.switch_darkmode'), href="javascript:void(0);")
29
+ i.scoicon.sco-moon-clear-fill
30
30
  div.console-btn-item#consoleHideAside
31
- a.asideSwitch(onclick="sco.switchHideAside()", title="边栏显示控制", href="javascript:void(0);" rel="nofollow" data-pjax-state)
32
- i.scoicon.sco-side-bar-fill(style="font-size: 1rem;")
31
+ a.asideSwitch(onclick="sco.switchHideAside()", title=_p('console.switch_hideAside'), href="javascript:void(0);")
32
+ i.scoicon.sco-side-bar-fill
33
33
  if theme.thirdparty.aplayer.enable
34
34
  div.console-btn-item#consoleMusic(onclick="sco.musicToggle()")
35
- a.music-switch(title="音乐开关")
36
- i.scoicon.sco-disc-fill(style="font-size: 1rem;")
37
-
38
- if theme.comment.enable
35
+ a.music-switch(title=_p('console.switch_music'), href="javascript:void(0);")
36
+ i.scoicon.sco-disc-fill
37
+ if theme.comment.commentBarrage
39
38
  div.console-btn-item.on#consoleCommentBarrage(onclick="sco.switchCommentBarrage()")
40
39
  a.commentBarrage
41
- i.scoicon.sco-chat-fill(style="font-size: 1rem;")
40
+ i.scoicon.sco-chat-fill
42
41
  div.console-mask(onclick="sco.hideConsole()")
@@ -1,25 +1,26 @@
1
1
  div#sco-footer-bar
2
2
  div.footer-logo
3
3
  if theme.site.name.class === 'i_class'
4
- i.scoicon(class=theme.site.name.custom, style="font-size: 1rem")
4
+ i.scoicon(class=theme.site.name.custom)
5
5
  else if theme.site.name.class === 'img'
6
6
  i.scoicon(style="background-image: url(" + url_for(theme.site.name.custom) + ")")
7
7
  else if theme.site.name.class === 'text'
8
8
  span.scoicon= theme.site.name.custom
9
- div.footer-bar-description= "来自" + config.title + " - " + config.subtitle + "的文章"
10
- a.footer-bar-link(href="/", data-pjax-state)= "了解更多"
9
+ div.footer-bar-description= __('footer.description').replace(/\$\{title}/, config.title + " - " + config.subtitle)
10
+ a.footer-bar-link(href="/")= __('footer.learnmore')
11
11
  div#footer_deal
12
12
  - var leftInfo = theme.footer && theme.footer.information && theme.footer.information.left ? theme.footer.information.left : {}
13
13
  - var rightInfo = theme.footer && theme.footer.information && theme.footer.information.right ? theme.footer.information.right : {}
14
14
 
15
15
  each value, i in leftInfo
16
- a.deal_link(href=url_for(value.url), rel="external nofollow", title=i)
16
+ a.deal_link(href=url_for(value.url), title=i)
17
17
  i(class=value.icon)
18
18
 
19
- img.footer_mini_logo(src=theme.site.icon, title="返回顶部", onclick="sco.toTop()")
19
+ div#footer_mini_logo.footer_mini_logo(title=_p('nav.backtop'), onclick="sco.toTop()")
20
+ img(src=theme.site.icon, alt=_p('nav.backtop'))
20
21
 
21
22
  each value, i in rightInfo
22
- a.deal_link(href=url_for(value.url), rel="external nofollow", title=i)
23
+ a.deal_link(href=url_for(value.url), title=i)
23
24
  i(class=value.icon)
24
25
  div#sco-footer
25
26
  - var group = theme.footer && theme.footer.group ? theme.footer.group : {}
@@ -29,43 +30,40 @@ div#sco-footer
29
30
  h3.footer-title= x
30
31
  div.footer-links
31
32
  each url, y in value
32
- a.footer-item(href=url_for(url), title=y, rel="noopener external nofollow noreferrer")= y
33
+ a.footer-item(href=url_for(url), title=y)= y
33
34
 
34
35
  if theme.footer && theme.footer.randomlink
35
36
  div.footer-group
36
37
  div.footer-title-group
37
- h3.footer-title 友链
38
- a.random-friends-btn(href="javascript:randomLinksList();", rel="external nofollow")
38
+ h3.footer-title= _p('footer.randomlink')
39
+ a.random-friends-btn(href="javascript:randomLinksList();")
39
40
  i.scoicon.sco-refresh-line
40
41
  div.footer-links#friend-links-in-footer
41
42
  div#footer-bar
42
43
  div.footer-bar-links
43
44
  div.footer-bar-left
44
- div#footer-bar-tips
45
- if moment(theme.aside.siteinfo.runtime).year() === new Date().getFullYear()
46
- div.copyright © #{moment(theme.aside.siteinfo.runtime).year()} By&nbsp;
47
- a.footer-bar-link(href="/", rel="external nofollow")= config.author
48
- else
49
- div.copyright © #{moment(theme.aside.siteinfo.runtime).year()} - #{new Date().getFullYear()} By&nbsp;
50
- a.footer-bar-link(href="/", rel="external nofollow")= config.author
45
+ if moment(theme.aside.siteinfo.runtime).year() === new Date().getFullYear()
46
+ div.copyright © #{moment(theme.aside.siteinfo.runtime).year()} By&nbsp;
47
+ a.footer-bar-link(href="/")= config.author
48
+ else
49
+ div.copyright © #{moment(theme.aside.siteinfo.runtime).year()} - #{new Date().getFullYear()} By&nbsp;
50
+ a.footer-bar-link(href="/")= config.author
51
51
  div.footer-bar-right
52
- if theme.footer && theme.footer.rss && theme.footer.rss.enable
53
- a.footer-bar-link(href="/rss/", rel="external nofollow", target="_self") 订阅
54
- a.footer-bar-link(href="https://github.com/DuoSco/hexo-theme-solitude", rel="external nofollow", target="_self") 主题
52
+ if theme.footer.rss.enable
53
+ a.footer-bar-link(href="/rss/", target="_self")= _p('footer.rss')
54
+ a.footer-bar-link(href="https://github.com/DuoSco/hexo-theme-solitude")= _p('footer.theme')
55
55
  if theme.site && theme.site.icp
56
- a.footer-bar-link(href="https://beian.miit.gov.cn/#/Integrated/index", target="_blank", rel="noopener external nofollow noreferrer noopener")= theme.site.icp
57
- a.footer-bar-link.cc(href=theme.footer.license.url, target="_self", rel="external nofollow")
56
+ a.footer-bar-link(href="https://beian.miit.gov.cn/#/Integrated/index")= theme.site.icp
57
+ a.footer-bar-link.cc(href=theme.footer.license.url)
58
58
  i.scoicon.sco-copyright-line
59
59
  i.scoicon.sco-creative-commons-by-line
60
60
  i.scoicon.sco-creative-commons-nc-line
61
61
  i.scoicon.sco-creative-commons-nd-line
62
62
  div.needEndHide#cookies-window
63
- div.cookies-window-title 协议提醒助手
63
+ div.cookies-window-title= __('cookies.title')
64
64
  div.cookies-window-content
65
- span.cookies-tip 查看本站为你的个人隐私做出的努力
66
- a.cookies-link(href="/privacy/", title="本站如何保护你的隐私", data-pjax-state="")
67
- i.scoicon.sco-arrow-right-circle-fill
68
- if theme.post.award.enable
69
- div#quit-box(onclick="RemoveRewardMask()", style="display=none")
70
- if theme.comment.enable
65
+ span.cookies-tip= __('cookies.tip')
66
+ a.cookies-link(href="/privacy/", title=_p('cookies.privacy'))
67
+ i.scoicon.sco-right-btn-fill
68
+ if theme.comment.commentBarrage
71
69
  div.comment-barrage.needEndHide
@@ -4,7 +4,7 @@
4
4
  if (theme.thirdparty.search.local_search.enable)
5
5
  localSearch = JSON.stringify({
6
6
  preload: theme.thirdparty.search.local_search.preload,
7
- path: theme.thirdparty.search.local_search.path || '/search.xml'
7
+ path: theme?.thirdparty?.search?.local_search?.CDN || '/search.xml'
8
8
  })
9
9
  var algolia = 'undefined';
10
10
  if (theme.thirdparty.search.algolia_search.enable)
@@ -13,11 +13,14 @@
13
13
  apiKey: config.algolia.apiKey,
14
14
  indexName: config.algolia.indexName,
15
15
  hits: {
16
- per_page: theme.thirdparty.search.algolia_search.hits.per_page || 10
16
+ per_page: theme.thirdparty?.search?.algolia_search?.hits?.per_page || 10
17
17
  }
18
18
  })
19
19
  }
20
20
 
21
+ const commentInfoStart = theme.comment.randomInfoStart.map(item => `"${item}"`) || ""
22
+ const commentInfoEnd = theme.comment.randomInfoEnd.map(item => `"${item}"`) || ""
23
+
21
24
  script.
22
25
  const GLOBAL_CONFIG = {
23
26
  root: '!{config.root}',
@@ -31,6 +34,8 @@ script.
31
34
  hightlight: {
32
35
  enable: !{theme.hightlight.enable},
33
36
  limit: !{theme.hightlight.hightlimit},
37
+ expand: !{theme.hightlight.expand},
38
+ copy: !{theme.hightlight.copy},
34
39
  },
35
40
  lightbox: !{theme.lightbox},
36
41
  randomlinks: !{theme.footer.randomlink},
@@ -52,11 +57,11 @@ script.
52
57
  runtime: '!{_p('time.runtime')}',
53
58
  },
54
59
  sayhello: {
55
- morning: '!{_p('sayhello.morning')}',
56
- noon: '!{_p('sayhello.noon')}',
57
- afternoon: '!{_p('sayhello.afternoon')}',
58
- night: '!{_p('sayhello.night')}',
59
- goodnight: '!{_p('sayhello.goodnight')}',
60
+ morning: `!{_p('sayhello.morning')}`,
61
+ noon: `!{_p('sayhello.noon')}`,
62
+ afternoon: `!{_p('sayhello.afternoon')}`,
63
+ night: `!{_p('sayhello.night')}`,
64
+ goodnight: `!{_p('sayhello.goodnight')}`,
60
65
  },
61
66
  search: {
62
67
  empty: '!{_p('search.empty')}',
@@ -64,10 +69,15 @@ script.
64
69
  placeholder: '!{_p('search.placeholder')}',
65
70
  }
66
71
  },
67
- covercolor: !{theme.post.covercolor.enable},
72
+ covercolor: {
73
+ enable: !{theme.post.covercolor.enable}
74
+ },
68
75
  comment: {
69
76
  enable: !{theme.comment.enable},
70
77
  type: '!{theme.comment.type}',
78
+ commentBarrage: !{theme.comment.commentBarrage},
79
+ randomInfoStart: [!{commentInfoStart}],
80
+ randomInfoEnd: [!{commentInfoEnd}],
71
81
  twikoo: {
72
82
  url: '!{theme.comment.twikoo.envId}',
73
83
  accessToken: '!{theme.comment.twikoo.accessToken}'
@@ -78,5 +88,14 @@ script.
78
88
  },
79
89
  rightside: {
80
90
  enable: !{theme.rightside.enable}
91
+ },
92
+ ai:{
93
+ enable: !{theme.thirdparty.ai.enable},
94
+ key: '!{theme.thirdparty.ai.key}',
95
+ talk: '!{theme.thirdparty.ai.talk}',
96
+ randomPost: !{theme.thirdparty.ai.randomPost},
97
+ },
98
+ music:{
99
+ enable: !{theme.music.enable},
81
100
  }
82
101
  }
@@ -0,0 +1,22 @@
1
+ - var fests = theme.fest.list || {}
2
+
3
+ script.
4
+ function setFest() {
5
+ const date = new Date();
6
+ const currentDate = `${date.getMonth() + 1}.${date.getDate()}`;
7
+
8
+ const specialDates = [!{fests}].map(String);
9
+
10
+ if (specialDates.includes(currentDate)) {
11
+ const css = `
12
+ html {
13
+ filter: grayscale(100%);
14
+ }
15
+ `;
16
+
17
+ const styleElement = document.createElement('style');
18
+ styleElement.textContent = css;
19
+ document.head.appendChild(styleElement);
20
+ }
21
+ }
22
+ setFest()
@@ -0,0 +1,11 @@
1
+ if theme.opengraph.enable
2
+ -
3
+ const coverVal = page.cover || theme.site.siteIcon
4
+ let ogOption = Object.assign({
5
+ type: is_post() ? 'article' : 'website',
6
+ image: coverVal ? full_url_for(coverVal) : '',
7
+ }, theme.opengraph.options)
8
+ -
9
+ != open_graph(ogOption)
10
+ else
11
+ meta(name="description" content=page_description())
@@ -8,16 +8,14 @@
8
8
 
9
9
  - if (is_home()) subtitle = config.subtitle ? ' - ' + config.subtitle : ''
10
10
  - else subtitle = title ? ' | ' + config.title : config.title
11
- - var description = page.desc || page.excerpt || config.description
12
11
 
13
12
  meta(charset="utf-8")
14
13
  meta(http-equiv="X-UA-Compatible", content="IE=edge")
15
14
  meta(name="viewport" content="width=device-width, initial-scale=1")
16
15
 
17
16
  title= title + subtitle
18
- noscript 开启JavaScript才能访问本站哦
17
+ noscript= _p('head.noscript')
19
18
  link(rel="icon", href=theme.site.siteIcon)
20
- meta(name="description", content=description)
21
19
 
22
20
  // index.css
23
21
  link(rel="stylesheet", href="/css/index.css")
@@ -1,4 +1,4 @@
1
- header(class=is_post() ? 'post-bg' : 'not-top-img', id="page-header")
1
+ header#page-header(class=is_post() ? 'post-bg' : 'not-top-img')
2
2
  include ./nav.pug
3
3
  if is_post()
4
4
  include ./widgets/post/postMeta.pug
@@ -1,21 +1,21 @@
1
1
  - cdn = theme.cdn.body
2
+ - page.type = is_post() ? 'post' : page.type
2
3
 
3
4
  script(src=url_for(cdn.pjaxjs))
4
5
  if theme.lazyload.enable
5
- script(src=url_for(cdn.lazyloadjs))
6
- script(src=url_for(cdn.snackbarjs))
6
+ script(src=cdn_url_for("/lib/lazyload.min.js"))
7
+ script(src=cdn_url_for("/lib/snackbar.min.js"))
7
8
  if theme.lightbox
8
- script(src=url_for(cdn.viewimagejs))
9
+ script(src=cdn_url_for("/lib/view-image.min.js"))
9
10
  if theme.says.home_mini || theme.aside.history.enable
10
11
  script(src=url_for(cdn.swiperjs))
11
12
 
12
13
  if theme.rightside.enable
13
14
  include ../widgets/rightside/index.pug
14
- script(src='/js/rightside.js')
15
+ script(src=cdn_url_for("/lib/rightside.min.js"))
15
16
 
16
17
  div#js-pjax
17
18
  if page.type === 'says'
18
- script(src=url_for(cdn.waterfalljs))
19
19
  script.
20
20
  window.addEventListener('resize', utils.throttle(function () {
21
21
  if (document.getElementById('waterfall')) {
@@ -30,18 +30,29 @@ div#js-pjax
30
30
  is_post: !{is_post()},
31
31
  is_page: !{is_page()},
32
32
  is_home: !{is_home()},
33
- page: '!{page.type || 'default'}',
33
+ page: '!{page.type}',
34
34
  toc: !{!!page.toc},
35
35
  comment: !{!!page.comment},
36
36
  }
37
- if theme.thirdparty.aplayer.enable
37
+
38
+ // post-ai)
39
+ if theme.thirdparty.ai.enable
40
+ script(src=cdn_url_for("/lib/sco-ai.min.js"))
41
+
42
+ if theme.thirdparty.aplayer.enable || theme.music.enable
38
43
  script(src=url_for(cdn.aplayerjs))
39
44
  script(src=url_for(cdn.metingjs))
40
45
  script.
41
46
  const meting_api = '!{theme.thirdparty.aplayer.api}';
42
47
 
43
- if theme.post.covercolor
44
- script(src='/js/extend/covercolor/local.js')
48
+ if theme.post.covercolor.enable
49
+ script.
50
+ const coverColorConfig = {
51
+ mode: '!{theme.post.covercolor.mode}',
52
+ api: '!{theme.post.covercolor.api}',
53
+ time: !{theme.post.covercolor.time},
54
+ }
55
+ script(src=cdn_url_for("/lib/cover-color.min.js"))
45
56
 
46
57
  if theme.footer.randomlink
47
58
  include ../widgets/randomlink.pug
@@ -51,20 +62,29 @@ if page.katex
51
62
  script(src=url_for(cdn.katexjs))
52
63
 
53
64
  if theme.aside.welcome.enable
54
- script(src='/js/txmap.js')
65
+ script(src=cdn_url_for("/lib/txmap.min.js"))
66
+
67
+ // waterfall
68
+ if theme.says.enable
69
+ script(src=cdn_url_for("/lib/waterfall.min.js"))
55
70
 
56
71
  if theme.comment.enable
57
72
  case theme.comment.type
58
73
  when 'twikoo'
59
- script(src='/js/extend/comment/twikoo.js')
60
- script(src='/js/commentBarrage.js')
74
+ script(src=cdn_url_for("/js/extend/comment/twikoo/twikoo.js"))
75
+ script(src=cdn_url_for("/js/extend/comment/twikoo/commentBarrage.js"))
61
76
  when 'waline'
62
- script(src='/js/extend/comment/waline.js')
77
+ script(src=cdn_url_for("/js/extend/comment/waline/waline.js"))
78
+ script(src=cdn_url_for("/js/extend/comment/waline/commentBarrage.js"))
63
79
 
64
80
 
65
81
  // pjax
66
82
  include ../widgets/third-party/pjax.pug
67
83
 
84
+ // music
85
+ if theme.music.enable
86
+ script(src=cdn_url_for("/js/music.js"))
87
+
68
88
  // inject custom body
69
89
  if theme.extends.body
70
90
  each item in theme.extends.body