hexo-theme-shokax 0.5.1 → 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 (164) 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 -68
  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 +13 -12
  49. package/scripts/generaters/images.js +11 -13
  50. package/scripts/generaters/script.js +3 -1
  51. package/scripts/plugin/check.js +48 -10
  52. package/scripts/plugin/index.js +2 -2
  53. package/source/assets/algolia_logo.svg +9 -9
  54. package/source/assets/logo.svg +16 -16
  55. package/source/css/_colors.styl +207 -207
  56. package/source/css/_common/components/components.styl +5 -6
  57. package/source/css/_common/components/pages/collapse.styl +119 -119
  58. package/source/css/_common/components/pages/home.styl +391 -391
  59. package/source/css/_common/components/pages/pages.styl +56 -56
  60. package/source/css/_common/components/pages/tag-cloud.styl +12 -12
  61. package/source/css/_common/components/post/breadcrumb.styl +39 -39
  62. package/source/css/_common/components/post/copyright.styl +41 -41
  63. package/source/css/_common/components/post/expand.styl +263 -263
  64. package/source/css/_common/components/post/footer.styl +11 -11
  65. package/source/css/_common/components/post/header.styl +79 -79
  66. package/source/css/_common/components/post/nav.styl +64 -64
  67. package/source/css/_common/components/post/post.styl +29 -29
  68. package/source/css/_common/components/post/reward.styl +50 -50
  69. package/source/css/_common/components/post/rtl.styl +12 -12
  70. package/source/css/_common/components/post/tags.styl +39 -39
  71. package/source/css/_common/components/tags/collapse.styl +72 -72
  72. package/source/css/_common/components/tags/container.styl +49 -49
  73. package/source/css/_common/components/tags/label.styl +12 -12
  74. package/source/css/_common/components/tags/links.styl +77 -77
  75. package/source/css/_common/components/tags/list.styl +131 -131
  76. package/source/css/_common/components/tags/note.styl +70 -70
  77. package/source/css/_common/components/tags/player.styl +361 -361
  78. package/source/css/_common/components/tags/quiz.styl +200 -200
  79. package/source/css/_common/components/tags/tabs.styl +89 -89
  80. package/source/css/_common/components/tags/tags.styl +9 -9
  81. package/source/css/_common/components/third-party/loading.styl +222 -222
  82. package/source/css/_common/components/third-party/mermaid/class.styl +90 -90
  83. package/source/css/_common/components/third-party/mermaid/flowchart.styl +72 -72
  84. package/source/css/_common/components/third-party/mermaid/gantt.styl +251 -251
  85. package/source/css/_common/components/third-party/mermaid/git.styl +7 -7
  86. package/source/css/_common/components/third-party/mermaid/mermaid.styl +37 -37
  87. package/source/css/_common/components/third-party/mermaid/pie.styl +9 -9
  88. package/source/css/_common/components/third-party/mermaid/sequence.styl +95 -95
  89. package/source/css/_common/components/third-party/mermaid/state.styl +130 -130
  90. package/source/css/_common/components/third-party/pace.styl +18 -18
  91. package/source/css/_common/components/third-party/search.styl +167 -167
  92. package/source/css/_common/components/third-party/theme.styl +151 -151
  93. package/source/css/_common/components/third-party/third-party.styl +22 -22
  94. package/source/css/_common/components/third-party/widgets.styl +57 -57
  95. package/source/css/_common/outline/footer/footer.styl +67 -67
  96. package/source/css/_common/outline/header/brand.styl +77 -77
  97. package/source/css/_common/outline/header/header.styl +20 -20
  98. package/source/css/_common/outline/header/image.styl +85 -85
  99. package/source/css/_common/outline/header/menu.styl +117 -117
  100. package/source/css/_common/outline/header/nav.styl +81 -81
  101. package/source/css/_common/outline/header/right.styl +15 -15
  102. package/source/css/_common/outline/header/tool.styl +207 -207
  103. package/source/css/_common/outline/header/waves.styl +57 -57
  104. package/source/css/_common/outline/mobile.styl +46 -46
  105. package/source/css/_common/outline/outline.styl +78 -78
  106. package/source/css/_common/outline/sidebar/author.styl +59 -59
  107. package/source/css/_common/outline/sidebar/dimmer.styl +23 -23
  108. package/source/css/_common/outline/sidebar/menu.styl +63 -63
  109. package/source/css/_common/outline/sidebar/quick.styl +43 -43
  110. package/source/css/_common/outline/sidebar/related.styl +56 -56
  111. package/source/css/_common/outline/sidebar/sidebar.styl +82 -82
  112. package/source/css/_common/outline/sidebar/social.styl +69 -69
  113. package/source/css/_common/outline/sidebar/state.styl +37 -37
  114. package/source/css/_common/outline/sidebar/tab.styl +71 -71
  115. package/source/css/_common/outline/sidebar/toc.styl +47 -47
  116. package/source/css/_common/scaffolding/animate.styl +322 -322
  117. package/source/css/_common/scaffolding/base.styl +192 -190
  118. package/source/css/_common/scaffolding/buttons.styl +48 -48
  119. package/source/css/_common/scaffolding/divider.styl +36 -36
  120. package/source/css/_common/scaffolding/iconfont.styl +443 -443
  121. package/source/css/_common/scaffolding/normalize.styl +273 -273
  122. package/source/css/_common/scaffolding/pagination.styl +81 -81
  123. package/source/css/_common/scaffolding/ribbon.styl +38 -38
  124. package/source/css/_common/scaffolding/scaffolding.styl +14 -14
  125. package/source/css/_common/scaffolding/scrollbar.styl +37 -37
  126. package/source/css/_common/scaffolding/tables.styl +50 -50
  127. package/source/css/_common/scaffolding/tip.styl +19 -19
  128. package/source/css/_common/scaffolding/toggles.styl +59 -59
  129. package/source/css/_iconfont.styl +455 -455
  130. package/source/css/_mixins.styl +148 -148
  131. package/source/css/_variables.styl +89 -89
  132. package/source/css/app.styl +25 -25
  133. package/source/css/mermaid.styl +5 -5
  134. package/source/css/page.styl +2 -2
  135. package/source/css/post.styl +6 -5
  136. package/source/css/scaffolding.styl +4 -4
  137. package/source/js/_app/components/cloudflare.ts +18 -18
  138. package/source/js/_app/components/comments.ts +88 -86
  139. package/source/js/_app/components/sidebar.ts +243 -243
  140. package/source/js/_app/components/tcomments.ts +53 -53
  141. package/source/js/_app/globals/globalVars.ts +84 -84
  142. package/source/js/_app/globals/handles.ts +124 -124
  143. package/source/js/_app/globals/themeColor.ts +62 -62
  144. package/source/js/_app/globals/thirdparty.ts +63 -63
  145. package/source/js/_app/globals/tools.ts +73 -73
  146. package/source/js/_app/library/anime.ts +121 -121
  147. package/source/js/_app/library/declare.d.ts +128 -126
  148. package/source/js/_app/library/proto.ts +70 -70
  149. package/source/js/_app/library/vue.ts +49 -49
  150. package/source/js/_app/page/common.ts +41 -41
  151. package/source/js/_app/page/imageviewer.ts +15 -15
  152. package/source/js/_app/page/post.ts +252 -248
  153. package/source/js/_app/page/search.ts +109 -109
  154. package/source/js/_app/page/tab.ts +59 -59
  155. package/source/js/_app/pjax/domInit.ts +102 -102
  156. package/source/js/_app/pjax/refresh.ts +117 -117
  157. package/source/js/_app/pjax/siteInit.ts +90 -90
  158. package/source/js/_app/player.ts +13 -13
  159. package/toolbox/compiler.mjs +49 -53
  160. package/toolbox/dev-version.mjs +14 -14
  161. package/toolbox/hoistdep.mjs +5 -5
  162. package/toolbox/lib.mjs +63 -63
  163. package/source/css/_common/components/highlight/highlight.styl +0 -357
  164. 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
-