hexo-theme-shokax 0.5.0 → 0.5.2

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 (165) hide show
  1. package/CODE_OF_CONDUCT.md +128 -128
  2. package/LICENSE +660 -660
  3. package/LICENSE-shoka +21 -21
  4. package/README.md +74 -53
  5. package/UsageRestrictions.md +25 -25
  6. package/_config.yml +352 -350
  7. package/languages/README.md +19 -19
  8. package/languages/default.yml +1 -1
  9. package/languages/en.yml +155 -155
  10. package/languages/ja.yml +155 -155
  11. package/languages/zh-CN.yml +155 -155
  12. package/languages/zh-HK.yml +155 -155
  13. package/languages/zh-TW.yml +155 -155
  14. package/layout/_alternate/atom.ejs +30 -30
  15. package/layout/_alternate/json.ejs +16 -16
  16. package/layout/_alternate/rss.ejs +34 -34
  17. package/layout/_mixin/breadcrumb.pug +33 -33
  18. package/layout/_mixin/card.pug +37 -37
  19. package/layout/_mixin/comment.pug +6 -6
  20. package/layout/_mixin/postmeta.pug +29 -29
  21. package/layout/_mixin/segment.pug +35 -35
  22. package/layout/_mixin/sidebar.pug +40 -40
  23. package/layout/_mixin/widgets.pug +28 -28
  24. package/layout/_partials/footer.pug +43 -43
  25. package/layout/_partials/head/head.pug +50 -50
  26. package/layout/_partials/head/head_com.pug +24 -24
  27. package/layout/_partials/head/pwa.pug +18 -18
  28. package/layout/_partials/header.pug +18 -18
  29. package/layout/_partials/layout.pug +137 -137
  30. package/layout/_partials/loading.pug +13 -13
  31. package/layout/_partials/pagination.pug +4 -4
  32. package/layout/_partials/post/copyright.pug +20 -20
  33. package/layout/_partials/post/footer.pug +20 -20
  34. package/layout/_partials/post/nav.pug +17 -17
  35. package/layout/_partials/post/post.pug +42 -42
  36. package/layout/_partials/post/reward.pug +18 -18
  37. package/layout/_partials/sidebar/menu.pug +37 -37
  38. package/layout/_partials/sidebar/overview.pug +42 -42
  39. package/layout/_partials/third-party/baidu-analytics.pug +11 -11
  40. package/layout/_partials/third-party/clarity.pug +8 -8
  41. package/layout/_partials/third-party/google-analytics.pug +9 -9
  42. package/layout/archive.pug +121 -121
  43. package/layout/category.pug +62 -62
  44. package/layout/index.pug +36 -36
  45. package/layout/page.pug +60 -60
  46. package/layout/post.pug +42 -42
  47. package/layout/tag.pug +46 -46
  48. package/package.json +14 -14
  49. package/scripts/generaters/images.js +11 -13
  50. package/scripts/generaters/script.js +3 -1
  51. package/scripts/helpers/engine.js +5 -0
  52. package/scripts/plugin/check.js +48 -10
  53. package/scripts/plugin/index.js +2 -2
  54. package/source/assets/algolia_logo.svg +9 -9
  55. package/source/assets/logo.svg +16 -16
  56. package/source/css/_colors.styl +207 -207
  57. package/source/css/_common/components/components.styl +5 -6
  58. package/source/css/_common/components/pages/collapse.styl +119 -119
  59. package/source/css/_common/components/pages/home.styl +391 -391
  60. package/source/css/_common/components/pages/pages.styl +56 -56
  61. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  62. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  63. package/source/css/_common/components/post/copyright.styl +41 -41
  64. package/source/css/_common/components/post/expand.styl +263 -263
  65. package/source/css/_common/components/post/footer.styl +11 -11
  66. package/source/css/_common/components/post/header.styl +79 -79
  67. package/source/css/_common/components/post/nav.styl +64 -64
  68. package/source/css/_common/components/post/post.styl +29 -29
  69. package/source/css/_common/components/post/reward.styl +50 -50
  70. package/source/css/_common/components/post/rtl.styl +12 -12
  71. package/source/css/_common/components/post/tags.styl +39 -39
  72. package/source/css/_common/components/tags/collapse.styl +72 -72
  73. package/source/css/_common/components/tags/container.styl +49 -49
  74. package/source/css/_common/components/tags/label.styl +12 -12
  75. package/source/css/_common/components/tags/links.styl +77 -77
  76. package/source/css/_common/components/tags/list.styl +131 -131
  77. package/source/css/_common/components/tags/note.styl +70 -70
  78. package/source/css/_common/components/tags/player.styl +361 -361
  79. package/source/css/_common/components/tags/quiz.styl +200 -200
  80. package/source/css/_common/components/tags/tabs.styl +89 -89
  81. package/source/css/_common/components/tags/tags.styl +9 -9
  82. package/source/css/_common/components/third-party/loading.styl +222 -222
  83. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  84. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  85. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  86. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  87. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  88. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  89. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  90. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  91. package/source/css/_common/components/third-party/pace.styl +18 -18
  92. package/source/css/_common/components/third-party/search.styl +167 -167
  93. package/source/css/_common/components/third-party/theme.styl +151 -151
  94. package/source/css/_common/components/third-party/third-party.styl +22 -22
  95. package/source/css/_common/components/third-party/widgets.styl +57 -57
  96. package/source/css/_common/outline/footer/footer.styl +67 -67
  97. package/source/css/_common/outline/header/brand.styl +77 -77
  98. package/source/css/_common/outline/header/header.styl +20 -20
  99. package/source/css/_common/outline/header/image.styl +85 -85
  100. package/source/css/_common/outline/header/menu.styl +117 -117
  101. package/source/css/_common/outline/header/nav.styl +81 -81
  102. package/source/css/_common/outline/header/right.styl +15 -15
  103. package/source/css/_common/outline/header/tool.styl +207 -207
  104. package/source/css/_common/outline/header/waves.styl +57 -57
  105. package/source/css/_common/outline/mobile.styl +46 -46
  106. package/source/css/_common/outline/outline.styl +78 -78
  107. package/source/css/_common/outline/sidebar/author.styl +59 -59
  108. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  109. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  110. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  111. package/source/css/_common/outline/sidebar/related.styl +56 -56
  112. package/source/css/_common/outline/sidebar/sidebar.styl +82 -82
  113. package/source/css/_common/outline/sidebar/social.styl +69 -69
  114. package/source/css/_common/outline/sidebar/state.styl +37 -37
  115. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  116. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  117. package/source/css/_common/scaffolding/animate.styl +322 -322
  118. package/source/css/_common/scaffolding/base.styl +192 -190
  119. package/source/css/_common/scaffolding/buttons.styl +48 -48
  120. package/source/css/_common/scaffolding/divider.styl +36 -36
  121. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  122. package/source/css/_common/scaffolding/normalize.styl +273 -273
  123. package/source/css/_common/scaffolding/pagination.styl +81 -81
  124. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  125. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  126. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  127. package/source/css/_common/scaffolding/tables.styl +50 -50
  128. package/source/css/_common/scaffolding/tip.styl +19 -19
  129. package/source/css/_common/scaffolding/toggles.styl +59 -59
  130. package/source/css/_iconfont.styl +455 -455
  131. package/source/css/_mixins.styl +148 -148
  132. package/source/css/_variables.styl +89 -89
  133. package/source/css/app.styl +25 -25
  134. package/source/css/mermaid.styl +5 -5
  135. package/source/css/page.styl +2 -2
  136. package/source/css/post.styl +6 -5
  137. package/source/css/scaffolding.styl +4 -4
  138. package/source/js/_app/components/cloudflare.ts +18 -18
  139. package/source/js/_app/components/comments.ts +88 -86
  140. package/source/js/_app/components/sidebar.ts +243 -243
  141. package/source/js/_app/components/tcomments.ts +53 -53
  142. package/source/js/_app/globals/globalVars.ts +84 -84
  143. package/source/js/_app/globals/handles.ts +124 -124
  144. package/source/js/_app/globals/themeColor.ts +62 -62
  145. package/source/js/_app/globals/thirdparty.ts +63 -63
  146. package/source/js/_app/globals/tools.ts +73 -73
  147. package/source/js/_app/library/anime.ts +121 -121
  148. package/source/js/_app/library/declare.d.ts +128 -126
  149. package/source/js/_app/library/proto.ts +70 -70
  150. package/source/js/_app/library/vue.ts +49 -49
  151. package/source/js/_app/page/common.ts +41 -41
  152. package/source/js/_app/page/imageviewer.ts +15 -15
  153. package/source/js/_app/page/post.ts +252 -248
  154. package/source/js/_app/page/search.ts +109 -109
  155. package/source/js/_app/page/tab.ts +59 -59
  156. package/source/js/_app/pjax/domInit.ts +102 -102
  157. package/source/js/_app/pjax/refresh.ts +117 -117
  158. package/source/js/_app/pjax/siteInit.ts +90 -90
  159. package/source/js/_app/player.ts +13 -13
  160. package/toolbox/compiler.mjs +49 -53
  161. package/toolbox/dev-version.mjs +14 -14
  162. package/toolbox/hoistdep.mjs +5 -5
  163. package/toolbox/lib.mjs +63 -63
  164. package/source/css/_common/components/highlight/highlight.styl +0 -357
  165. package/source/css/_common/components/highlight/operation.styl +0 -21
package/toolbox/lib.mjs CHANGED
@@ -1,64 +1,64 @@
1
- import fs from "fs/promises";
2
- import child_process from "child_process";
3
- import { dirname, resolve, join } from 'path';
4
-
5
- async function findScaffoldsDir(startPath) {
6
- let currentPath = resolve(startPath);
7
-
8
- while (currentPath !== dirname(currentPath)) {
9
- const scaffoldsPath = resolve(currentPath, 'scaffolds');
10
-
11
- try {
12
- const stat = await fs.stat(scaffoldsPath);
13
- if (stat.isDirectory()) {
14
- return currentPath;
15
- }
16
- } catch (err) {
17
- // If the error is because the file/directory does not exist, continue to the parent directory
18
- if (err.code !== 'ENOENT') {
19
- throw err;
20
- }
21
- }
22
-
23
- currentPath = dirname(currentPath);
24
- }
25
-
26
- return null;
27
- }
28
-
29
- const hexoRoot = await findScaffoldsDir(process.cwd())
30
-
31
- async function checkFileAccessible(file) {
32
- try {
33
- await fs.access(join((hexoRoot || ''),file))
34
- } catch {
35
- return false
36
- }
37
- return true
38
- }
39
-
40
- export async function hoistDeps() {
41
- let pm
42
- if (await checkFileAccessible('pnpm-lock.yml') || await checkFileAccessible('pnpm-lock.yaml') || await checkFileAccessible('enable_pnpm')) {
43
- pm = "pnpm add"
44
- } else if (await checkFileAccessible('yarn.lock') || await checkFileAccessible('.yarnrc.yml')) {
45
- pm = "yarn add"
46
- } else {
47
- pm = "npm install"
48
- }
49
- console.log(`Using ${pm} to hoist dependencies.`)
50
- // TODO 使用本地 package.json 解析
51
- const res = await (await fetch('https://registry.npmmirror.com/hexo-theme-shokax')).json()
52
- const latestV = res['dist-tags'].latest
53
- const deps = res.versions[latestV].dependencies
54
- const depsList = Object.keys(deps).map(d => `${d}@${deps[d]}`)
55
- child_process.exec(`${pm} ${depsList.join(' ')}`.trim(), {
56
- cwd: hexoRoot
57
- }, (code, stdout, stderr) => {
58
- if (stderr) {
59
- console.error(stderr)
60
- } else {
61
- console.log(stdout)
62
- }
63
- })
1
+ import fs from "fs/promises";
2
+ import child_process from "child_process";
3
+ import { dirname, resolve, join } from 'path';
4
+
5
+ async function findScaffoldsDir(startPath) {
6
+ let currentPath = resolve(startPath);
7
+
8
+ while (currentPath !== dirname(currentPath)) {
9
+ const scaffoldsPath = resolve(currentPath, 'scaffolds');
10
+
11
+ try {
12
+ const stat = await fs.stat(scaffoldsPath);
13
+ if (stat.isDirectory()) {
14
+ return currentPath;
15
+ }
16
+ } catch (err) {
17
+ // If the error is because the file/directory does not exist, continue to the parent directory
18
+ if (err.code !== 'ENOENT') {
19
+ throw err;
20
+ }
21
+ }
22
+
23
+ currentPath = dirname(currentPath);
24
+ }
25
+
26
+ return null;
27
+ }
28
+
29
+ const hexoRoot = await findScaffoldsDir(process.cwd())
30
+
31
+ async function checkFileAccessible(file) {
32
+ try {
33
+ await fs.access(join((hexoRoot || ''),file))
34
+ } catch {
35
+ return false
36
+ }
37
+ return true
38
+ }
39
+
40
+ export async function hoistDeps() {
41
+ let pm
42
+ if (await checkFileAccessible('pnpm-lock.yml') || await checkFileAccessible('pnpm-lock.yaml') || await checkFileAccessible('enable_pnpm')) {
43
+ pm = "pnpm add"
44
+ } else if (await checkFileAccessible('yarn.lock') || await checkFileAccessible('.yarnrc.yml')) {
45
+ pm = "yarn add"
46
+ } else {
47
+ pm = "npm install"
48
+ }
49
+ console.log(`Using ${pm} to hoist dependencies.`)
50
+ // TODO 使用本地 package.json 解析
51
+ const res = await (await fetch('https://registry.npmmirror.com/hexo-theme-shokax')).json()
52
+ const latestV = res['dist-tags'].latest
53
+ const deps = res.versions[latestV].dependencies
54
+ const depsList = Object.keys(deps).map(d => `${d}@${deps[d]}`)
55
+ child_process.exec(`${pm} ${depsList.join(' ')}`.trim(), {
56
+ cwd: hexoRoot
57
+ }, (code, stdout, stderr) => {
58
+ if (stderr) {
59
+ console.error(stderr)
60
+ } else {
61
+ console.log(stdout)
62
+ }
63
+ })
64
64
  }
@@ -1,357 +0,0 @@
1
- @import 'operation';
2
-
3
- // Placeholder: $code-block
4
- $code-block {
5
- background: var(--grey-2);
6
- color: var(--grey-7);
7
- line-height: $line-height-code-block;
8
- margin: 1.25rem auto;
9
- }
10
-
11
- pre,
12
- code,
13
- .code-container {
14
- font-family: $font-family-monospace;
15
- font-size: $font-size-medium;
16
- }
17
-
18
-
19
- :not(td)>pre {
20
- background: var(--grey-1);
21
- border: .0625rem solid var(--grey-3);
22
- border-radius: .3125rem;
23
- padding: 1rem;
24
- margin-bottom: .8rem;
25
- line-break: anywhere;
26
- white-space: break-spaces;
27
-
28
- code {
29
- background: transparent;
30
- color: currentColor;
31
- }
32
- }
33
-
34
-
35
- // 代码样式
36
- :not(pre)>code {
37
- color: var(--primary-color);
38
- border-radius: .3rem;
39
- border: .0625rem solid rgba(0, 0, 0, .1);
40
- background-color: var(--grey-0);
41
- padding: .2rem .3rem;
42
- word-wrap();
43
- }
44
-
45
- .highlight {
46
- position: relative;
47
- overflow: hidden;
48
- border-radius: .5rem;
49
- box-shadow: 0 .3125rem .625rem -.125rem var(--grey-9-a1);
50
-
51
- @extend $code-block;
52
-
53
- *::selection {
54
- background: var(--grey-4);
55
- }
56
-
57
- &::before {
58
- content: " ";
59
- position: absolute;
60
- border-radius: 50%;
61
- background: #fc625d;
62
- width: .75rem;
63
- height: .75rem;
64
- left: .75rem;
65
- top: .8125rem;
66
- box-shadow: 1.25rem 0 #fdbc40, 2.5rem 0 #35cd4b;
67
- }
68
-
69
- figcaption {
70
- color: var(--grey-4);
71
- display: inline-flex;
72
- font-size: $font-size-small;
73
- font-weight: 700;
74
- padding: 0 6rem 0 5rem;
75
- min-height: 2.5rem;
76
- width: 100%;
77
- text-align: center;
78
- align-items: center;
79
- justify-content: space-between;
80
-
81
- background-color: var(--grey-3);
82
- margin-bottom: .625rem;
83
-
84
- &::before {
85
- content: attr(data-lang);
86
- text-transform: Capitalize;
87
- }
88
-
89
- span, a {
90
- display: block;
91
- margin-left: .625rem;
92
- overflow: hidden;
93
- text-overflow: ellipsis;
94
- white-space: nowrap;
95
- }
96
-
97
- a {
98
- color: var(--grey-5);
99
-
100
- &:hover {
101
- color: var(--grey-6);
102
- }
103
- }
104
- }
105
-
106
- &.fullscreen {
107
- position: fixed;
108
- top: 0;
109
- left: 0;
110
- width: 100%;
111
- height: 100%;
112
- min-width: 100%;
113
- z-index: $zindex-5;
114
- margin: 0;
115
- border-radius: 0;
116
- overflow-y: scroll;
117
- overflow-x: hidden;
118
- @extend .elastic;
119
-
120
- .show-btn{
121
- position: fixed;
122
- }
123
- }
124
-
125
- &.breakline {
126
- .code-container table {
127
- line-break: anywhere;
128
- white-space: break-spaces;
129
-
130
- pre {
131
- white-space: break-spaces;
132
- }
133
- }
134
- }
135
- }
136
-
137
-
138
- .code-container {
139
- overflow-x: scroll;
140
- overflow-y: hidden;
141
-
142
- &::after {
143
- content: "";
144
- display: block;
145
- height: .625rem;
146
- width: 100%;
147
- }
148
-
149
- table {
150
- white-space: pre;
151
- border-spacing: 0;
152
- width: 100%;
153
- }
154
-
155
- tr {
156
- background-color: inherit;
157
- &:hover {
158
- td {
159
- background-color: var(--grey-3);
160
- }
161
- }
162
- }
163
-
164
- td {
165
- position: relative;
166
- padding: unset;
167
- vertical-align: unset;
168
- border: unset;
169
- the-transition();
170
- pre::before {
171
- content: " ";
172
- }
173
- }
174
-
175
- td:first-child {
176
- position: absolute;
177
- background: var(--grey-2);
178
- text-align: right;
179
- overflow-x: visible !important;
180
- overflow-y: hidden;
181
- left: 0;
182
- width: 2.5rem;
183
- padding-right: .9375rem;
184
- color: var(--color-grey);
185
- z-index: $zindex-1;
186
- }
187
-
188
- td:nth-child(2) {
189
- padding-left: 3rem;
190
- }
191
-
192
- td:last-child {
193
- padding-right: .9375rem;
194
- }
195
-
196
- td[data-num]::before {
197
- content: attr(data-num);
198
- }
199
-
200
- td[data-command]::before {
201
- content: attr(data-command) " ";
202
- color: var(--grey-5);
203
- display: block;
204
- letter-spacing: -1px;
205
- padding-right: .5rem;
206
- text-align: right;
207
- white-space: nowrap;
208
- }
209
-
210
- td[data-command] + td {
211
- padding-left: .5rem;
212
- border-left: 1px solid var(--grey-4);
213
- }
214
-
215
- .marked {
216
- td {
217
- background-color: var(--grey-3);
218
- }
219
- &:hover {
220
- td:last-child {
221
- background-color: var(--color-red-a1);
222
- }
223
- }
224
- }
225
-
226
- .show-btn {
227
- position: absolute;
228
- cursor: pointer;
229
- left: 0;
230
- bottom: 0;
231
- width: 100%;
232
- height: 2.875rem;
233
- text-align: center;
234
- color: var(--text-color);
235
- background-image: linear-gradient(to bottom, var(--grey-2-a0) 0, var(--grey-2) 80%);
236
- z-index: $zindex-1;
237
-
238
- &::after {
239
- content: "";
240
- display: block;
241
- width: 100%;
242
- height: 1rem;
243
- background: var(--grey-2);
244
- }
245
-
246
- .ic {
247
- margin-top: 1rem;
248
- @extend .up-down;
249
-
250
- &.stop-animation {
251
- animation-play-state: paused;
252
- }
253
- }
254
-
255
- &.open {
256
- background: none;
257
- bottom: .5rem;
258
-
259
- &::after {
260
- display: none;
261
- }
262
-
263
- .ic {
264
- @extend .down-up;
265
- }
266
- }
267
- }
268
-
269
- // For diff highlight
270
- .deletion, .deleted {
271
- background: var(--color-pink-light);
272
- }
273
-
274
- .addition, .inserted {
275
- background: var(--color-cyan-light);
276
- }
277
-
278
- .meta {
279
- color: var(--color-yellow);
280
- disable-user-select();
281
- }
282
-
283
- .comment,
284
- .punctuation {
285
- color: var(--grey-5);
286
- }
287
-
288
- .variable,
289
- .function,
290
- .attribute,
291
- .tag,
292
- .name,
293
- .regexp,
294
- .ruby .constant,
295
- .xml .tag .title,
296
- .xml .pi,
297
- .xml .doctype,
298
- .html .doctype,
299
- .css .id,
300
- .css .class,
301
- .css .pseudo {
302
- color: var(--color-red);
303
- }
304
-
305
- .number,
306
- .preprocessor,
307
- .built_in,
308
- .builtin-name,
309
- .literal,
310
- .params,
311
- .constant,
312
- .command {
313
- color: var(--color-orange);
314
- }
315
-
316
- .ruby .class .title,
317
- .css .rules .attribute,
318
- .string,
319
- .symbol,
320
- .value,
321
- .inheritance,
322
- .header,
323
- .ruby .symbol,
324
- .xml .cdata,
325
- .special,
326
- .formula {
327
- color: var(--color-green);
328
- }
329
-
330
- .title,
331
- .css .hexcolor,
332
- .namespace {
333
- color: var(--color-aqua);
334
- }
335
-
336
- .class-name,
337
- .python .decorator,
338
- .python .title,
339
- .ruby .function .title,
340
- .ruby .title .keyword,
341
- .perl .sub,
342
- .javascript .title,
343
- .coffeescript .title {
344
- color: var(--color-blue);
345
- }
346
-
347
- .keyword,
348
- .javascript .function,
349
- .typescript .function{
350
- color: var(--color-orange);
351
- }
352
-
353
- .property {
354
- color: var(--color-purple)
355
- }
356
-
357
- }
@@ -1,21 +0,0 @@
1
- .operation {
2
- color: var(--grey-5);
3
- cursor: pointer;
4
- position: absolute;
5
- padding: .125rem .375rem;
6
- right: .125rem;
7
- top: .45rem;
8
- font-size: $font-size-smaller;
9
-
10
- span {
11
- the-transition();
12
- margin: 0 .3125rem;
13
-
14
- &:hover {
15
- color: var(--grey-7);
16
- }
17
- }
18
-
19
- }
20
-
21
-