sinzmise-cetastories-en 2.0.0-1730023048490 → 2.0.0-1730024675822

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 (86) hide show
  1. package/archives/2023/12/index.html +1 -0
  2. package/archives/2023/index.html +1 -0
  3. package/archives/index.html +1 -0
  4. package/assets/algolia/algoliasearch.js +2 -1
  5. package/assets/algolia/algoliasearchLite.js +2 -1
  6. package/atom.xml +2 -2
  7. package/baidu_verify_codeva-NA6uDlCuZg.html +1 -0
  8. package/categories/Test/index.html +1 -0
  9. package/categories/index.html +1 -0
  10. package/css/custom2.css +2 -1
  11. package/css/first.css +2 -0
  12. package/css/pace/big-counter.css +2 -1
  13. package/css/pace/corner-indicator.css +2 -1
  14. package/css/pace/flash.css +2 -1
  15. package/css/pace/mac-osx.css +2 -1
  16. package/css/pace/pace.css +2 -1
  17. package/css/plane.css +2 -1
  18. package/css/style.css +2 -0
  19. package/css/tags.css +2 -1
  20. package/games +3972 -0
  21. package/google8073542809160a67.html +1 -0
  22. package/index.html +1 -0
  23. package/js/app.js +2 -0
  24. package/js/autoload.js +2 -1
  25. package/js/ceta/fancybox.css +2 -0
  26. package/js/ceta/fancybox.umd.js +2 -0
  27. package/js/ceta/iconfontInkss.js +2 -0
  28. package/js/ceta/lazyload.min.js +1 -0
  29. package/js/ceta/message.css +2 -0
  30. package/js/ceta/message.js +2 -0
  31. package/js/ceta/pjax.min.js +1 -0
  32. package/js/clock.js +2 -1
  33. package/js/kslink.js +2 -1
  34. package/js/newyear.js +2 -1
  35. package/js/plane.js +2 -1
  36. package/js/plugins/aplayer.js +2 -0
  37. package/js/plugins/parallax.js +2 -0
  38. package/js/plugins/rightMenus.js +2 -0
  39. package/js/plugins/tags/contributors.js +2 -0
  40. package/js/plugins/tags/friends.js +2 -0
  41. package/js/plugins/tags/sites.js +2 -0
  42. package/js/search/algolia.js +2 -0
  43. package/js/search/hexo.js +2 -0
  44. package/js/search/meilisearch.js +2 -0
  45. package/js/txmap.js +2 -1
  46. package/load.html +1 -1
  47. package/maps/assets/algolia/algoliasearch.js.map +1 -0
  48. package/maps/assets/algolia/algoliasearchLite.js.map +1 -0
  49. package/maps/css/custom2.css.map +1 -0
  50. package/maps/css/first.css.map +1 -0
  51. package/maps/css/pace/big-counter.css.map +1 -0
  52. package/maps/css/pace/corner-indicator.css.map +1 -0
  53. package/maps/css/pace/flash.css.map +1 -0
  54. package/maps/css/pace/mac-osx.css.map +1 -0
  55. package/maps/css/pace/pace.css.map +1 -0
  56. package/maps/css/plane.css.map +1 -0
  57. package/maps/css/style.css.map +1 -0
  58. package/maps/css/tags.css.map +1 -0
  59. package/maps/js/app.js.map +1 -0
  60. package/maps/js/autoload.js.map +1 -0
  61. package/maps/js/ceta/fancybox.css.map +1 -0
  62. package/maps/js/ceta/fancybox.umd.js.map +1 -0
  63. package/maps/js/ceta/iconfontInkss.js.map +1 -0
  64. package/maps/js/ceta/message.css.map +1 -0
  65. package/maps/js/ceta/message.js.map +1 -0
  66. package/maps/js/clock.js.map +1 -0
  67. package/maps/js/kslink.js.map +1 -0
  68. package/maps/js/newyear.js.map +1 -0
  69. package/maps/js/plane.js.map +1 -0
  70. package/maps/js/plugins/aplayer.js.map +1 -0
  71. package/maps/js/plugins/parallax.js.map +1 -0
  72. package/maps/js/plugins/rightMenus.js.map +1 -0
  73. package/maps/js/plugins/tags/contributors.js.map +1 -0
  74. package/maps/js/plugins/tags/friends.js.map +1 -0
  75. package/maps/js/plugins/tags/sites.js.map +1 -0
  76. package/maps/js/search/algolia.js.map +1 -0
  77. package/maps/js/search/hexo.js.map +1 -0
  78. package/maps/js/search/meilisearch.js.map +1 -0
  79. package/maps/js/txmap.js.map +1 -0
  80. package/maps/sw.js.map +1 -0
  81. package/package.json +1 -1
  82. package/posts/46521/index.html +1 -0
  83. package/sw.js +2 -1
  84. package/tags/Test/index.html +1 -0
  85. package/tags/index.html +1 -0
  86. package/serviceworker.js +0 -1
package/games CHANGED
@@ -0,0 +1,3972 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head hexo-theme='https://github.com/volantis-x/hexo-theme-volantis/#6.0.0-alpha.0'>
4
+ <meta name="generator" content="Hexo 7.3.0">
5
+ <meta charset="utf-8">
6
+
7
+ <!-- SEO相关 -->
8
+
9
+ <link rel="canonical" href="https://en.blog.sinzmise.top/games"/>
10
+
11
+
12
+ <!-- 渲染优化 -->
13
+ <meta name="renderer" content="webkit">
14
+ <meta name="force-rendering" content="webkit">
15
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
16
+ <meta name="HandheldFriendly" content="True" >
17
+ <meta name="apple-mobile-web-app-capable" content="yes">
18
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
19
+ <meta content="black-translucent" name="apple-mobile-web-app-status-bar-style">
20
+ <meta content="telephone=no" name="format-detection">
21
+ <!-- import head_begin begin -->
22
+ <!-- import head_begin end -->
23
+ <!-- Custom Files headBegin begin-->
24
+
25
+ <!-- Custom Files headBegin end-->
26
+ <link rel="preload" href="/css/style.css" as="style">
27
+ <link rel="preload" href="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/fonts/VarelaRound/VarelaRound-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous">
28
+ <link rel="preload" href="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/fonts/UbuntuMono/UbuntuMono-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous">
29
+
30
+ <!-- feed -->
31
+ <link rel="alternate" href="/atom.xml" title="Ceta Magical House" type="application/atom+xml">
32
+ <!-- 页面元数据 -->
33
+ <title>Ceta Games Factory - Ceta Magical House</title>
34
+ <meta name="keywords" content="null">
35
+ <meta desc name="description" content="The Story,The Dream. - SZ·Ninty Ong - Ceta Magical House">
36
+
37
+ <meta property="og:type" content="website">
38
+ <meta property="og:title" content="Ceta Games Factory">
39
+ <meta property="og:url" content="https://en.blog.sinzmise.top/games">
40
+ <meta property="og:site_name" content="Ceta Magical House">
41
+ <meta property="og:description" content="Some games .bangumi-tabs{margin-bottom:15px;margin-top:15px}.bangumi-tab{padding:5px}a.bangumi-tab{text-decoration:none}.bangumi-active{background:#657b83;color:#fff}.bangumi-item{positi">
42
+ <meta property="og:locale" content="en_US">
43
+ <meta property="og:image" content="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png">
44
+ <meta property="article:author" content="SZ·Ninty Ong">
45
+ <meta name="twitter:card" content="summary">
46
+ <meta name="twitter:image" content="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png">
47
+ <style>
48
+ /* 首屏样式 */
49
+ #safearea {
50
+ display: none;
51
+ }
52
+ .fa.red,
53
+ .fas.red,
54
+ .far.red,
55
+ .fad.red,
56
+ .fal.red,
57
+ .fa-solid.red,
58
+ .fa-regular.red,
59
+ .fa-duotone.red,
60
+ .fa-light.red,
61
+ .fa-thin.red,
62
+ .iziToast>.iziToast-body .iziToast-icon.red {
63
+ color: #f44336;
64
+ }
65
+ .fa.pink,
66
+ .fas.pink,
67
+ .far.pink,
68
+ .fad.pink,
69
+ .fal.pink,
70
+ .fa-solid.pink,
71
+ .fa-regular.pink,
72
+ .fa-duotone.pink,
73
+ .fa-light.pink,
74
+ .fa-thin.pink,
75
+ .iziToast>.iziToast-body .iziToast-icon.pink {
76
+ color: #e91e63;
77
+ }
78
+ .fa.purple,
79
+ .fas.purple,
80
+ .far.purple,
81
+ .fad.purple,
82
+ .fal.purple,
83
+ .fa-solid.purple,
84
+ .fa-regular.purple,
85
+ .fa-duotone.purple,
86
+ .fa-light.purple,
87
+ .fa-thin.purple,
88
+ .iziToast>.iziToast-body .iziToast-icon.purple {
89
+ color: #9c27b0;
90
+ }
91
+ .fa.indigo,
92
+ .fas.indigo,
93
+ .far.indigo,
94
+ .fad.indigo,
95
+ .fal.indigo,
96
+ .fa-solid.indigo,
97
+ .fa-regular.indigo,
98
+ .fa-duotone.indigo,
99
+ .fa-light.indigo,
100
+ .fa-thin.indigo,
101
+ .iziToast>.iziToast-body .iziToast-icon.indigo {
102
+ color: #3f51b5;
103
+ }
104
+ .fa.light-blue,
105
+ .fas.light-blue,
106
+ .far.light-blue,
107
+ .fad.light-blue,
108
+ .fal.light-blue,
109
+ .fa-solid.light-blue,
110
+ .fa-regular.light-blue,
111
+ .fa-duotone.light-blue,
112
+ .fa-light.light-blue,
113
+ .fa-thin.light-blue,
114
+ .iziToast>.iziToast-body .iziToast-icon.light-blue {
115
+ color: #4ba7ee;
116
+ }
117
+ .fa.deep-blue,
118
+ .fas.deep-blue,
119
+ .far.deep-blue,
120
+ .fad.deep-blue,
121
+ .fal.deep-blue,
122
+ .fa-solid.deep-blue,
123
+ .fa-regular.deep-blue,
124
+ .fa-duotone.deep-blue,
125
+ .fa-light.deep-blue,
126
+ .fa-thin.deep-blue,
127
+ .iziToast>.iziToast-body .iziToast-icon.deep-blue {
128
+ color: #3367d6;
129
+ }
130
+ .fa.teal,
131
+ .fas.teal,
132
+ .far.teal,
133
+ .fad.teal,
134
+ .fal.teal,
135
+ .fa-solid.teal,
136
+ .fa-regular.teal,
137
+ .fa-duotone.teal,
138
+ .fa-light.teal,
139
+ .fa-thin.teal,
140
+ .iziToast>.iziToast-body .iziToast-icon.teal {
141
+ color: #009688;
142
+ }
143
+ .fa.light-green,
144
+ .fas.light-green,
145
+ .far.light-green,
146
+ .fad.light-green,
147
+ .fal.light-green,
148
+ .fa-solid.light-green,
149
+ .fa-regular.light-green,
150
+ .fa-duotone.light-green,
151
+ .fa-light.light-green,
152
+ .fa-thin.light-green,
153
+ .iziToast>.iziToast-body .iziToast-icon.light-green {
154
+ color: #8bc34a;
155
+ }
156
+ .fa.orange,
157
+ .fas.orange,
158
+ .far.orange,
159
+ .fad.orange,
160
+ .fal.orange,
161
+ .fa-solid.orange,
162
+ .fa-regular.orange,
163
+ .fa-duotone.orange,
164
+ .fa-light.orange,
165
+ .fa-thin.orange,
166
+ .iziToast>.iziToast-body .iziToast-icon.orange {
167
+ color: #ff9800;
168
+ }
169
+ .fa.deep-orange,
170
+ .fas.deep-orange,
171
+ .far.deep-orange,
172
+ .fad.deep-orange,
173
+ .fal.deep-orange,
174
+ .fa-solid.deep-orange,
175
+ .fa-regular.deep-orange,
176
+ .fa-duotone.deep-orange,
177
+ .fa-light.deep-orange,
178
+ .fa-thin.deep-orange,
179
+ .iziToast>.iziToast-body .iziToast-icon.deep-orange {
180
+ color: #ff5722;
181
+ }
182
+ .fa.brown,
183
+ .fas.brown,
184
+ .far.brown,
185
+ .fad.brown,
186
+ .fal.brown,
187
+ .fa-solid.brown,
188
+ .fa-regular.brown,
189
+ .fa-duotone.brown,
190
+ .fa-light.brown,
191
+ .fa-thin.brown,
192
+ .iziToast>.iziToast-body .iziToast-icon.brown {
193
+ color: #795548;
194
+ }
195
+ .fa.blue-grey,
196
+ .fas.blue-grey,
197
+ .far.blue-grey,
198
+ .fad.blue-grey,
199
+ .fal.blue-grey,
200
+ .fa-solid.blue-grey,
201
+ .fa-regular.blue-grey,
202
+ .fa-duotone.blue-grey,
203
+ .fa-light.blue-grey,
204
+ .fa-thin.blue-grey,
205
+ .iziToast>.iziToast-body .iziToast-icon.blue-grey {
206
+ color: #607d8b;
207
+ }
208
+ .fa.yellow,
209
+ .fas.yellow,
210
+ .far.yellow,
211
+ .fad.yellow,
212
+ .fal.yellow,
213
+ .fa-solid.yellow,
214
+ .fa-regular.yellow,
215
+ .fa-duotone.yellow,
216
+ .fa-light.yellow,
217
+ .fa-thin.yellow,
218
+ .iziToast>.iziToast-body .iziToast-icon.yellow {
219
+ color: #fcec60;
220
+ }
221
+ .fa.TURQUOISE,
222
+ .fas.TURQUOISE,
223
+ .far.TURQUOISE,
224
+ .fad.TURQUOISE,
225
+ .fal.TURQUOISE,
226
+ .fa-solid.TURQUOISE,
227
+ .fa-regular.TURQUOISE,
228
+ .fa-duotone.TURQUOISE,
229
+ .fa-light.TURQUOISE,
230
+ .fa-thin.TURQUOISE,
231
+ .iziToast>.iziToast-body .iziToast-icon.TURQUOISE {
232
+ color: #1abc9c;
233
+ }
234
+ .fa.EMERALD,
235
+ .fas.EMERALD,
236
+ .far.EMERALD,
237
+ .fad.EMERALD,
238
+ .fal.EMERALD,
239
+ .fa-solid.EMERALD,
240
+ .fa-regular.EMERALD,
241
+ .fa-duotone.EMERALD,
242
+ .fa-light.EMERALD,
243
+ .fa-thin.EMERALD,
244
+ .iziToast>.iziToast-body .iziToast-icon.EMERALD {
245
+ color: #2ecc71;
246
+ }
247
+ .fa.PETERRIVE,
248
+ .fas.PETERRIVE,
249
+ .far.PETERRIVE,
250
+ .fad.PETERRIVE,
251
+ .fal.PETERRIVE,
252
+ .fa-solid.PETERRIVE,
253
+ .fa-regular.PETERRIVE,
254
+ .fa-duotone.PETERRIVE,
255
+ .fa-light.PETERRIVE,
256
+ .fa-thin.PETERRIVE,
257
+ .iziToast>.iziToast-body .iziToast-icon.PETERRIVE {
258
+ color: #3498db;
259
+ }
260
+ .fa.AMETHYST,
261
+ .fas.AMETHYST,
262
+ .far.AMETHYST,
263
+ .fad.AMETHYST,
264
+ .fal.AMETHYST,
265
+ .fa-solid.AMETHYST,
266
+ .fa-regular.AMETHYST,
267
+ .fa-duotone.AMETHYST,
268
+ .fa-light.AMETHYST,
269
+ .fa-thin.AMETHYST,
270
+ .iziToast>.iziToast-body .iziToast-icon.AMETHYST {
271
+ color: #9b59b6;
272
+ }
273
+ .fa.WETASPHALT,
274
+ .fas.WETASPHALT,
275
+ .far.WETASPHALT,
276
+ .fad.WETASPHALT,
277
+ .fal.WETASPHALT,
278
+ .fa-solid.WETASPHALT,
279
+ .fa-regular.WETASPHALT,
280
+ .fa-duotone.WETASPHALT,
281
+ .fa-light.WETASPHALT,
282
+ .fa-thin.WETASPHALT,
283
+ .iziToast>.iziToast-body .iziToast-icon.WETASPHALT {
284
+ color: #34495e;
285
+ }
286
+ .fa.GREENSEA,
287
+ .fas.GREENSEA,
288
+ .far.GREENSEA,
289
+ .fad.GREENSEA,
290
+ .fal.GREENSEA,
291
+ .fa-solid.GREENSEA,
292
+ .fa-regular.GREENSEA,
293
+ .fa-duotone.GREENSEA,
294
+ .fa-light.GREENSEA,
295
+ .fa-thin.GREENSEA,
296
+ .iziToast>.iziToast-body .iziToast-icon.GREENSEA {
297
+ color: #16a085;
298
+ }
299
+ .fa.NEPHRITIS,
300
+ .fas.NEPHRITIS,
301
+ .far.NEPHRITIS,
302
+ .fad.NEPHRITIS,
303
+ .fal.NEPHRITIS,
304
+ .fa-solid.NEPHRITIS,
305
+ .fa-regular.NEPHRITIS,
306
+ .fa-duotone.NEPHRITIS,
307
+ .fa-light.NEPHRITIS,
308
+ .fa-thin.NEPHRITIS,
309
+ .iziToast>.iziToast-body .iziToast-icon.NEPHRITIS {
310
+ color: #27ae60;
311
+ }
312
+ .fa.BELIZEHOLE,
313
+ .fas.BELIZEHOLE,
314
+ .far.BELIZEHOLE,
315
+ .fad.BELIZEHOLE,
316
+ .fal.BELIZEHOLE,
317
+ .fa-solid.BELIZEHOLE,
318
+ .fa-regular.BELIZEHOLE,
319
+ .fa-duotone.BELIZEHOLE,
320
+ .fa-light.BELIZEHOLE,
321
+ .fa-thin.BELIZEHOLE,
322
+ .iziToast>.iziToast-body .iziToast-icon.BELIZEHOLE {
323
+ color: #2980b9;
324
+ }
325
+ .fa.WISTERIA,
326
+ .fas.WISTERIA,
327
+ .far.WISTERIA,
328
+ .fad.WISTERIA,
329
+ .fal.WISTERIA,
330
+ .fa-solid.WISTERIA,
331
+ .fa-regular.WISTERIA,
332
+ .fa-duotone.WISTERIA,
333
+ .fa-light.WISTERIA,
334
+ .fa-thin.WISTERIA,
335
+ .iziToast>.iziToast-body .iziToast-icon.WISTERIA {
336
+ color: #8e44ad;
337
+ }
338
+ .fa.MIDNIGHTBLUE,
339
+ .fas.MIDNIGHTBLUE,
340
+ .far.MIDNIGHTBLUE,
341
+ .fad.MIDNIGHTBLUE,
342
+ .fal.MIDNIGHTBLUE,
343
+ .fa-solid.MIDNIGHTBLUE,
344
+ .fa-regular.MIDNIGHTBLUE,
345
+ .fa-duotone.MIDNIGHTBLUE,
346
+ .fa-light.MIDNIGHTBLUE,
347
+ .fa-thin.MIDNIGHTBLUE,
348
+ .iziToast>.iziToast-body .iziToast-icon.MIDNIGHTBLUE {
349
+ color: #2c3e50;
350
+ }
351
+ .fa.SUNFLOWER,
352
+ .fas.SUNFLOWER,
353
+ .far.SUNFLOWER,
354
+ .fad.SUNFLOWER,
355
+ .fal.SUNFLOWER,
356
+ .fa-solid.SUNFLOWER,
357
+ .fa-regular.SUNFLOWER,
358
+ .fa-duotone.SUNFLOWER,
359
+ .fa-light.SUNFLOWER,
360
+ .fa-thin.SUNFLOWER,
361
+ .iziToast>.iziToast-body .iziToast-icon.SUNFLOWER {
362
+ color: #f1c40f;
363
+ }
364
+ .fa.CARROT,
365
+ .fas.CARROT,
366
+ .far.CARROT,
367
+ .fad.CARROT,
368
+ .fal.CARROT,
369
+ .fa-solid.CARROT,
370
+ .fa-regular.CARROT,
371
+ .fa-duotone.CARROT,
372
+ .fa-light.CARROT,
373
+ .fa-thin.CARROT,
374
+ .iziToast>.iziToast-body .iziToast-icon.CARROT {
375
+ color: #e67e22;
376
+ }
377
+ .fa.ALIZARIN,
378
+ .fas.ALIZARIN,
379
+ .far.ALIZARIN,
380
+ .fad.ALIZARIN,
381
+ .fal.ALIZARIN,
382
+ .fa-solid.ALIZARIN,
383
+ .fa-regular.ALIZARIN,
384
+ .fa-duotone.ALIZARIN,
385
+ .fa-light.ALIZARIN,
386
+ .fa-thin.ALIZARIN,
387
+ .iziToast>.iziToast-body .iziToast-icon.ALIZARIN {
388
+ color: #e74c3c;
389
+ }
390
+ .fa.CLOUDS,
391
+ .fas.CLOUDS,
392
+ .far.CLOUDS,
393
+ .fad.CLOUDS,
394
+ .fal.CLOUDS,
395
+ .fa-solid.CLOUDS,
396
+ .fa-regular.CLOUDS,
397
+ .fa-duotone.CLOUDS,
398
+ .fa-light.CLOUDS,
399
+ .fa-thin.CLOUDS,
400
+ .iziToast>.iziToast-body .iziToast-icon.CLOUDS {
401
+ color: #ecf0f1;
402
+ }
403
+ .fa.CONCRETE,
404
+ .fas.CONCRETE,
405
+ .far.CONCRETE,
406
+ .fad.CONCRETE,
407
+ .fal.CONCRETE,
408
+ .fa-solid.CONCRETE,
409
+ .fa-regular.CONCRETE,
410
+ .fa-duotone.CONCRETE,
411
+ .fa-light.CONCRETE,
412
+ .fa-thin.CONCRETE,
413
+ .iziToast>.iziToast-body .iziToast-icon.CONCRETE {
414
+ color: #95a5a6;
415
+ }
416
+ .fa.ORANGE,
417
+ .fas.ORANGE,
418
+ .far.ORANGE,
419
+ .fad.ORANGE,
420
+ .fal.ORANGE,
421
+ .fa-solid.ORANGE,
422
+ .fa-regular.ORANGE,
423
+ .fa-duotone.ORANGE,
424
+ .fa-light.ORANGE,
425
+ .fa-thin.ORANGE,
426
+ .iziToast>.iziToast-body .iziToast-icon.ORANGE {
427
+ color: #f39c12;
428
+ }
429
+ .fa.PUMPKIN,
430
+ .fas.PUMPKIN,
431
+ .far.PUMPKIN,
432
+ .fad.PUMPKIN,
433
+ .fal.PUMPKIN,
434
+ .fa-solid.PUMPKIN,
435
+ .fa-regular.PUMPKIN,
436
+ .fa-duotone.PUMPKIN,
437
+ .fa-light.PUMPKIN,
438
+ .fa-thin.PUMPKIN,
439
+ .iziToast>.iziToast-body .iziToast-icon.PUMPKIN {
440
+ color: #d35400;
441
+ }
442
+ .fa.POMEGRANATE,
443
+ .fas.POMEGRANATE,
444
+ .far.POMEGRANATE,
445
+ .fad.POMEGRANATE,
446
+ .fal.POMEGRANATE,
447
+ .fa-solid.POMEGRANATE,
448
+ .fa-regular.POMEGRANATE,
449
+ .fa-duotone.POMEGRANATE,
450
+ .fa-light.POMEGRANATE,
451
+ .fa-thin.POMEGRANATE,
452
+ .iziToast>.iziToast-body .iziToast-icon.POMEGRANATE {
453
+ color: #c0392b;
454
+ }
455
+ .fa.SILVER,
456
+ .fas.SILVER,
457
+ .far.SILVER,
458
+ .fad.SILVER,
459
+ .fal.SILVER,
460
+ .fa-solid.SILVER,
461
+ .fa-regular.SILVER,
462
+ .fa-duotone.SILVER,
463
+ .fa-light.SILVER,
464
+ .fa-thin.SILVER,
465
+ .iziToast>.iziToast-body .iziToast-icon.SILVER {
466
+ color: #bdc3c7;
467
+ }
468
+ .fa.ASBESTOS,
469
+ .fas.ASBESTOS,
470
+ .far.ASBESTOS,
471
+ .fad.ASBESTOS,
472
+ .fal.ASBESTOS,
473
+ .fa-solid.ASBESTOS,
474
+ .fa-regular.ASBESTOS,
475
+ .fa-duotone.ASBESTOS,
476
+ .fa-light.ASBESTOS,
477
+ .fa-thin.ASBESTOS,
478
+ .iziToast>.iziToast-body .iziToast-icon.ASBESTOS {
479
+ color: #7f8c8d;
480
+ }
481
+ .new-meta-box,
482
+ .article-title,
483
+ .prev-next,
484
+ .meta-v3,
485
+ .md .footer .header,
486
+ .widget header,
487
+ details summary {
488
+ font-family: "Varela Round", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, Helvetica, monospace;
489
+ }
490
+ :root {
491
+ --color-site-body: #f4f4f4;
492
+ --color-site-bg: #f4f4f4;
493
+ --color-site-inner: #fff;
494
+ --color-site-footer: #666;
495
+ --color-card: #fff;
496
+ --color-text: #444;
497
+ --color-block: #f4f4f4;
498
+ --color-inlinecode: #444;
499
+ --color-codeblock: #f4f4f4;
500
+ --color-h1: #3a3a3a;
501
+ --color-h2: #3a3a3a;
502
+ --color-h3: #333;
503
+ --color-h4: #444;
504
+ --color-h5: #555;
505
+ --color-h6: #666;
506
+ --color-p: #444;
507
+ --color-list: #666;
508
+ --color-list-hl: #30ad91;
509
+ --color-meta: #888;
510
+ --color-read-bkg: #e0d8c8;
511
+ --color-read-post: #f8f1e2;
512
+ --color-copyright-bkg: #f5f5f5;
513
+ --color-white-png: #fff;
514
+ --color-img-error: #f5f5f5;
515
+ }
516
+ * {
517
+ box-sizing: border-box;
518
+ -webkit-box-sizing: border-box;
519
+ -moz-box-sizing: border-box;
520
+ outline: none;
521
+ margin: 0;
522
+ padding: 0;
523
+ }
524
+ *::-webkit-scrollbar {
525
+ height: 4px;
526
+ width: 4px;
527
+ }
528
+ *::-webkit-scrollbar-track-piece {
529
+ background: transparent;
530
+ }
531
+ *::-webkit-scrollbar-thumb {
532
+ background: #3dd9b6;
533
+ cursor: pointer;
534
+ border-radius: 2px;
535
+ -webkit-border-radius: 2px;
536
+ }
537
+ *::-webkit-scrollbar-thumb:hover {
538
+ background: #ff5722;
539
+ }
540
+ html {
541
+ color: var(--color-text);
542
+ width: 100%;
543
+ height: 100%;
544
+ font-family: UbuntuMono, "Varela Round", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, Menlo, Monaco, monospace, sans-serif;
545
+ font-size: 16px;
546
+ }
547
+ html >::-webkit-scrollbar {
548
+ height: 4px;
549
+ width: 4px;
550
+ }
551
+ html >::-webkit-scrollbar-track-piece {
552
+ background: transparent;
553
+ }
554
+ html >::-webkit-scrollbar-thumb {
555
+ background: #3dd9b6;
556
+ cursor: pointer;
557
+ border-radius: 2px;
558
+ -webkit-border-radius: 2px;
559
+ }
560
+ html >::-webkit-scrollbar-thumb:hover {
561
+ background: #ff5722;
562
+ }
563
+ body {
564
+ background-color: var(--color-site-body);
565
+ text-rendering: optimizelegibility;
566
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
567
+ line-height: 1.6;
568
+ -webkit-text-size-adjust: 100%;
569
+ -ms-text-size-adjust: 100%;
570
+ }
571
+ body.modal-active {
572
+ overflow: hidden;
573
+ }
574
+ @media screen and (max-width: 680px) {
575
+ body.modal-active {
576
+ position: fixed;
577
+ top: 0;
578
+ right: 0;
579
+ bottom: 0;
580
+ left: 0;
581
+ }
582
+ }
583
+ a {
584
+ color: #2092ec;
585
+ cursor: pointer;
586
+ text-decoration: none;
587
+ transition: all 0.28s ease;
588
+ -webkit-transition: all 0.28s ease;
589
+ -khtml-transition: all 0.28s ease;
590
+ -moz-transition: all 0.28s ease;
591
+ -o-transition: all 0.28s ease;
592
+ -ms-transition: all 0.28s ease;
593
+ }
594
+ a:active,
595
+ a:hover {
596
+ outline: 0;
597
+ }
598
+ ul,
599
+ ol {
600
+ padding-left: 0;
601
+ }
602
+ ul li,
603
+ ol li {
604
+ list-style: none;
605
+ }
606
+ header {
607
+ display: block;
608
+ }
609
+ img {
610
+ border: 0;
611
+ background: none;
612
+ max-width: 100%;
613
+ }
614
+ svg:not(:root) {
615
+ overflow: hidden;
616
+ }
617
+ hr {
618
+ -moz-box-sizing: content-box;
619
+ box-sizing: content-box;
620
+ -webkit-box-sizing: content-box;
621
+ -moz-box-sizing: content-box;
622
+ height: 0;
623
+ border: 0;
624
+ border-radius: 1px;
625
+ -webkit-border-radius: 1px;
626
+ border-bottom: 1px solid rgba(68,68,68,0.1);
627
+ }
628
+ article hr {
629
+ background-image: none;
630
+ height: 2em;
631
+ border: none;
632
+ margin: 1em 0 1em;
633
+ text-align: center;
634
+ }
635
+ article hr:after {
636
+ content: "···";
637
+ letter-spacing: 2em;
638
+ padding-left: 2em;
639
+ font-weight: 700;
640
+ }
641
+ button,
642
+ input {
643
+ color: inherit;
644
+ font: inherit;
645
+ margin: 0;
646
+ }
647
+ button {
648
+ overflow: visible;
649
+ text-transform: none;
650
+ -webkit-appearance: button;
651
+ cursor: pointer;
652
+ }
653
+ @supports (backdrop-filter: blur(20px)) {
654
+ .blur {
655
+ background: rgba(255,255,255,0.9) !important;
656
+ backdrop-filter: saturate(200%) blur(20px);
657
+ }
658
+ }
659
+ @supports (backdrop-filter: blur(20px)) {
660
+ .blur#comments {
661
+ backdrop-filter: unset;
662
+ }
663
+ }
664
+ .shadow {
665
+ box-shadow: 0 1px 2px 0px rgba(0,0,0,0.1);
666
+ -webkit-box-shadow: 0 1px 2px 0px rgba(0,0,0,0.1);
667
+ }
668
+ .shadow.floatable {
669
+ transition: all 0.28s ease;
670
+ -webkit-transition: all 0.28s ease;
671
+ -khtml-transition: all 0.28s ease;
672
+ -moz-transition: all 0.28s ease;
673
+ -o-transition: all 0.28s ease;
674
+ -ms-transition: all 0.28s ease;
675
+ }
676
+ .shadow.floatable:hover {
677
+ box-shadow: 0 2px 4px 0px rgba(0,0,0,0.1), 0 4px 8px 0px rgba(0,0,0,0.1), 0 8px 16px 0px rgba(0,0,0,0.1);
678
+ -webkit-box-shadow: 0 2px 4px 0px rgba(0,0,0,0.1), 0 4px 8px 0px rgba(0,0,0,0.1), 0 8px 16px 0px rgba(0,0,0,0.1);
679
+ }
680
+ #l_cover {
681
+ min-height: 64px;
682
+ }
683
+ .cover-wrapper {
684
+ top: 0;
685
+ left: 0;
686
+ max-width: 100%;
687
+ height: 100vh;
688
+ display: flex;
689
+ flex-wrap: nowrap;
690
+ -webkit-flex-wrap: nowrap;
691
+ -khtml-flex-wrap: nowrap;
692
+ -moz-flex-wrap: nowrap;
693
+ -o-flex-wrap: nowrap;
694
+ -ms-flex-wrap: nowrap;
695
+ -webkit-box-direction: normal;
696
+ -moz-box-direction: normal;
697
+ -webkit-box-orient: vertical;
698
+ -moz-box-orient: vertical;
699
+ -webkit-flex-direction: column;
700
+ -ms-flex-direction: column;
701
+ flex-direction: column;
702
+ align-items: center;
703
+ align-self: center;
704
+ align-content: center;
705
+ color: var(--color-site-inner);
706
+ padding: 0 16px;
707
+ user-select: none;
708
+ -webkit-user-select: none;
709
+ -moz-user-select: none;
710
+ -ms-user-select: none;
711
+ position: relative;
712
+ overflow: hidden;
713
+ margin-bottom: -100px;
714
+ }
715
+ .cover-wrapper .cover-bg {
716
+ position: absolute;
717
+ width: 100%;
718
+ height: 100%;
719
+ background-position: center;
720
+ background-size: cover;
721
+ -webkit-background-size: cover;
722
+ -moz-background-size: cover;
723
+ }
724
+ .cover-wrapper .cover-bg.lazyload:not(.loaded) {
725
+ opacity: 0;
726
+ -webkit-opacity: 0;
727
+ -moz-opacity: 0;
728
+ }
729
+ .cover-wrapper .cover-bg.lazyload.loaded {
730
+ animation-delay: 0s;
731
+ animation-duration: 0.5s;
732
+ animation-fill-mode: forwards;
733
+ animation-timing-function: ease-out;
734
+ animation-name: fadeIn;
735
+ }
736
+ @-moz-keyframes fadeIn {
737
+ 0% {
738
+ opacity: 0;
739
+ -webkit-opacity: 0;
740
+ -moz-opacity: 0;
741
+ filter: blur(12px);
742
+ transform: scale(1.02);
743
+ -webkit-transform: scale(1.02);
744
+ -khtml-transform: scale(1.02);
745
+ -moz-transform: scale(1.02);
746
+ -o-transform: scale(1.02);
747
+ -ms-transform: scale(1.02);
748
+ }
749
+ 100% {
750
+ opacity: 1;
751
+ -webkit-opacity: 1;
752
+ -moz-opacity: 1;
753
+ }
754
+ }
755
+ @-webkit-keyframes fadeIn {
756
+ 0% {
757
+ opacity: 0;
758
+ -webkit-opacity: 0;
759
+ -moz-opacity: 0;
760
+ filter: blur(12px);
761
+ transform: scale(1.02);
762
+ -webkit-transform: scale(1.02);
763
+ -khtml-transform: scale(1.02);
764
+ -moz-transform: scale(1.02);
765
+ -o-transform: scale(1.02);
766
+ -ms-transform: scale(1.02);
767
+ }
768
+ 100% {
769
+ opacity: 1;
770
+ -webkit-opacity: 1;
771
+ -moz-opacity: 1;
772
+ }
773
+ }
774
+ @-o-keyframes fadeIn {
775
+ 0% {
776
+ opacity: 0;
777
+ -webkit-opacity: 0;
778
+ -moz-opacity: 0;
779
+ filter: blur(12px);
780
+ transform: scale(1.02);
781
+ -webkit-transform: scale(1.02);
782
+ -khtml-transform: scale(1.02);
783
+ -moz-transform: scale(1.02);
784
+ -o-transform: scale(1.02);
785
+ -ms-transform: scale(1.02);
786
+ }
787
+ 100% {
788
+ opacity: 1;
789
+ -webkit-opacity: 1;
790
+ -moz-opacity: 1;
791
+ }
792
+ }
793
+ @keyframes fadeIn {
794
+ 0% {
795
+ opacity: 0;
796
+ -webkit-opacity: 0;
797
+ -moz-opacity: 0;
798
+ filter: blur(12px);
799
+ transform: scale(1.02);
800
+ -webkit-transform: scale(1.02);
801
+ -khtml-transform: scale(1.02);
802
+ -moz-transform: scale(1.02);
803
+ -o-transform: scale(1.02);
804
+ -ms-transform: scale(1.02);
805
+ }
806
+ 100% {
807
+ opacity: 1;
808
+ -webkit-opacity: 1;
809
+ -moz-opacity: 1;
810
+ }
811
+ }
812
+ .cover-wrapper .cover-body {
813
+ z-index: 1;
814
+ position: relative;
815
+ width: 100%;
816
+ height: 100%;
817
+ }
818
+ .cover-wrapper#full {
819
+ height: calc(100vh + 100px);
820
+ padding-bottom: 100px;
821
+ }
822
+ .cover-wrapper#half {
823
+ max-height: 640px;
824
+ min-height: 460px;
825
+ height: calc(36vh - 64px + 200px);
826
+ }
827
+ .cover-wrapper #scroll-down {
828
+ width: 100%;
829
+ height: 64px;
830
+ position: absolute;
831
+ bottom: 100px;
832
+ text-align: center;
833
+ cursor: pointer;
834
+ }
835
+ .cover-wrapper #scroll-down .scroll-down-effects {
836
+ color: #fff;
837
+ font-size: 24px;
838
+ line-height: 64px;
839
+ position: absolute;
840
+ width: 24px;
841
+ left: calc(50% - 12px);
842
+ text-shadow: 0 1px 2px rgba(0,0,0,0.1);
843
+ animation: scroll-down-effect 1.5s infinite;
844
+ -webkit-animation: scroll-down-effect 1.5s infinite;
845
+ -khtml-animation: scroll-down-effect 1.5s infinite;
846
+ -moz-animation: scroll-down-effect 1.5s infinite;
847
+ -o-animation: scroll-down-effect 1.5s infinite;
848
+ -ms-animation: scroll-down-effect 1.5s infinite;
849
+ }
850
+ @-moz-keyframes scroll-down-effect {
851
+ 0% {
852
+ top: 0;
853
+ opacity: 1;
854
+ -webkit-opacity: 1;
855
+ -moz-opacity: 1;
856
+ }
857
+ 50% {
858
+ top: -16px;
859
+ opacity: 0.4;
860
+ -webkit-opacity: 0.4;
861
+ -moz-opacity: 0.4;
862
+ }
863
+ 100% {
864
+ top: 0;
865
+ opacity: 1;
866
+ -webkit-opacity: 1;
867
+ -moz-opacity: 1;
868
+ }
869
+ }
870
+ @-webkit-keyframes scroll-down-effect {
871
+ 0% {
872
+ top: 0;
873
+ opacity: 1;
874
+ -webkit-opacity: 1;
875
+ -moz-opacity: 1;
876
+ }
877
+ 50% {
878
+ top: -16px;
879
+ opacity: 0.4;
880
+ -webkit-opacity: 0.4;
881
+ -moz-opacity: 0.4;
882
+ }
883
+ 100% {
884
+ top: 0;
885
+ opacity: 1;
886
+ -webkit-opacity: 1;
887
+ -moz-opacity: 1;
888
+ }
889
+ }
890
+ @-o-keyframes scroll-down-effect {
891
+ 0% {
892
+ top: 0;
893
+ opacity: 1;
894
+ -webkit-opacity: 1;
895
+ -moz-opacity: 1;
896
+ }
897
+ 50% {
898
+ top: -16px;
899
+ opacity: 0.4;
900
+ -webkit-opacity: 0.4;
901
+ -moz-opacity: 0.4;
902
+ }
903
+ 100% {
904
+ top: 0;
905
+ opacity: 1;
906
+ -webkit-opacity: 1;
907
+ -moz-opacity: 1;
908
+ }
909
+ }
910
+ @keyframes scroll-down-effect {
911
+ 0% {
912
+ top: 0;
913
+ opacity: 1;
914
+ -webkit-opacity: 1;
915
+ -moz-opacity: 1;
916
+ }
917
+ 50% {
918
+ top: -16px;
919
+ opacity: 0.4;
920
+ -webkit-opacity: 0.4;
921
+ -moz-opacity: 0.4;
922
+ }
923
+ 100% {
924
+ top: 0;
925
+ opacity: 1;
926
+ -webkit-opacity: 1;
927
+ -moz-opacity: 1;
928
+ }
929
+ }
930
+ .cover-wrapper .cover-body {
931
+ margin-top: 64px;
932
+ margin-bottom: 120px;
933
+ }
934
+ .cover-wrapper .cover-body,
935
+ .cover-wrapper .cover-body .top,
936
+ .cover-wrapper .cover-body .bottom {
937
+ display: flex;
938
+ -webkit-box-direction: normal;
939
+ -moz-box-direction: normal;
940
+ -webkit-box-orient: vertical;
941
+ -moz-box-orient: vertical;
942
+ -webkit-flex-direction: column;
943
+ -ms-flex-direction: column;
944
+ flex-direction: column;
945
+ align-items: center;
946
+ justify-content: center;
947
+ -webkit-justify-content: center;
948
+ -khtml-justify-content: center;
949
+ -moz-justify-content: center;
950
+ -o-justify-content: center;
951
+ -ms-justify-content: center;
952
+ max-width: 100%;
953
+ }
954
+ .cover-wrapper .cover-body .bottom {
955
+ margin-top: 32px;
956
+ }
957
+ .cover-wrapper .cover-body .title {
958
+ font-family: "Varela Round", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, Helvetica, monospace;
959
+ font-size: 3.125rem;
960
+ text-shadow: 0 1px 2px rgba(0,0,0,0.1);
961
+ text-align: center;
962
+ }
963
+ .cover-wrapper .cover-body .subtitle {
964
+ font-size: 16px;
965
+ }
966
+ .cover-wrapper .cover-body .logo {
967
+ max-height: 120px;
968
+ max-width: calc(100% - 4 * 16px);
969
+ }
970
+ @media screen and (min-height: 1024px) {
971
+ .cover-wrapper .cover-body .title {
972
+ font-size: 3rem;
973
+ }
974
+ .cover-wrapper .cover-body .subtitle {
975
+ font-size: 0.875rem;
976
+ }
977
+ .cover-wrapper .cover-body .logo {
978
+ max-height: 150px;
979
+ }
980
+ }
981
+ .cover-wrapper .cover-body .m_search {
982
+ position: relative;
983
+ max-width: calc(100% - 16px);
984
+ width: 320px;
985
+ vertical-align: middle;
986
+ }
987
+ .cover-wrapper .cover-body .m_search .form {
988
+ position: relative;
989
+ display: block;
990
+ width: 100%;
991
+ }
992
+ .cover-wrapper .cover-body .m_search .icon,
993
+ .cover-wrapper .cover-body .m_search .input {
994
+ transition: all 0.28s ease;
995
+ -webkit-transition: all 0.28s ease;
996
+ -khtml-transition: all 0.28s ease;
997
+ -moz-transition: all 0.28s ease;
998
+ -o-transition: all 0.28s ease;
999
+ -ms-transition: all 0.28s ease;
1000
+ }
1001
+ .cover-wrapper .cover-body .m_search .icon {
1002
+ position: absolute;
1003
+ display: block;
1004
+ line-height: 2.5rem;
1005
+ width: 32px;
1006
+ top: 0;
1007
+ left: 5px;
1008
+ color: rgba(68,68,68,0.75);
1009
+ }
1010
+ .cover-wrapper .cover-body .m_search .input {
1011
+ display: block;
1012
+ height: 2.5rem;
1013
+ width: 100%;
1014
+ box-shadow: none;
1015
+ -webkit-box-shadow: none;
1016
+ box-sizing: border-box;
1017
+ -webkit-box-sizing: border-box;
1018
+ -moz-box-sizing: border-box;
1019
+ font-size: 0.875rem;
1020
+ -webkit-appearance: none;
1021
+ padding-left: 36px;
1022
+ border-radius: 1.4rem;
1023
+ -webkit-border-radius: 1.4rem;
1024
+ background: rgba(255,255,255,0.6);
1025
+ backdrop-filter: blur(10px);
1026
+ border: none;
1027
+ color: var(--color-text);
1028
+ }
1029
+ @media screen and (max-width: 500px) {
1030
+ .cover-wrapper .cover-body .m_search .input {
1031
+ padding-left: 36px;
1032
+ }
1033
+ }
1034
+ .cover-wrapper .cover-body .m_search .input:hover {
1035
+ background: rgba(255,255,255,0.8);
1036
+ }
1037
+ .cover-wrapper .cover-body .m_search .input:focus {
1038
+ background: #fff;
1039
+ }
1040
+ .cover-wrapper .list-h {
1041
+ display: flex;
1042
+ -webkit-box-direction: normal;
1043
+ -moz-box-direction: normal;
1044
+ -webkit-box-orient: horizontal;
1045
+ -moz-box-orient: horizontal;
1046
+ -webkit-flex-direction: row;
1047
+ -ms-flex-direction: row;
1048
+ flex-direction: row;
1049
+ flex-wrap: wrap;
1050
+ -webkit-flex-wrap: wrap;
1051
+ -khtml-flex-wrap: wrap;
1052
+ -moz-flex-wrap: wrap;
1053
+ -o-flex-wrap: wrap;
1054
+ -ms-flex-wrap: wrap;
1055
+ align-items: stretch;
1056
+ border-radius: 4px;
1057
+ -webkit-border-radius: 4px;
1058
+ user-select: none;
1059
+ -webkit-user-select: none;
1060
+ -moz-user-select: none;
1061
+ -ms-user-select: none;
1062
+ }
1063
+ .cover-wrapper .list-h a {
1064
+ -webkit-box-flex: 1;
1065
+ -moz-box-flex: 1;
1066
+ -webkit-flex: 1 0;
1067
+ -ms-flex: 1 0;
1068
+ flex: 1 0;
1069
+ display: flex;
1070
+ font-weight: 600;
1071
+ }
1072
+ .cover-wrapper .list-h a img {
1073
+ display: block;
1074
+ border-radius: 2px;
1075
+ -webkit-border-radius: 2px;
1076
+ margin: 4px;
1077
+ min-width: 40px;
1078
+ max-width: 44px;
1079
+ }
1080
+ @media screen and (max-width: 768px) {
1081
+ .cover-wrapper .list-h a img {
1082
+ min-width: 36px;
1083
+ max-width: 40px;
1084
+ }
1085
+ }
1086
+ @media screen and (max-width: 500px) {
1087
+ .cover-wrapper .list-h a img {
1088
+ margin: 2px 4px;
1089
+ min-width: 32px;
1090
+ max-width: 36px;
1091
+ }
1092
+ }
1093
+ @media screen and (max-width: 375px) {
1094
+ .cover-wrapper .list-h a img {
1095
+ min-width: 28px;
1096
+ max-width: 32px;
1097
+ }
1098
+ }
1099
+ .cover-wrapper {
1100
+ max-width: 100%;
1101
+ }
1102
+ .cover-wrapper.search .bottom .menu {
1103
+ margin-top: 8px;
1104
+ }
1105
+ .cover-wrapper.search .bottom .menu .list-h a {
1106
+ white-space: nowrap;
1107
+ -webkit-box-direction: normal;
1108
+ -moz-box-direction: normal;
1109
+ -webkit-box-orient: horizontal;
1110
+ -moz-box-orient: horizontal;
1111
+ -webkit-flex-direction: row;
1112
+ -ms-flex-direction: row;
1113
+ flex-direction: row;
1114
+ align-items: baseline;
1115
+ padding: 2px;
1116
+ margin: 4px;
1117
+ color: var(--color-site-inner);
1118
+ opacity: 0.75;
1119
+ -webkit-opacity: 0.75;
1120
+ -moz-opacity: 0.75;
1121
+ text-shadow: 0 1px 2px rgba(0,0,0,0.05);
1122
+ border-bottom: 2px solid transparent;
1123
+ }
1124
+ .cover-wrapper.search .bottom .menu .list-h a i {
1125
+ margin-right: 4px;
1126
+ }
1127
+ .cover-wrapper.search .bottom .menu .list-h a p {
1128
+ font-size: 0.9375rem;
1129
+ }
1130
+ .cover-wrapper.search .bottom .menu .list-h a:hover,
1131
+ .cover-wrapper.search .bottom .menu .list-h a.active,
1132
+ .cover-wrapper.search .bottom .menu .list-h a:active {
1133
+ opacity: 1;
1134
+ -webkit-opacity: 1;
1135
+ -moz-opacity: 1;
1136
+ border-bottom: 2px solid var(--color-site-inner);
1137
+ }
1138
+ @font-face {
1139
+ font-family: 'UbuntuMono';
1140
+ src: url("https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/fonts/UbuntuMono/UbuntuMono-Regular.ttf");
1141
+ font-weight: 'normal';
1142
+ font-style: 'normal';
1143
+ font-display: swap;
1144
+ }
1145
+ @font-face {
1146
+ font-family: 'Varela Round';
1147
+ src: url("https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/fonts/VarelaRound/VarelaRound-Regular.ttf");
1148
+ font-weight: 'normal';
1149
+ font-style: 'normal';
1150
+ font-display: swap;
1151
+ }
1152
+ .l_header {
1153
+ position: fixed;
1154
+ z-index: 1000;
1155
+ top: 0;
1156
+ width: 100%;
1157
+ height: 64px;
1158
+ background: var(--color-card);
1159
+ box-shadow: 0 1px 2px 0px rgba(0,0,0,0.1);
1160
+ -webkit-box-shadow: 0 1px 2px 0px rgba(0,0,0,0.1);
1161
+ }
1162
+ .l_header.auto {
1163
+ transition: opacity 0.4s ease;
1164
+ -webkit-transition: opacity 0.4s ease;
1165
+ -khtml-transition: opacity 0.4s ease;
1166
+ -moz-transition: opacity 0.4s ease;
1167
+ -o-transition: opacity 0.4s ease;
1168
+ -ms-transition: opacity 0.4s ease;
1169
+ visibility: hidden;
1170
+ }
1171
+ .l_header.auto.showed {
1172
+ opacity: 1 !important;
1173
+ -webkit-opacity: 1 !important;
1174
+ -moz-opacity: 1 !important;
1175
+ visibility: visible;
1176
+ }
1177
+ .l_header .container {
1178
+ margin-left: 16px;
1179
+ margin-right: 16px;
1180
+ }
1181
+ .l_header #wrapper {
1182
+ height: 100%;
1183
+ user-select: none;
1184
+ -webkit-user-select: none;
1185
+ -moz-user-select: none;
1186
+ -ms-user-select: none;
1187
+ }
1188
+ .l_header #wrapper .nav-main,
1189
+ .l_header #wrapper .nav-sub {
1190
+ display: flex;
1191
+ flex-wrap: nowrap;
1192
+ -webkit-flex-wrap: nowrap;
1193
+ -khtml-flex-wrap: nowrap;
1194
+ -moz-flex-wrap: nowrap;
1195
+ -o-flex-wrap: nowrap;
1196
+ -ms-flex-wrap: nowrap;
1197
+ justify-content: space-between;
1198
+ -webkit-justify-content: space-between;
1199
+ -khtml-justify-content: space-between;
1200
+ -moz-justify-content: space-between;
1201
+ -o-justify-content: space-between;
1202
+ -ms-justify-content: space-between;
1203
+ align-items: center;
1204
+ }
1205
+ .l_header #wrapper .nav-main {
1206
+ transition: all 0.28s ease;
1207
+ -webkit-transition: all 0.28s ease;
1208
+ -khtml-transition: all 0.28s ease;
1209
+ -moz-transition: all 0.28s ease;
1210
+ -o-transition: all 0.28s ease;
1211
+ -ms-transition: all 0.28s ease;
1212
+ }
1213
+ .l_header #wrapper.sub .nav-main {
1214
+ transform: translateY(-64px);
1215
+ -webkit-transform: translateY(-64px);
1216
+ -khtml-transform: translateY(-64px);
1217
+ -moz-transform: translateY(-64px);
1218
+ -o-transform: translateY(-64px);
1219
+ -ms-transform: translateY(-64px);
1220
+ }
1221
+ .l_header #wrapper .nav-sub {
1222
+ transition: all 0.28s ease;
1223
+ -webkit-transition: all 0.28s ease;
1224
+ -khtml-transition: all 0.28s ease;
1225
+ -moz-transition: all 0.28s ease;
1226
+ -o-transition: all 0.28s ease;
1227
+ -ms-transition: all 0.28s ease;
1228
+ opacity: 0;
1229
+ -webkit-opacity: 0;
1230
+ -moz-opacity: 0;
1231
+ height: 64px;
1232
+ width: calc(100% - 2 * 16px);
1233
+ position: absolute;
1234
+ }
1235
+ .l_header #wrapper .nav-sub ::-webkit-scrollbar {
1236
+ display: none;
1237
+ }
1238
+ @media screen and (min-width: 2048px) {
1239
+ .l_header #wrapper .nav-sub {
1240
+ max-width: 55vw;
1241
+ margin: auto;
1242
+ }
1243
+ }
1244
+ .l_header #wrapper.sub .nav-sub {
1245
+ opacity: 1;
1246
+ -webkit-opacity: 1;
1247
+ -moz-opacity: 1;
1248
+ }
1249
+ .l_header #wrapper .title {
1250
+ position: relative;
1251
+ color: var(--color-text);
1252
+ padding-left: 24px;
1253
+ max-height: 64px;
1254
+ }
1255
+ .l_header #wrapper .nav-main .title {
1256
+ white-space: nowrap;
1257
+ overflow: hidden;
1258
+ text-overflow: ellipsis;
1259
+ flex-shrink: 0;
1260
+ line-height: 64px;
1261
+ padding: 0 8px;
1262
+ font-size: 1.25rem;
1263
+ font-family: "Varela Round", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, Helvetica, monospace;
1264
+ }
1265
+ .l_header #wrapper .nav-main .title img {
1266
+ height: 64px;
1267
+ padding: 8px;
1268
+ }
1269
+ .l_header .nav-sub {
1270
+ max-width: 1080px;
1271
+ margin: auto;
1272
+ }
1273
+ .l_header .nav-sub .title {
1274
+ font-weight: bold;
1275
+ font-family: UbuntuMono, "Varela Round", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, Menlo, Monaco, monospace, sans-serif;
1276
+ line-height: 1.2;
1277
+ max-height: 64px;
1278
+ white-space: normal;
1279
+ flex-shrink: 1;
1280
+ }
1281
+ .l_header .switcher {
1282
+ display: none;
1283
+ line-height: 64px;
1284
+ align-items: center;
1285
+ }
1286
+ .l_header .switcher .s-toc {
1287
+ display: none;
1288
+ }
1289
+ @media screen and (max-width: 768px) {
1290
+ .l_header .switcher .s-toc {
1291
+ display: flex;
1292
+ }
1293
+ }
1294
+ .l_header .switcher >li {
1295
+ height: 48px;
1296
+ transition: all 0.28s ease;
1297
+ -webkit-transition: all 0.28s ease;
1298
+ -khtml-transition: all 0.28s ease;
1299
+ -moz-transition: all 0.28s ease;
1300
+ -o-transition: all 0.28s ease;
1301
+ -ms-transition: all 0.28s ease;
1302
+ margin: 2px;
1303
+ }
1304
+ @media screen and (max-width: 500px) {
1305
+ .l_header .switcher >li {
1306
+ margin: 0 1px;
1307
+ height: 48px;
1308
+ }
1309
+ }
1310
+ .l_header .switcher >li >a {
1311
+ display: flex;
1312
+ justify-content: center;
1313
+ -webkit-justify-content: center;
1314
+ -khtml-justify-content: center;
1315
+ -moz-justify-content: center;
1316
+ -o-justify-content: center;
1317
+ -ms-justify-content: center;
1318
+ align-items: center;
1319
+ width: 48px;
1320
+ height: 48px;
1321
+ padding: 0.85em 1.1em;
1322
+ border-radius: 100px;
1323
+ -webkit-border-radius: 100px;
1324
+ border: none;
1325
+ transition: all 0.28s ease;
1326
+ -webkit-transition: all 0.28s ease;
1327
+ -khtml-transition: all 0.28s ease;
1328
+ -moz-transition: all 0.28s ease;
1329
+ -o-transition: all 0.28s ease;
1330
+ -ms-transition: all 0.28s ease;
1331
+ color: #3dd9b6;
1332
+ }
1333
+ .l_header .switcher >li >a:hover {
1334
+ border: none;
1335
+ }
1336
+ .l_header .switcher >li >a.active,
1337
+ .l_header .switcher >li >a:active {
1338
+ border: none;
1339
+ background: var(--color-site-bg);
1340
+ }
1341
+ @media screen and (max-width: 500px) {
1342
+ .l_header .switcher >li >a {
1343
+ width: 36px;
1344
+ height: 48px;
1345
+ }
1346
+ }
1347
+ .l_header .nav-sub .switcher {
1348
+ display: flex;
1349
+ }
1350
+ .l_header .m_search {
1351
+ display: flex;
1352
+ height: 64px;
1353
+ width: 240px;
1354
+ transition: all 0.28s ease;
1355
+ -webkit-transition: all 0.28s ease;
1356
+ -khtml-transition: all 0.28s ease;
1357
+ -moz-transition: all 0.28s ease;
1358
+ -o-transition: all 0.28s ease;
1359
+ -ms-transition: all 0.28s ease;
1360
+ }
1361
+ @media screen and (max-width: 1024px) {
1362
+ .l_header .m_search {
1363
+ width: 44px;
1364
+ min-width: 44px;
1365
+ }
1366
+ .l_header .m_search input::placeholder {
1367
+ opacity: 0;
1368
+ -webkit-opacity: 0;
1369
+ -moz-opacity: 0;
1370
+ }
1371
+ .l_header .m_search:hover {
1372
+ width: 240px;
1373
+ }
1374
+ .l_header .m_search:hover input::placeholder {
1375
+ opacity: 1;
1376
+ -webkit-opacity: 1;
1377
+ -moz-opacity: 1;
1378
+ }
1379
+ }
1380
+ @media screen and (min-width: 500px) {
1381
+ .l_header .m_search:hover .input {
1382
+ width: 100%;
1383
+ }
1384
+ .l_header .m_search:hover .input::placeholder {
1385
+ opacity: 1;
1386
+ -webkit-opacity: 1;
1387
+ -moz-opacity: 1;
1388
+ }
1389
+ }
1390
+ @media screen and (max-width: 500px) {
1391
+ .l_header .m_search {
1392
+ min-width: 0;
1393
+ }
1394
+ .l_header .m_search input::placeholder {
1395
+ opacity: 1;
1396
+ -webkit-opacity: 1;
1397
+ -moz-opacity: 1;
1398
+ }
1399
+ }
1400
+ .l_header .m_search .form {
1401
+ position: relative;
1402
+ display: flex;
1403
+ width: 100%;
1404
+ align-items: center;
1405
+ }
1406
+ .l_header .m_search .icon {
1407
+ position: absolute;
1408
+ width: 36px;
1409
+ left: 5px;
1410
+ color: var(--color-meta);
1411
+ }
1412
+ @media screen and (max-width: 500px) {
1413
+ .l_header .m_search .icon {
1414
+ display: none;
1415
+ }
1416
+ }
1417
+ .l_header .m_search .input {
1418
+ display: block;
1419
+ padding-top: 8px;
1420
+ padding-bottom: 8px;
1421
+ line-height: 1.3;
1422
+ width: 100%;
1423
+ color: var(--color-text);
1424
+ background: #fafafa;
1425
+ box-shadow: none;
1426
+ -webkit-box-shadow: none;
1427
+ box-sizing: border-box;
1428
+ -webkit-box-sizing: border-box;
1429
+ -moz-box-sizing: border-box;
1430
+ padding-left: 40px;
1431
+ font-size: 0.875rem;
1432
+ border-radius: 8px;
1433
+ -webkit-border-radius: 8px;
1434
+ border: none;
1435
+ transition: all 0.28s ease;
1436
+ -webkit-transition: all 0.28s ease;
1437
+ -khtml-transition: all 0.28s ease;
1438
+ -moz-transition: all 0.28s ease;
1439
+ -o-transition: all 0.28s ease;
1440
+ -ms-transition: all 0.28s ease;
1441
+ }
1442
+ @media screen and (min-width: 500px) {
1443
+ .l_header .m_search .input:focus {
1444
+ box-shadow: 0 4px 8px 0px rgba(0,0,0,0.1);
1445
+ -webkit-box-shadow: 0 4px 8px 0px rgba(0,0,0,0.1);
1446
+ }
1447
+ }
1448
+ @media screen and (max-width: 500px) {
1449
+ .l_header .m_search .input {
1450
+ background: var(--color-block);
1451
+ padding-left: 8px;
1452
+ border: none;
1453
+ }
1454
+ .l_header .m_search .input:hover,
1455
+ .l_header .m_search .input:focus {
1456
+ border: none;
1457
+ }
1458
+ }
1459
+ @media (max-width: 500px) {
1460
+ .l_header .m_search {
1461
+ left: 0;
1462
+ width: 0;
1463
+ overflow: hidden;
1464
+ position: absolute;
1465
+ background: #fff;
1466
+ transition: all 0.28s ease;
1467
+ -webkit-transition: all 0.28s ease;
1468
+ -khtml-transition: all 0.28s ease;
1469
+ -moz-transition: all 0.28s ease;
1470
+ -o-transition: all 0.28s ease;
1471
+ -ms-transition: all 0.28s ease;
1472
+ }
1473
+ .l_header .m_search .input {
1474
+ border-radius: 32px;
1475
+ -webkit-border-radius: 32px;
1476
+ margin-left: 16px;
1477
+ padding-left: 16px;
1478
+ }
1479
+ .l_header.z_search-open .m_search {
1480
+ width: 100%;
1481
+ }
1482
+ .l_header.z_search-open .m_search .input {
1483
+ width: calc(100% - 120px);
1484
+ }
1485
+ }
1486
+ ul.m-pc li:hover >ul.list-v,
1487
+ ul.list-v li:hover >ul.list-v {
1488
+ display: block;
1489
+ }
1490
+ ul.nav-list-h {
1491
+ display: flex;
1492
+ align-items: stretch;
1493
+ }
1494
+ ul.nav-list-h>li {
1495
+ position: relative;
1496
+ justify-content: center;
1497
+ -webkit-justify-content: center;
1498
+ -khtml-justify-content: center;
1499
+ -moz-justify-content: center;
1500
+ -o-justify-content: center;
1501
+ -ms-justify-content: center;
1502
+ height: 100%;
1503
+ line-height: 2.4;
1504
+ border-radius: 4px;
1505
+ -webkit-border-radius: 4px;
1506
+ }
1507
+ ul.nav-list-h>li > a {
1508
+ -webkit-font-smoothing: antialiased;
1509
+ -moz-osx-font-smoothing: grayscale;
1510
+ }
1511
+ ul.nav-list-h>li > a span {
1512
+ font-weight: 600;
1513
+ }
1514
+ ul.list-v {
1515
+ z-index: 1;
1516
+ display: none;
1517
+ position: absolute;
1518
+ background: var(--color-card);
1519
+ box-shadow: 0 2px 4px 0px rgba(0,0,0,0.08), 0 4px 8px 0px rgba(0,0,0,0.08), 0 8px 16px 0px rgba(0,0,0,0.08);
1520
+ -webkit-box-shadow: 0 2px 4px 0px rgba(0,0,0,0.08), 0 4px 8px 0px rgba(0,0,0,0.08), 0 8px 16px 0px rgba(0,0,0,0.08);
1521
+ margin-top: -6px;
1522
+ border-radius: 4px;
1523
+ -webkit-border-radius: 4px;
1524
+ padding: 8px 0;
1525
+ }
1526
+ ul.list-v.show {
1527
+ display: block;
1528
+ }
1529
+ ul.list-v hr {
1530
+ margin-top: 8px;
1531
+ margin-bottom: 8px;
1532
+ }
1533
+ ul.list-v >li {
1534
+ white-space: nowrap;
1535
+ word-break: keep-all;
1536
+ }
1537
+ ul.list-v >li.header {
1538
+ font-size: 0.78125rem;
1539
+ font-weight: bold;
1540
+ line-height: 2em;
1541
+ color: var(--color-meta);
1542
+ margin: 8px 16px 4px;
1543
+ }
1544
+ ul.list-v >li.header i {
1545
+ margin-right: 8px;
1546
+ }
1547
+ ul.list-v >li ul {
1548
+ margin-left: 0;
1549
+ display: none;
1550
+ margin-top: -40px;
1551
+ }
1552
+ ul.list-v .aplayer-container {
1553
+ min-height: 64px;
1554
+ padding: 6px 16px;
1555
+ }
1556
+ ul.list-v >li>a {
1557
+ transition: all 0.28s ease;
1558
+ -webkit-transition: all 0.28s ease;
1559
+ -khtml-transition: all 0.28s ease;
1560
+ -moz-transition: all 0.28s ease;
1561
+ -o-transition: all 0.28s ease;
1562
+ -ms-transition: all 0.28s ease;
1563
+ display: block;
1564
+ color: var(--color-list);
1565
+ font-size: 0.875rem;
1566
+ line-height: 36px;
1567
+ padding: 0 20px 0 16px;
1568
+ text-overflow: ellipsis;
1569
+ margin: 0 4px;
1570
+ border-radius: 4px;
1571
+ -webkit-border-radius: 4px;
1572
+ }
1573
+ @media screen and (max-width: 1024px) {
1574
+ ul.list-v >li>a {
1575
+ line-height: 40px;
1576
+ }
1577
+ }
1578
+ ul.list-v >li>a >i {
1579
+ margin-right: 8px;
1580
+ }
1581
+ ul.list-v >li>a:active,
1582
+ ul.list-v >li>a.active {
1583
+ color: var(--color-list-hl);
1584
+ }
1585
+ ul.list-v >li>a:hover {
1586
+ color: var(--color-list-hl);
1587
+ background: var(--color-site-bg);
1588
+ }
1589
+ .l_header .menu >ul>li>a {
1590
+ display: block;
1591
+ padding: 0 8px;
1592
+ display: flex;
1593
+ }
1594
+ .l_header .menu >ul>li>a .icon {
1595
+ width: 16px;
1596
+ margin-right: 6px;
1597
+ }
1598
+ .l_header .menu >ul>li>a .icon i {
1599
+ display: inline-block;
1600
+ }
1601
+ .l_header .menu >ul>li>ul .icon {
1602
+ width: 16px;
1603
+ margin-right: 2px;
1604
+ }
1605
+ .l_header .menu >ul>li>ul .icon i {
1606
+ display: inline-block;
1607
+ }
1608
+ .l_header ul.nav-list-h>li {
1609
+ color: var(--color-list);
1610
+ line-height: 64px;
1611
+ }
1612
+ .l_header ul.nav-list-h>li >a {
1613
+ max-height: 64px;
1614
+ overflow: hidden;
1615
+ color: inherit;
1616
+ }
1617
+ .l_header ul.nav-list-h>li >a:active span,
1618
+ .l_header ul.nav-list-h>li >a.active span {
1619
+ color: #3dd9b6;
1620
+ }
1621
+ .l_header ul.nav-list-h>li:hover>a {
1622
+ color: var(--color-list-hl);
1623
+ }
1624
+ .l_header ul.nav-list-h>li i.music {
1625
+ animation: rotate-effect 1.5s linear infinite;
1626
+ -webkit-animation: rotate-effect 1.5s linear infinite;
1627
+ -khtml-animation: rotate-effect 1.5s linear infinite;
1628
+ -moz-animation: rotate-effect 1.5s linear infinite;
1629
+ -o-animation: rotate-effect 1.5s linear infinite;
1630
+ -ms-animation: rotate-effect 1.5s linear infinite;
1631
+ }
1632
+ @-moz-keyframes rotate-effect {
1633
+ 0% {
1634
+ transform: rotate(0);
1635
+ -webkit-transform: rotate(0);
1636
+ -khtml-transform: rotate(0);
1637
+ -moz-transform: rotate(0);
1638
+ -o-transform: rotate(0);
1639
+ -ms-transform: rotate(0);
1640
+ }
1641
+ 25% {
1642
+ transform: rotate(90deg);
1643
+ -webkit-transform: rotate(90deg);
1644
+ -khtml-transform: rotate(90deg);
1645
+ -moz-transform: rotate(90deg);
1646
+ -o-transform: rotate(90deg);
1647
+ -ms-transform: rotate(90deg);
1648
+ }
1649
+ 50% {
1650
+ transform: rotate(180deg);
1651
+ -webkit-transform: rotate(180deg);
1652
+ -khtml-transform: rotate(180deg);
1653
+ -moz-transform: rotate(180deg);
1654
+ -o-transform: rotate(180deg);
1655
+ -ms-transform: rotate(180deg);
1656
+ }
1657
+ 75% {
1658
+ transform: rotate(270deg);
1659
+ -webkit-transform: rotate(270deg);
1660
+ -khtml-transform: rotate(270deg);
1661
+ -moz-transform: rotate(270deg);
1662
+ -o-transform: rotate(270deg);
1663
+ -ms-transform: rotate(270deg);
1664
+ }
1665
+ 100% {
1666
+ transform: rotate(360deg);
1667
+ -webkit-transform: rotate(360deg);
1668
+ -khtml-transform: rotate(360deg);
1669
+ -moz-transform: rotate(360deg);
1670
+ -o-transform: rotate(360deg);
1671
+ -ms-transform: rotate(360deg);
1672
+ }
1673
+ }
1674
+ @-webkit-keyframes rotate-effect {
1675
+ 0% {
1676
+ transform: rotate(0);
1677
+ -webkit-transform: rotate(0);
1678
+ -khtml-transform: rotate(0);
1679
+ -moz-transform: rotate(0);
1680
+ -o-transform: rotate(0);
1681
+ -ms-transform: rotate(0);
1682
+ }
1683
+ 25% {
1684
+ transform: rotate(90deg);
1685
+ -webkit-transform: rotate(90deg);
1686
+ -khtml-transform: rotate(90deg);
1687
+ -moz-transform: rotate(90deg);
1688
+ -o-transform: rotate(90deg);
1689
+ -ms-transform: rotate(90deg);
1690
+ }
1691
+ 50% {
1692
+ transform: rotate(180deg);
1693
+ -webkit-transform: rotate(180deg);
1694
+ -khtml-transform: rotate(180deg);
1695
+ -moz-transform: rotate(180deg);
1696
+ -o-transform: rotate(180deg);
1697
+ -ms-transform: rotate(180deg);
1698
+ }
1699
+ 75% {
1700
+ transform: rotate(270deg);
1701
+ -webkit-transform: rotate(270deg);
1702
+ -khtml-transform: rotate(270deg);
1703
+ -moz-transform: rotate(270deg);
1704
+ -o-transform: rotate(270deg);
1705
+ -ms-transform: rotate(270deg);
1706
+ }
1707
+ 100% {
1708
+ transform: rotate(360deg);
1709
+ -webkit-transform: rotate(360deg);
1710
+ -khtml-transform: rotate(360deg);
1711
+ -moz-transform: rotate(360deg);
1712
+ -o-transform: rotate(360deg);
1713
+ -ms-transform: rotate(360deg);
1714
+ }
1715
+ }
1716
+ @-o-keyframes rotate-effect {
1717
+ 0% {
1718
+ transform: rotate(0);
1719
+ -webkit-transform: rotate(0);
1720
+ -khtml-transform: rotate(0);
1721
+ -moz-transform: rotate(0);
1722
+ -o-transform: rotate(0);
1723
+ -ms-transform: rotate(0);
1724
+ }
1725
+ 25% {
1726
+ transform: rotate(90deg);
1727
+ -webkit-transform: rotate(90deg);
1728
+ -khtml-transform: rotate(90deg);
1729
+ -moz-transform: rotate(90deg);
1730
+ -o-transform: rotate(90deg);
1731
+ -ms-transform: rotate(90deg);
1732
+ }
1733
+ 50% {
1734
+ transform: rotate(180deg);
1735
+ -webkit-transform: rotate(180deg);
1736
+ -khtml-transform: rotate(180deg);
1737
+ -moz-transform: rotate(180deg);
1738
+ -o-transform: rotate(180deg);
1739
+ -ms-transform: rotate(180deg);
1740
+ }
1741
+ 75% {
1742
+ transform: rotate(270deg);
1743
+ -webkit-transform: rotate(270deg);
1744
+ -khtml-transform: rotate(270deg);
1745
+ -moz-transform: rotate(270deg);
1746
+ -o-transform: rotate(270deg);
1747
+ -ms-transform: rotate(270deg);
1748
+ }
1749
+ 100% {
1750
+ transform: rotate(360deg);
1751
+ -webkit-transform: rotate(360deg);
1752
+ -khtml-transform: rotate(360deg);
1753
+ -moz-transform: rotate(360deg);
1754
+ -o-transform: rotate(360deg);
1755
+ -ms-transform: rotate(360deg);
1756
+ }
1757
+ }
1758
+ @keyframes rotate-effect {
1759
+ 0% {
1760
+ transform: rotate(0);
1761
+ -webkit-transform: rotate(0);
1762
+ -khtml-transform: rotate(0);
1763
+ -moz-transform: rotate(0);
1764
+ -o-transform: rotate(0);
1765
+ -ms-transform: rotate(0);
1766
+ }
1767
+ 25% {
1768
+ transform: rotate(90deg);
1769
+ -webkit-transform: rotate(90deg);
1770
+ -khtml-transform: rotate(90deg);
1771
+ -moz-transform: rotate(90deg);
1772
+ -o-transform: rotate(90deg);
1773
+ -ms-transform: rotate(90deg);
1774
+ }
1775
+ 50% {
1776
+ transform: rotate(180deg);
1777
+ -webkit-transform: rotate(180deg);
1778
+ -khtml-transform: rotate(180deg);
1779
+ -moz-transform: rotate(180deg);
1780
+ -o-transform: rotate(180deg);
1781
+ -ms-transform: rotate(180deg);
1782
+ }
1783
+ 75% {
1784
+ transform: rotate(270deg);
1785
+ -webkit-transform: rotate(270deg);
1786
+ -khtml-transform: rotate(270deg);
1787
+ -moz-transform: rotate(270deg);
1788
+ -o-transform: rotate(270deg);
1789
+ -ms-transform: rotate(270deg);
1790
+ }
1791
+ 100% {
1792
+ transform: rotate(360deg);
1793
+ -webkit-transform: rotate(360deg);
1794
+ -khtml-transform: rotate(360deg);
1795
+ -moz-transform: rotate(360deg);
1796
+ -o-transform: rotate(360deg);
1797
+ -ms-transform: rotate(360deg);
1798
+ }
1799
+ }
1800
+ .menu-phone li ul.list-v {
1801
+ right: calc(100% - 0.5 * 16px);
1802
+ }
1803
+ .menu-phone li ul.list-v ul {
1804
+ right: calc(100% - 0.5 * 16px);
1805
+ }
1806
+ #wrapper {
1807
+ max-width: 1080px;
1808
+ margin: auto;
1809
+ }
1810
+ @media screen and (min-width: 2048px) {
1811
+ #wrapper {
1812
+ max-width: 55vw;
1813
+ }
1814
+ }
1815
+ #wrapper .menu {
1816
+ -webkit-box-flex: 1;
1817
+ -moz-box-flex: 1;
1818
+ -webkit-flex: 1 1;
1819
+ -ms-flex: 1 1;
1820
+ flex: 1 1;
1821
+ margin: 0 16px 0 0;
1822
+ }
1823
+ #wrapper .menu .list-v ul {
1824
+ left: calc(100% - 0.5 * 16px);
1825
+ }
1826
+ .menu-phone {
1827
+ display: none;
1828
+ margin-top: 16px;
1829
+ right: 8px;
1830
+ transition: all 0.28s ease;
1831
+ -webkit-transition: all 0.28s ease;
1832
+ -khtml-transition: all 0.28s ease;
1833
+ -moz-transition: all 0.28s ease;
1834
+ -o-transition: all 0.28s ease;
1835
+ -ms-transition: all 0.28s ease;
1836
+ }
1837
+ .menu-phone ul {
1838
+ right: calc(100% - 0.5 * 16px);
1839
+ }
1840
+ @media screen and (max-width: 500px) {
1841
+ .menu-phone {
1842
+ display: block;
1843
+ }
1844
+ }
1845
+ .l_header {
1846
+ max-width: 65vw;
1847
+ left: calc((100% - 65vw) * 0.5);
1848
+ border-bottom-left-radius: 8px;
1849
+ border-bottom-right-radius: 8px;
1850
+ }
1851
+ @media screen and (max-width: 2048px) {
1852
+ .l_header {
1853
+ max-width: 1112px;
1854
+ left: calc((100% - 1112px) * 0.5);
1855
+ }
1856
+ }
1857
+ @media screen and (max-width: 1112px) {
1858
+ .l_header {
1859
+ left: 0;
1860
+ border-radius: 0;
1861
+ -webkit-border-radius: 0;
1862
+ max-width: 100%;
1863
+ }
1864
+ }
1865
+ @media screen and (max-width: 500px) {
1866
+ .l_header .container {
1867
+ margin-left: 0;
1868
+ margin-right: 0;
1869
+ }
1870
+ .l_header #wrapper .nav-main .title {
1871
+ padding-left: 16px;
1872
+ padding-right: 16px;
1873
+ }
1874
+ .l_header #wrapper .nav-sub {
1875
+ width: 100%;
1876
+ }
1877
+ .l_header #wrapper .nav-sub .title {
1878
+ overflow-y: scroll;
1879
+ margin-top: 2px;
1880
+ padding: 8px 16px;
1881
+ }
1882
+ .l_header #wrapper .switcher {
1883
+ display: flex;
1884
+ margin-right: 8px;
1885
+ height: 64px;
1886
+ }
1887
+ .l_header .menu {
1888
+ display: none;
1889
+ }
1890
+ }
1891
+ @media screen and (max-width: 500px) {
1892
+ .list-v li {
1893
+ max-width: 270px;
1894
+ }
1895
+ }
1896
+ @media screen and (min-width: 768px) {
1897
+ #l_header,
1898
+ #l_cover {
1899
+ display: none;
1900
+ }
1901
+ }
1902
+ #u-search {
1903
+ display: none;
1904
+ position: fixed;
1905
+ top: 0;
1906
+ left: 0;
1907
+ width: 100%;
1908
+ height: 100%;
1909
+ padding: 60px 20px;
1910
+ z-index: 1001;
1911
+ }
1912
+ @media screen and (max-width: 680px) {
1913
+ #u-search {
1914
+ padding: 0px;
1915
+ }
1916
+ }
1917
+
1918
+ </style>
1919
+ <link rel="stylesheet" href="/css/style.css" media="print" onload="this.media='all';this.onload=null">
1920
+ <noscript><link rel="stylesheet" href="/css/style.css"></noscript>
1921
+ <script>
1922
+ document.addEventListener("error", function(e) {
1923
+ const elem = e.target;
1924
+ const parentElem = e.target.parentElement;
1925
+ const parentElemClass = parentElem.classList.toString();
1926
+ const pParentElemClass = parentElem.parentElement.classList.toString();
1927
+ if (elem.tagName.toLowerCase() !== 'img') {
1928
+ return;
1929
+ }
1930
+ elem.classList.add('fix-cursor-default', 'error');
1931
+ if(parentElemClass === 'fancybox' && pParentElemClass === 'fancybox') {
1932
+ parentElem.parentElement.classList.add('hideFancybox');
1933
+ parentElem.parentElement.classList.remove('fancybox');
1934
+ parentElem.classList.remove('fancybox');
1935
+ } else if(parentElemClass === 'img-bg' && pParentElemClass === 'img-wrap') {
1936
+ parentElem.parentElement.classList.add('hideFancybox');
1937
+ } else if(parentElemClass === 'author') {
1938
+ parentElem.parentElement.classList.add('fix-author-imgError');
1939
+ } else if(parentElemClass.indexOf('tk-avatar') != -1 ) {
1940
+ parentElem.parentElement.classList.add('fix-avatar-imgError');
1941
+ }
1942
+ }, true);
1943
+ </script>
1944
+
1945
+ <script>
1946
+ if (/*@cc_on!@*/false || (!!window.MSInputMethodContext && !!document.documentMode))
1947
+ document.write(
1948
+ '<style>'+
1949
+ 'html{'+
1950
+ 'overflow-x: hidden !important;'+
1951
+ 'overflow-y: hidden !important;'+
1952
+ '}'+
1953
+ '.kill-ie{'+
1954
+ 'text-align:center;'+
1955
+ 'height: 100%;'+
1956
+ 'margin-top: 15%;'+
1957
+ 'margin-bottom: 5500%;'+
1958
+ '}'+
1959
+ '.kill-t{'+
1960
+ 'font-size: 2rem;'+
1961
+ '}'+
1962
+ '.kill-c{'+
1963
+ 'font-size: 1.2rem;'+
1964
+ '}'+
1965
+ '#l_header,#l_body{'+
1966
+ 'display: none;'+
1967
+ '}'+
1968
+ '</style>'+
1969
+ '<div class="kill-ie">'+
1970
+ `<span class="kill-t"><b>Sorry, your browser cannot access this site</b></span><br/>`+
1971
+ `<span class="kill-c">Microsoft has terminated support for Internet Explorer (IE) 10 and earlier versions in 2016. <br/>There are great security risks to continue using it. Please use contemporary mainstream browsers to access.</span><br/>`+
1972
+ `<a target="_blank" rel="noopener" href="https://blogs.windows.com/windowsexperience/2021/05/19/the-future-of-internet-explorer-on-windows-10-is-in-microsoft-edge/"><strong>Learn more ></strong></a>`+
1973
+ '</div>');
1974
+ </script>
1975
+
1976
+
1977
+ <noscript>
1978
+ <style>
1979
+ html{
1980
+ overflow-x: hidden !important;
1981
+ overflow-y: hidden !important;
1982
+ }
1983
+ .kill-noscript{
1984
+ text-align:center;
1985
+ height: 100%;
1986
+ margin-top: 15%;
1987
+ margin-bottom: 5500%;
1988
+ }
1989
+ .kill-t{
1990
+ font-size: 2rem;
1991
+ }
1992
+ .kill-c{
1993
+ font-size: 1.2rem;
1994
+ }
1995
+ #l_header,#l_body{
1996
+ display: none;
1997
+ }
1998
+ </style>
1999
+ <div class="kill-noscript">
2000
+ <span class="kill-t"><b>Sorry, your browser cannot access this site</b></span><br/>
2001
+ <span class="kill-c">This page requires browser support (enable) JavaScript</span><br/>
2002
+ <a target="_blank" rel="noopener" href="https://www.baidu.com/s?wd=启用JavaScript"><strong>Learn more ></strong></a>
2003
+ </div>
2004
+ </noscript>
2005
+
2006
+
2007
+ <script>
2008
+ /************这个文件存放不需要重载的全局变量和全局函数*********/
2009
+ window.volantis = {}; // volantis 全局变量
2010
+ volantis.debug = "env"; // 调试模式
2011
+ volantis.dom = {}; // 页面Dom see: /source/js/app.js etc.
2012
+ /******************** volantis.EventListener ********************************/
2013
+ // 事件监听器 see: /source/js/app.js
2014
+ volantis.EventListener = {}
2015
+ // 这里存放pjax切换页面时将被移除的事件监听器
2016
+ volantis.EventListener.list = []
2017
+ //构造方法
2018
+ function volantisEventListener(type, f, ele) {
2019
+ this.type = type
2020
+ this.f = f
2021
+ this.ele = ele
2022
+ }
2023
+ // 移除事件监听器
2024
+ volantis.EventListener.remove = () => {
2025
+ volantis.EventListener.list.forEach(function (i) {
2026
+ i.ele.removeEventListener(i.type, i.f, false)
2027
+ })
2028
+ volantis.EventListener.list = []
2029
+ }
2030
+ /******************** volantis.dom.$ ********************************/
2031
+ // 注:这里没有选择器,也没有forEach一次只处理一个dom,这里重新封装主题常用的dom方法,返回的是dom对象,对象包含了以下方法,同时保留dom的原生API
2032
+ function volantisDom(ele) {
2033
+ if (!ele) ele = document.createElement("div")
2034
+ this.ele = ele;
2035
+ // ==============================================================
2036
+ this.ele.find = (c) => {
2037
+ let q = this.ele.querySelector(c)
2038
+ if (q)
2039
+ return new volantisDom(q)
2040
+ }
2041
+ // ==============================================================
2042
+ this.ele.hasClass = (c) => {
2043
+ return this.ele.className.match(new RegExp('(\\s|^)' + c + '(\\s|$)'));
2044
+ }
2045
+ this.ele.addClass = (c) => {
2046
+ this.ele.classList.add(c);
2047
+ return this.ele
2048
+ }
2049
+ this.ele.removeClass = (c) => {
2050
+ this.ele.classList.remove(c);
2051
+ return this.ele
2052
+ }
2053
+ this.ele.toggleClass = (c) => {
2054
+ if (this.ele.hasClass(c)) {
2055
+ this.ele.removeClass(c)
2056
+ } else {
2057
+ this.ele.addClass(c)
2058
+ }
2059
+ return this.ele
2060
+ }
2061
+ // ==============================================================
2062
+ // 参数 r 为 true 表示pjax切换页面时事件监听器将被移除,false不移除
2063
+ this.ele.on = (c, f, r = 1) => {
2064
+ this.ele.addEventListener(c, f, false)
2065
+ if (r) {
2066
+ volantis.EventListener.list.push(new volantisEventListener(c, f, this.ele))
2067
+ }
2068
+ return this.ele
2069
+ }
2070
+ this.ele.click = (f, r) => {
2071
+ this.ele.on("click", f, r)
2072
+ return this.ele
2073
+ }
2074
+ this.ele.scroll = (f, r) => {
2075
+ this.ele.on("scroll", f, r)
2076
+ return this.ele
2077
+ }
2078
+ // ==============================================================
2079
+ this.ele.html = (c) => {
2080
+ // if(c=== undefined){
2081
+ // return this.ele.innerHTML
2082
+ // }else{
2083
+ this.ele.innerHTML = c
2084
+ return this.ele
2085
+ // }
2086
+ }
2087
+ // ==============================================================
2088
+ this.ele.hide = (c) => {
2089
+ this.ele.style.display = "none"
2090
+ return this.ele
2091
+ }
2092
+ this.ele.show = (c) => {
2093
+ this.ele.style.display = "block"
2094
+ return this.ele
2095
+ }
2096
+ // ==============================================================
2097
+ return this.ele
2098
+ }
2099
+ volantis.dom.$ = (ele) => {
2100
+ return !!ele ? new volantisDom(ele) : null;
2101
+ }
2102
+ /******************** RunItem ********************************/
2103
+ function RunItem() {
2104
+ this.list = []; // 存放回调函数
2105
+ this.start = () => {
2106
+ for (var i = 0; i < this.list.length; i++) {
2107
+ this.list[i].run();
2108
+ }
2109
+ };
2110
+ this.push = (fn, name, setRequestAnimationFrame = true) => {
2111
+ let myfn = fn
2112
+ if (setRequestAnimationFrame) {
2113
+ myfn = () => {
2114
+ volantis.requestAnimationFrame(fn)
2115
+ }
2116
+ }
2117
+ var f = new Item(myfn, name);
2118
+ this.list.push(f);
2119
+ };
2120
+ this.remove = (name) => {
2121
+ for (let index = 0; index < this.list.length; index++) {
2122
+ const e = this.list[index];
2123
+ if (e.name == name) {
2124
+ this.list.splice(index, 1);
2125
+ }
2126
+ }
2127
+ }
2128
+ // 构造一个可以run的对象
2129
+ function Item(fn, name) {
2130
+ // 函数名称
2131
+ this.name = name || fn.name;
2132
+ // run方法
2133
+ this.run = () => {
2134
+ try {
2135
+ fn()
2136
+ } catch (error) {
2137
+ console.log(error);
2138
+ }
2139
+ };
2140
+ }
2141
+ }
2142
+ /******************** Pjax ********************************/
2143
+ // /layout/_plugins/pjax/index.ejs
2144
+ // volantis.pjax.send(callBack[,"callBackName"]) 传入pjax:send回调函数
2145
+ // volantis.pjax.push(callBack[,"callBackName"]) 传入pjax:complete回调函数
2146
+ // volantis.pjax.error(callBack[,"callBackName"]) 传入pjax:error回调函数
2147
+ volantis.pjax = {};
2148
+ volantis.pjax.method = {
2149
+ complete: new RunItem(),
2150
+ error: new RunItem(),
2151
+ send: new RunItem(),
2152
+ };
2153
+ volantis.pjax = Object.assign(volantis.pjax, {
2154
+ push: volantis.pjax.method.complete.push,
2155
+ error: volantis.pjax.method.error.push,
2156
+ send: volantis.pjax.method.send.push,
2157
+ });
2158
+ /******************** RightMenu ********************************/
2159
+ // volantis.rightmenu.handle(callBack[,"callBackName"]) 外部菜单项控制
2160
+ // 可在 volantis.mouseEvent 处获取右键事件
2161
+ volantis.rightmenu = {};
2162
+ volantis.rightmenu.method = {
2163
+ handle: new RunItem(),
2164
+ }
2165
+ volantis.rightmenu = Object.assign(volantis.rightmenu, {
2166
+ handle: volantis.rightmenu.method.handle.push,
2167
+ });
2168
+ /******************** Dark Mode ********************************/
2169
+ // /layout/_partial/scripts/darkmode.ejs
2170
+ // volantis.dark.mode 当前模式 dark or light
2171
+ // volantis.dark.toggle() 暗黑模式触发器
2172
+ // volantis.dark.push(callBack[,"callBackName"]) 传入触发器回调函数
2173
+ volantis.dark = {};
2174
+ volantis.dark.method = {
2175
+ toggle: new RunItem(),
2176
+ };
2177
+ volantis.dark = Object.assign(volantis.dark, {
2178
+ push: volantis.dark.method.toggle.push,
2179
+ });
2180
+ /******************** Message ********************************/
2181
+ // VolantisApp.message
2182
+ /******************** isMobile ********************************/
2183
+ // /source/js/app.js
2184
+ // volantis.isMobile
2185
+ // volantis.isMobileOld
2186
+ /********************脚本动态加载函数********************************/
2187
+ // volantis.js(src, cb) cb 可以传入onload回调函数 或者 JSON对象 例如: volantis.js("src", ()=>{}) 或 volantis.js("src", {defer:true,onload:()=>{}})
2188
+ // volantis.css(src)
2189
+
2190
+ // 返回Promise对象,如下方法同步加载资源,这利于处理文件资源之间的依赖关系,例如:APlayer 需要在 MetingJS 之前加载
2191
+ // (async () => {
2192
+ // await volantis.js("...theme.plugins.aplayer.js.aplayer...")
2193
+ // await volantis.js("...theme.plugins.aplayer.js.meting...")
2194
+ // })();
2195
+
2196
+ // 已经加入了setTimeout
2197
+ volantis.js = (src, cb) => {
2198
+ return new Promise(resolve => {
2199
+ setTimeout(function () {
2200
+ var HEAD = document.getElementsByTagName("head")[0] || document.documentElement;
2201
+ var script = document.createElement("script");
2202
+ script.setAttribute("type", "text/javascript");
2203
+ if (cb) {
2204
+ if (JSON.stringify(cb)) {
2205
+ for (let p in cb) {
2206
+ if (p == "onload") {
2207
+ script[p] = () => {
2208
+ cb[p]()
2209
+ resolve()
2210
+ }
2211
+ } else {
2212
+ script[p] = cb[p]
2213
+ script.onload = resolve
2214
+ }
2215
+ }
2216
+ } else {
2217
+ script.onload = () => {
2218
+ cb()
2219
+ resolve()
2220
+ };
2221
+ }
2222
+ } else {
2223
+ script.onload = resolve
2224
+ }
2225
+ script.setAttribute("src", src);
2226
+ HEAD.appendChild(script);
2227
+ });
2228
+ });
2229
+ }
2230
+ volantis.css = (src) => {
2231
+ return new Promise(resolve => {
2232
+ setTimeout(function () {
2233
+ var link = document.createElement('link');
2234
+ link.rel = "stylesheet";
2235
+ link.href = src;
2236
+ link.onload = resolve;
2237
+ document.getElementsByTagName("head")[0].appendChild(link);
2238
+ });
2239
+ });
2240
+ }
2241
+ /********************按需加载的插件********************************/
2242
+ // volantis.import.jQuery().then(()=>{})
2243
+ volantis.import = {
2244
+ jQuery: () => {
2245
+ if (typeof jQuery == "undefined") {
2246
+ return volantis.js("https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js")
2247
+ } else {
2248
+ return new Promise(resolve => {
2249
+ resolve()
2250
+ });
2251
+ }
2252
+ }
2253
+ }
2254
+ /********************** requestAnimationFrame ********************************/
2255
+ // 1、requestAnimationFrame 会把每一帧中的所有 DOM 操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率,一般来说,这个频率为每秒60帧。
2256
+ // 2、在隐藏或不可见的元素中,requestAnimationFrame 将不会进行重绘或回流,这当然就意味着更少的的 cpu,gpu 和内存使用量。
2257
+ volantis.requestAnimationFrame = (fn) => {
2258
+ if (!window.requestAnimationFrame) {
2259
+ window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame;
2260
+ }
2261
+ window.requestAnimationFrame(fn)
2262
+ }
2263
+ /************************ layoutHelper *****************************************/
2264
+ volantis.layoutHelper = (helper, html, opt) => {
2265
+ opt = Object.assign({ clean: false, pjax: true }, opt)
2266
+ function myhelper(helper, html, clean) {
2267
+ volantis.tempDiv = document.createElement("div");
2268
+ volantis.tempDiv.innerHTML = html;
2269
+ let layoutHelper = document.querySelector("#layoutHelper-" + helper)
2270
+ if (layoutHelper) {
2271
+ if (clean) {
2272
+ layoutHelper.innerHTML = ""
2273
+ }
2274
+ layoutHelper.append(volantis.tempDiv);
2275
+ }
2276
+ }
2277
+ myhelper(helper, html, opt.clean)
2278
+ if (opt.pjax) {
2279
+ volantis.pjax.push(() => {
2280
+ myhelper(helper, html, opt.clean)
2281
+ }, "layoutHelper-" + helper)
2282
+ }
2283
+ }
2284
+ /****************************** 滚动事件处理 ****************************************/
2285
+ volantis.scroll = {
2286
+ engine: new RunItem(),
2287
+ unengine: new RunItem(),
2288
+ };
2289
+ volantis.scroll = Object.assign(volantis.scroll, {
2290
+ push: volantis.scroll.engine.push,
2291
+ });
2292
+ // 滚动条距离顶部的距离
2293
+ volantis.scroll.getScrollTop = () => {
2294
+ let scrollPos;
2295
+ if (window.pageYOffset) {
2296
+ scrollPos = window.pageYOffset;
2297
+ } else if (document.compatMode && document.compatMode != 'BackCompat') {
2298
+ scrollPos = document.documentElement.scrollTop;
2299
+ } else if (document.body) {
2300
+ scrollPos = document.body.scrollTop;
2301
+ }
2302
+ return scrollPos;
2303
+ }
2304
+ volantis.scroll.scrollHeight = function () {
2305
+ return Math.max(
2306
+ document.body.scrollHeight,
2307
+ document.documentElement.scrollHeight,
2308
+ )
2309
+ }
2310
+ volantis.scroll.offsetHeight = function () {
2311
+ return Math.max(
2312
+ document.body.offsetHeight,
2313
+ document.documentElement.offsetHeight,
2314
+ document.body.clientHeight,
2315
+ document.documentElement.clientHeight
2316
+ )
2317
+ }
2318
+ volantis.scroll.progress = function () {
2319
+ return volantis.scroll.getScrollTop() / (volantis.scroll.scrollHeight() - volantis.scroll.offsetHeight())
2320
+ }
2321
+ // 使用 requestAnimationFrame 处理滚动事件
2322
+ // `volantis.scroll.del` 中存储了一个数值, 该数值检测一定时间间隔内滚动条滚动的位移, 数值的检测频率是浏览器的刷新频率. 数值为正数时, 表示向下滚动. 数值为负数时, 表示向上滚动.
2323
+ volantis.scroll.handleScrollEvents = () => {
2324
+ volantis.scroll.lastScrollTop = volantis.scroll.getScrollTop()
2325
+ function loop() {
2326
+ const scrollTop = volantis.scroll.getScrollTop();
2327
+ if (volantis.scroll.lastScrollTop !== scrollTop) {
2328
+ volantis.scroll.del = scrollTop - volantis.scroll.lastScrollTop;
2329
+ volantis.scroll.lastScrollTop = scrollTop;
2330
+ // if (volantis.scroll.del > 0) {
2331
+ // console.log("向下滚动");
2332
+ // } else {
2333
+ // console.log("向上滚动");
2334
+ // }
2335
+ // 注销过期的unengine未滚动事件
2336
+ volantis.scroll.unengine.list = []
2337
+ volantis.scroll.engine.start();
2338
+ } else {
2339
+ volantis.scroll.unengine.start();
2340
+ }
2341
+ volantis.requestAnimationFrame(loop)
2342
+ }
2343
+ volantis.requestAnimationFrame(loop)
2344
+ }
2345
+ volantis.scroll.handleScrollEvents()
2346
+ volantis.scroll.ele = null;
2347
+ // 触发页面滚动至目标元素位置
2348
+ volantis.scroll.to = (ele, option = {}) => {
2349
+ if (!ele) return;
2350
+ volantis.scroll.ele = ele;
2351
+ // 默认配置
2352
+ opt = {
2353
+ top: ele.getBoundingClientRect().top + document.documentElement.scrollTop,
2354
+ behavior: "smooth"
2355
+ }
2356
+ // 定义配置
2357
+ if ("top" in option) {
2358
+ opt.top = option.top
2359
+ }
2360
+ if ("behavior" in option) {
2361
+ opt.behavior = option.behavior
2362
+ }
2363
+ if ("addTop" in option) {
2364
+ opt.top += option.addTop
2365
+ }
2366
+ if (!("observerDic" in option)) {
2367
+ option.observerDic = 100
2368
+ }
2369
+ // 滚动
2370
+ window.scrollTo(opt);
2371
+ // 监视器
2372
+ // 监视并矫正元素滚动到指定位置
2373
+ // 用于处理 lazyload 引起的 cls 导致的定位失败问题
2374
+ // option.observer = false
2375
+ if (option.observer) {
2376
+ setTimeout(() => {
2377
+ if (volantis.scroll.ele != ele) {
2378
+ return
2379
+ }
2380
+ volantis.scroll.unengine.push(() => {
2381
+ let me = ele.getBoundingClientRect().top
2382
+ if (!(me >= -option.observerDic && me <= option.observerDic)) {
2383
+ volantis.scroll.to(ele, option)
2384
+ }
2385
+ volantis.scroll.unengine.remove("unengineObserver")
2386
+ }, "unengineObserver")
2387
+ }, 1000)
2388
+ }
2389
+ }
2390
+ /********************** Content Visibility ********************************/
2391
+ // 见 source/css/first.styl 如果遇到任何问题 删除 .post-story 即可
2392
+ // 一个元素被声明 content-visibility 属性后 如果元素不在 viewport 中 浏览器不会计算其后代元素样式和属性 从而节省 Style & Layout 耗时
2393
+ // content-visibility 的副作用: 锚点失效 等等(实验初期 暂不明确), 使用此方法清除样式
2394
+ volantis.cleanContentVisibility = () => {
2395
+ if (document.querySelector(".post-story")) {
2396
+ console.log("cleanContentVisibility");
2397
+ document.querySelectorAll(".post-story").forEach(e => {
2398
+ e.classList.remove("post-story")
2399
+ })
2400
+ }
2401
+ }
2402
+ /******************************************************************************/
2403
+ /******************************************************************************/
2404
+ /******************************************************************************/
2405
+ //图像加载出错时的处理
2406
+ function errorImgAvatar(img) {
2407
+ img.src = "https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/placeholder/avatar/round/3442075.svg";
2408
+ img.onerror = null;
2409
+ }
2410
+ function errorImgCover(img) {
2411
+ img.src = "https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/placeholder/cover/76b86c0226ffd.svg";
2412
+ img.onerror = null;
2413
+ }
2414
+ /******************************************************************************/
2415
+ </script>
2416
+ <script>
2417
+ volantis.GLOBAL_CONFIG ={
2418
+ root: '/',
2419
+ debug: "env",
2420
+ default: {"avatar":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/placeholder/avatar/round/3442075.svg","link":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/placeholder/link/8f277b4ee0ecd.svg","cover":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/placeholder/cover/76b86c0226ffd.svg","image":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/placeholder/image/2659360.svg"},
2421
+ lastupdate: new Date(1730024665850),
2422
+ cdn: {
2423
+ izitoast_css: 'https://cdn.bootcdn.net/ajax/libs/izitoast/1.4.0/css/iziToast.min.css',
2424
+ izitoast_js: 'https://cdn.bootcdn.net/ajax/libs/izitoast/1.4.0/js/iziToast.min.js',
2425
+ fancybox_css: 'https://cdn.bootcdn.net/ajax/libs/fancyapps-ui/4.0.31/fancybox.min.css',
2426
+ fancybox_js: 'https://cdn.bootcdn.net/ajax/libs/fancyapps-ui/4.0.31/fancybox.umd.min.js'
2427
+ },
2428
+ sidebar: {
2429
+ for_page: ["nextsite","nextblogger","category","tagcloud","webinfo"],
2430
+ for_post: ["nextsite","nextblogger","category","tagcloud","webinfo"],
2431
+ webinfo: {
2432
+ lastupd: {
2433
+ enable: true,
2434
+ friendlyShow: true
2435
+ },
2436
+ runtime: {
2437
+ data: "2020/01/01",
2438
+ unit: "天"
2439
+ }
2440
+ }
2441
+ },
2442
+ plugins: {
2443
+ message: {"enable":true,"icon":{"default":"fa-solid fa-info-circle light-blue","quection":"fa-solid fa-question-circle light-blue"},"time":{"default":5000,"quection":20000},"position":"topRight","transitionIn":"bounceInLeft","transitionOut":"fadeOutRight","titleColor":"var(--color-text)","messageColor":"var(--color-text)","backgroundColor":"var(--color-card)","zindex":2147483647,"copyright":{"enable":true,"title":"Creative Commons license","message":"Please comply with CC BY-NC-SA 4.0 protocol.","icon":"far fa-copyright light-blue"},"aplayer":{"enable":true,"play":"fa-solid fa-play","pause":"fa-solid fa-pause"},"rightmenu":{"enable":true,"notice":true}},
2444
+
2445
+
2446
+ },
2447
+ search: {
2448
+
2449
+ appId: '',
2450
+ indexName: 'hexo',
2451
+ apiKey: '',
2452
+ hitsPerPage: '5',
2453
+ placeholder: 'Search...',
2454
+ searchAsYouType: true,
2455
+
2456
+
2457
+
2458
+
2459
+
2460
+ },
2461
+ languages: {
2462
+
2463
+ search: {
2464
+ hits_empty: "We didn't find any results for the search: ${query}.",
2465
+ hits_stats: "${hits} results found in ${time} ms",
2466
+ }
2467
+
2468
+ }
2469
+ }
2470
+ </script>
2471
+
2472
+ <!-- IndieWeb -->
2473
+ <link rel="authorization_endpoint" href="https://indieauth.com/auth">
2474
+ <link rel="token_endpoint" href="https://tokens.indieauth.com/token">
2475
+
2476
+ <!-- Axios -->
2477
+ <script src="https://cdn.bootcdn.net/ajax/libs/axios/1.7.7/axios.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
2478
+
2479
+ <script>
2480
+ (async () => {//使用匿名函数确保body已载入
2481
+ /*
2482
+ CetaHouseHelper_Set 存储在LocalStorage中,用于指示sw安装状态
2483
+ 0 或不存在 未安装
2484
+ 1 已打断
2485
+ 2 已安装
2486
+ 3 已激活,并且已缓存必要的文件(此处未写出,无需理会)
2487
+ */
2488
+ const $ = document.querySelector.bind(document);//语法糖
2489
+ if ('serviceWorker' in navigator) { //如果支持sw
2490
+ if (Number(window.localStorage.getItem('CetaHouseHelper_Set')) < 1) {
2491
+ window.localStorage.setItem('CetaHouseHelper_Set', 1)
2492
+ window.stop()
2493
+ document.body.innerHTML = await (await fetch('/load.html')).text()
2494
+ }
2495
+ navigator.serviceWorker.register(`/sw.js?time=${Math.ceil(Math.random()*10000000000000000000)}`)//随机数,强制更新
2496
+ .then(async () => {
2497
+ if (Number(window.localStorage.getItem('CetaHouseHelper_Set')) < 2) {
2498
+ setTimeout(() => {
2499
+ window.localStorage.setItem('CetaHouseHelper_Set', 2)
2500
+ //window.location.search = `?time=${ranN(1, 88888888888888888888)}` //已弃用,在等待500ms安装成功后直接刷新没有问题
2501
+ window.location.reload()//刷新,以载入sw
2502
+ }, 500)//安装后等待500ms使其激活
2503
+ }
2504
+ })
2505
+ .catch(err => console.error(`CetaHouseHelperError:${err}`))
2506
+ }
2507
+
2508
+ })()
2509
+ </script>
2510
+ <!-- import head_end begin -->
2511
+ <!-- import head_end end -->
2512
+ <!-- Custom Files headEnd begin-->
2513
+
2514
+ <!-- Custom Files headEnd end-->
2515
+ </head>
2516
+ <body itemscope itemtype="http://schema.org/WebPage">
2517
+ <!-- import body_begin begin-->
2518
+ <!-- import body_begin end-->
2519
+ <!-- Custom Files bodyBegin begin-->
2520
+
2521
+ <!-- Custom Files bodyBegin end-->
2522
+
2523
+ <header itemscope itemtype="http://schema.org/WPHeader" id="l_header" class="l_header auto shadow floatable blur show showed" style='opacity: 0' >
2524
+ <div class='container'>
2525
+ <div id='wrapper'>
2526
+ <div class='nav-sub'>
2527
+ <p class="title fix-header-title"></p>
2528
+ <ul class='switcher nav-list-h m-phone' id="pjax-header-nav-list">
2529
+ <li><a id="s-comment" class="fa-solid fa-comments fa-fw" target="_self" title="comment"></a></li>
2530
+
2531
+ <li><a id="s-toc" class="s-toc fa-solid fa-list fa-fw" target="_self" title="toc"></a></li>
2532
+
2533
+ </ul>
2534
+ </div>
2535
+ <div class="nav-main">
2536
+
2537
+
2538
+ <a class="title flat-box" target="_self" href='/'>
2539
+
2540
+
2541
+ <i class='fa fa-home'></i>
2542
+
2543
+
2544
+ <span>Ceta Magical House</span>
2545
+
2546
+ </a>
2547
+
2548
+ <div class='menu navigation'>
2549
+ <ul class='nav-list-h m-pc'>
2550
+
2551
+
2552
+
2553
+
2554
+
2555
+ <li>
2556
+ <a class="menuitem flat-box faa-parent animated-hover"
2557
+ href="/categories/" title="Categories"
2558
+
2559
+
2560
+
2561
+ active-action="action-categories"
2562
+ >
2563
+ <span class="icon"><i class='fa-solid fa-folder-open fa-fw'></i></span> <span>Categories</span>
2564
+ </a>
2565
+
2566
+ </li>
2567
+
2568
+
2569
+
2570
+
2571
+
2572
+ <li>
2573
+ <a class="menuitem flat-box faa-parent animated-hover"
2574
+ href="/tags/" title="Tags"
2575
+
2576
+
2577
+
2578
+ active-action="action-tags"
2579
+ >
2580
+ <span class="icon"><i class='fa-solid fa-tags fa-fw'></i></span> <span>Tags</span>
2581
+ </a>
2582
+
2583
+ </li>
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+ <li>
2590
+ <a class="menuitem flat-box faa-parent animated-hover"
2591
+ href="/archives/" title="Archives"
2592
+
2593
+
2594
+
2595
+ active-action="action-archives"
2596
+ >
2597
+ <span class="icon"><i class='fa-solid fa-archive fa-fw'></i></span> <span>Archives</span>
2598
+ </a>
2599
+
2600
+ </li>
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+ <li>
2607
+ <a class="menuitem flat-box faa-parent animated-hover"
2608
+ href="/link/" title="Links"
2609
+
2610
+
2611
+
2612
+ active-action="action-link"
2613
+ >
2614
+ <span class="icon"><i class='fa-solid fa-link fa-fw'></i></span> <span>Links</span>
2615
+ </a>
2616
+
2617
+ </li>
2618
+
2619
+
2620
+
2621
+
2622
+
2623
+ <li>
2624
+ <a class="menuitem flat-box faa-parent animated-hover"
2625
+ target="_blank" rel="noopener" href="https://www.travellings.cn/go.html" title="Travelling"
2626
+
2627
+
2628
+
2629
+ active-action="action-https:wwwtravellingscngohtml"
2630
+ >
2631
+ <span class="icon"><i class='fa-solid fa-subway fa-fw'></i></span> <span>Travelling</span>
2632
+ </a>
2633
+
2634
+ </li>
2635
+
2636
+
2637
+
2638
+
2639
+
2640
+ <li>
2641
+ <a class="menuitem flat-box faa-parent animated-hover"
2642
+ target="_blank" rel="noopener" href="https://blog.sinzmise.top/" title="中文"
2643
+
2644
+
2645
+
2646
+ active-action="action-https:blogsinzmisetop"
2647
+ >
2648
+ <span class="icon"><i class='fa fa-language fa-fw fa-fw'></i></span> <span>中文</span>
2649
+ </a>
2650
+
2651
+ </li>
2652
+
2653
+
2654
+
2655
+ </ul>
2656
+ </div>
2657
+
2658
+ <div class="m_search">
2659
+ <form name="searchform" class="form u-search-form">
2660
+ <i class="icon fas fa-search fa-fw"></i>
2661
+ <input type="text" class="input u-search-input" placeholder="Search..." />
2662
+ </form>
2663
+ </div>
2664
+
2665
+
2666
+ <ul class='switcher nav-list-h m-phone'>
2667
+
2668
+ <li><a class="s-search fa-solid fa-search fa-fw" target="_self" title="search"></a></li>
2669
+
2670
+ <li>
2671
+ <a class="s-menu fa-solid fa-bars fa-fw" target="_self" title="menu"></a>
2672
+ <ul class="menu-phone list-v navigation white-box">
2673
+
2674
+
2675
+
2676
+ <li>
2677
+ <a class="menuitem flat-box faa-parent animated-hover"
2678
+ href="/categories/" title="Categories"
2679
+
2680
+
2681
+
2682
+ active-action="action-categories"
2683
+ >
2684
+ <span class="icon"><i class='fa-solid fa-folder-open fa-fw'></i></span> <span>Categories</span>
2685
+ </a>
2686
+
2687
+ </li>
2688
+
2689
+
2690
+
2691
+
2692
+
2693
+ <li>
2694
+ <a class="menuitem flat-box faa-parent animated-hover"
2695
+ href="/tags/" title="Tags"
2696
+
2697
+
2698
+
2699
+ active-action="action-tags"
2700
+ >
2701
+ <span class="icon"><i class='fa-solid fa-tags fa-fw'></i></span> <span>Tags</span>
2702
+ </a>
2703
+
2704
+ </li>
2705
+
2706
+
2707
+
2708
+
2709
+
2710
+ <li>
2711
+ <a class="menuitem flat-box faa-parent animated-hover"
2712
+ href="/archives/" title="Archives"
2713
+
2714
+
2715
+
2716
+ active-action="action-archives"
2717
+ >
2718
+ <span class="icon"><i class='fa-solid fa-archive fa-fw'></i></span> <span>Archives</span>
2719
+ </a>
2720
+
2721
+ </li>
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+ <li>
2728
+ <a class="menuitem flat-box faa-parent animated-hover"
2729
+ href="/link/" title="Links"
2730
+
2731
+
2732
+
2733
+ active-action="action-link"
2734
+ >
2735
+ <span class="icon"><i class='fa-solid fa-link fa-fw'></i></span> <span>Links</span>
2736
+ </a>
2737
+
2738
+ </li>
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+ <li>
2745
+ <a class="menuitem flat-box faa-parent animated-hover"
2746
+ target="_blank" rel="noopener" href="https://www.travellings.cn/go.html" title="Travelling"
2747
+
2748
+
2749
+
2750
+ active-action="action-https:wwwtravellingscngohtml"
2751
+ >
2752
+ <span class="icon"><i class='fa-solid fa-subway fa-fw'></i></span> <span>Travelling</span>
2753
+ </a>
2754
+
2755
+ </li>
2756
+
2757
+
2758
+
2759
+
2760
+
2761
+ <li>
2762
+ <a class="menuitem flat-box faa-parent animated-hover"
2763
+ target="_blank" rel="noopener" href="https://blog.sinzmise.top/" title="中文"
2764
+
2765
+
2766
+
2767
+ active-action="action-https:blogsinzmisetop"
2768
+ >
2769
+ <span class="icon"><i class='fa fa-language fa-fw fa-fw'></i></span> <span>中文</span>
2770
+ </a>
2771
+
2772
+ </li>
2773
+
2774
+
2775
+
2776
+ </ul>
2777
+ </li>
2778
+ </ul>
2779
+
2780
+ <!-- Custom Files header begin -->
2781
+
2782
+ <!-- Custom Files header end -->
2783
+ </div>
2784
+ </div>
2785
+ </div>
2786
+ </header>
2787
+
2788
+
2789
+ <div id="l_body">
2790
+
2791
+ <div id="l_cover">
2792
+
2793
+ </div>
2794
+
2795
+ <div id="safearea">
2796
+ <div class="body-wrapper">
2797
+
2798
+ <div id="l_main" class=''>
2799
+
2800
+ <article itemscope itemtype="http://schema.org/Article" class="h-entry article post white-box reveal md shadow floatable blur article-type-" id="" itemscope itemprop="blogPost">
2801
+ <link itemprop="mainEntityOfPage" href="https://en.blog.sinzmise.top/games">
2802
+ <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
2803
+ <meta itemprop="name" content="Ceta Magical House">
2804
+ </span>
2805
+ <span hidden itemprop="post" itemscope itemtype="http://schema.org/Post">
2806
+ <meta itemprop="name" content="Ceta Magical House">
2807
+ <meta itemprop="description" content="The Story,The Dream.">
2808
+ </span>
2809
+
2810
+
2811
+
2812
+
2813
+ <span hidden>
2814
+ <meta itemprop="image" content="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png">
2815
+ </span>
2816
+
2817
+ <div class="article-meta" id="top">
2818
+
2819
+
2820
+
2821
+ <h1 class="title allow-select p-name" itemprop="name headline">
2822
+ Ceta Games Factory
2823
+ </h1>
2824
+ <div class='new-meta-box'>
2825
+
2826
+
2827
+
2828
+ <div class='new-meta-item author p-author h-card' itemprop="author" itemscope itemtype="http://schema.org/Person">
2829
+ <a itemprop="url" class='author u-url' target="_blank" href="https://blog.sinzmise.top/" rel="nofollow noopener">
2830
+ <img itemprop="image" class="u-photo" no-lazy src="/img/avatar.png" alt="Author">
2831
+ <p itemprop="name" class="p-name">王九弦SZ·Ninty</p>
2832
+ </a>
2833
+ </div>
2834
+
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+
2843
+
2844
+ <div class="new-meta-item date" itemprop="dateCreated datePublished">
2845
+ <a class='notlink'>
2846
+ <i class="fa-solid fa-calendar-alt fa-fw" aria-hidden="true"></i>
2847
+ <p>Published:<time class="dataToShow dt-published" datetime="2024-10-27T10:24:26+00:00" title="Oct 27, 2024">Oct 27, 2024</time></p>
2848
+ </a>
2849
+ </div>
2850
+
2851
+
2852
+
2853
+
2854
+
2855
+
2856
+
2857
+ <div class="new-meta-item browse">
2858
+ <a class='notlink'>
2859
+ <p>
2860
+ <i class="fa-solid fa-eye fa-fw" aria-hidden="true"></i>
2861
+
2862
+ <span id="busuanzi_value_page_pv">
2863
+ <i class="fa-solid fa-loader fa-spin fa-fw" aria-hidden="true"></i>
2864
+ </span>
2865
+
2866
+ <span>views</span>
2867
+ </p>
2868
+ </a>
2869
+ </div>
2870
+
2871
+
2872
+
2873
+
2874
+ <!-- Custom Files topMeta begin-->
2875
+
2876
+ <!-- Custom Files topMeta end-->
2877
+ </div>
2878
+
2879
+ </div>
2880
+
2881
+
2882
+ <div id="layoutHelper-page-plugins"></div>
2883
+ <div id="post-body" itemprop="articleBody" class="e-content">
2884
+
2885
+ <blockquote>
2886
+ <p>Some games</p>
2887
+ </blockquote>
2888
+
2889
+
2890
+ <style>
2891
+ .bangumi-tabs{margin-bottom:15px;margin-top:15px}.bangumi-tab{padding:5px}a.bangumi-tab{text-decoration:none}.bangumi-active{background:#657b83;color:#fff}.bangumi-item{position:relative;clear:both;padding:10px 0;border-bottom:1px solid #ddd;min-height:180px}@media screen and (max-width:600px){.bangumi-item{width:100%}}.bangumi-picture{position:absolute;left:0;top:10px;width:110px}.bangumi-picture img{margin:10px 0}.bangumi-info{padding-left:120px;margin-top:10px;min-height:160px}.bangumi-meta{font-size:12px;padding-right:10px;height:45px}.bangumi-summary{font-size:12px;margin-top:10px}.bangumi-summary>p{word-break:break-all;text-overflow:ellipsis;overflow:hidden;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.bangumi-comments{font-size:12px}.bangumi-pagination{margin-top:15px;text-align:center;margin-bottom:10px}.bangumi-button{padding:5px}.bangumi-button:hover{background:#657b83;color:#fff}.bangumi-hide{display:none}.bangumi-show{display:block}.bangumi-title{font-size:18px;font-weight:700}.bangumi-title a{line-height:1;text-decoration:none}.bangumi-info-items{font-size:12px;color:#2fd8d8;padding-top:10px;line-height:1;float:left;width:100%}.bangumi-info-item{display:inline-block;width:13%;border-right:1px solid #2fd8d8;text-align:center;height:34px}.bangumi-info-label{display:block;line-height:12px}.bangumi-info-item em{display:block;padding-top:6px;line-height:17px;font-style:normal;font-weight:700}.bangumi-info-total{padding-top:11px;display:block;line-height:12px;font-weight:700}.bangumi-info-item-score{border-right:1px solid #0000;width:50px}.bangumi-info-label-em{color:transparent;opacity:0;visibility:hidden;line-height:6px!important;padding:0!important}@media (max-width:650px){.bangumi-coin,.bangumi-type{display:none}.bangumi-info-item{width:16%}}@media (max-width:590px){.bangumi-danmaku,.bangumi-wish{display:none}.bangumi-info-item{width:19%}}@media (max-width:520px){.bangumi-doing,.bangumi-play{display:none}.bangumi-info-item{width:24%}}@media (max-width:480px){.bangumi-collect,.bangumi-follow{display:none}.bangumi-info-item{width:30%}}@media (max-width:400px){.bangumi-area{display:none}.bangumi-info-item{width:45%}}.bangumi-my-comments{border:1px dashed #8f8f8f;padding:3px;border-radius:5px}.bangumi-starstop{background:url(https://jsd.cdn.storisinz.site/npm/hexo-bilibili-bangumi@1.7.9/lib/img/rate_star_2x.png) 100% 100%/10px 19.5px repeat-x;height:10px;width:50px;display:inline-block;float:none}.bangumi-starlight{background:url(https://jsd.cdn.storisinz.site/npm/hexo-bilibili-bangumi@1.7.9/lib/img/rate_star_2x.png) 0 0/10px 19.5px repeat-x;height:10px;display:block;width:100%}.bangumi-starlight.stars1{width:5px}.bangumi-starlight.stars2{width:10px}.bangumi-starlight.stars3{width:15px}.bangumi-starlight.stars4{width:20px}.bangumi-starlight.stars5{width:25px}.bangumi-starlight.stars6{width:30px}.bangumi-starlight.stars7{width:35px}.bangumi-starlight.stars8{width:40px}.bangumi-starlight.stars9{width:45px}.bangumi-starlight.stars10{width:50px}.bangumi-info .bangumi-progress{width:100%;height:24px;background-color:#f2f2f2;border-radius:5px;overflow:hidden;font-size:16px;text-align:center;position:relative}.bangumi-info .bangumi-progress-text{z-index:100;position:relative;color:#3c4858;line-height:24px}.bangumi-info .bangumi-progress .progress-bar{z-index:50;height:100%;background-color:#007bffad;border-radius:5px;position:absolute;top:0}
2892
+
2893
+ </style>
2894
+ <div class="bangumi-tabs">
2895
+ <a class="bangumi-tab" id="bangumi-tab1" href="javascript:;" rel="external" target="_self" onclick="return false">
2896
+ Wish
2897
+ (0)</a>
2898
+ <a class="bangumi-tab" id="bangumi-tab2" href="javascript:;" rel="external" target="_self" onclick="return false">
2899
+ Playing
2900
+ (0)</a>
2901
+ <a class="bangumi-tab" id="bangumi-tab3" href="javascript:;" rel="external" target="_self" onclick="return false">
2902
+ Played
2903
+ (0)</a>
2904
+ </div>
2905
+ <div>
2906
+ <div id="bangumi-item1">
2907
+
2908
+
2909
+ <div class="bangumi-pagination">
2910
+ <a class="bangumi-button bangumi-firstpage" href="javascript:;" target="_self" onclick="return false"> Top</a>
2911
+ <a class="bangumi-button bangumi-previouspage" href="javascript:;" target="_self" onclick="return false">Prev</a>
2912
+ <span class="bangumi-pagenum">2 / 3</span>
2913
+ <a class="bangumi-button bangumi-nextpage" href="javascript:;" target="_self" onclick="return false">Next</a>
2914
+ <a class="bangumi-button bangumi-lastpage" href="javascript:;" target="_self" onclick="return false">End</a>
2915
+ </div>
2916
+
2917
+ </div>
2918
+ <div id="bangumi-item2">
2919
+
2920
+
2921
+ <div class="bangumi-pagination">
2922
+ <a class="bangumi-button bangumi-firstpage" href="javascript:;" target="_self" onclick="return false"> Top</a>
2923
+ <a class="bangumi-button bangumi-previouspage" href="javascript:;" target="_self" onclick="return false">Prev</a>
2924
+ <span class="bangumi-pagenum">2 / 3</span>
2925
+ <a class="bangumi-button bangumi-nextpage" href="javascript:;" target="_self" onclick="return false">Next</a>
2926
+ <a class="bangumi-button bangumi-lastpage" href="javascript:;" target="_self" onclick="return false">End</a>
2927
+ </div>
2928
+
2929
+ </div>
2930
+ <div id="bangumi-item3">
2931
+
2932
+
2933
+ <div class="bangumi-pagination">
2934
+ <a class="bangumi-button bangumi-firstpage" href="javascript:;" target="_self" onclick="return false"> Top</a>
2935
+ <a class="bangumi-button bangumi-previouspage" href="javascript:;" target="_self" onclick="return false">Prev</a>
2936
+ <span class="bangumi-pagenum">2 / 3</span>
2937
+ <a class="bangumi-button bangumi-nextpage" href="javascript:;" target="_self" onclick="return false">Next</a>
2938
+ <a class="bangumi-button bangumi-lastpage" href="javascript:;" target="_self" onclick="return false">End</a>
2939
+ </div>
2940
+
2941
+ </div>
2942
+ </div>
2943
+ <script>
2944
+ (function () {
2945
+
2946
+ const bangumiLazyload = true;
2947
+ "use strict";/* eslint-disable no-plusplus */(function(){// eslint-disable-next-line func-style
2948
+ function a(){this.classList.add("bangumi-active");for(var a=this.siblings(),b=0;b<a.length;b++)a[b].classList.remove("bangumi-active");// 显示对应板块
2949
+ var c=this.id.replace("tab","item"),d=document.getElementById(c);d.classList.remove("bangumi-hide"),d.classList.add("bangumi-show"),a=document.getElementById(c).siblings();for(var e=0;e<a.length;e++)a[e].classList.remove("bangumi-show"),a[e].classList.add("bangumi-hide")}Element.prototype.siblings=function(){for(var a=[],b=this.parentNode.children,c=0;c<b.length;c++)b[c]!==this&&a.push(b[c]);return a};for(var b=document.getElementsByClassName("bangumi-tab"),c=0;c<b.length;c++)b[c].onclick=a,b[c].onclick.apply(b[c]);"undefined"!=typeof pagenumsPre&&axios.get(new URL("../bangumis.json",window.location.href)).then(function(a){if(a.data){var b={wantWatch:a.data.wantWatch.slice(10).map(function(a){return ejs.render(ejsTemplate,{item:a,loading:loading,metaColor:metaColor,type:type})}).join("\n"),watching:a.data.watching.slice(10).map(function(a){return ejs.render(ejsTemplate,{item:a,loading:loading,metaColor:metaColor,type:type})}).join("\n"),watched:a.data.watched.slice(10).map(function(a){return ejs.render(ejsTemplate,{item:a,loading:loading,metaColor:metaColor,type:type})}).join("\n")};document.querySelectorAll("#bangumi-item1>.bangumi-pagination")[0].insertAdjacentHTML("beforeBegin",b.wantWatch),document.querySelectorAll("#bangumi-item2>.bangumi-pagination")[0].insertAdjacentHTML("beforeBegin",b.watching),document.querySelectorAll("#bangumi-item3>.bangumi-pagination")[0].insertAdjacentHTML("beforeBegin",b.watched)}})})();
2950
+
2951
+ document.getElementsByClassName('bangumi-tab')[1].click();
2952
+ /* eslint-disable no-plusplus, func-style */(function(){var a=Math.ceil;function b(b,c){return`${b+1} / ${a(0==c.length/10?1:a(c.length/10))}`}function c(){const a=this.parentNode.siblings();g(a,0),this.parentNode.getElementsByClassName("bangumi-pagenum")[0].innerText=b(0,a)}function d(){const a=this.parentNode.siblings();let c=this.parentNode.getElementsByClassName("bangumi-pagenum")[0].innerText;c=c.substr(0,c.indexOf("/")-1),c=parseInt(c,10)-1,0<c&&c--,g(a,c),this.parentNode.getElementsByClassName("bangumi-pagenum")[0].innerText=b(c,a)}function e(){const c=this.parentNode.siblings();let d=this.parentNode.getElementsByClassName("bangumi-pagenum")[0].innerText;d=d.substr(0,d.indexOf("/")-1),d=parseInt(d,10)-1,d<a(c.length/10)-1&&d++,g(c,d),this.parentNode.getElementsByClassName("bangumi-pagenum")[0].innerText=b(d,c)}function f(){const c=this.parentNode.siblings();g(c,a(c.length/10)-1),this.parentNode.getElementsByClassName("bangumi-pagenum")[0].innerText=b(-1==a(c.length/10)-1?0:a(c.length/10)-1,c)}function g(a,b){for(let c=0;c<a.length;c++)if(Math.floor(c/10)===b){a[c].classList.remove("bangumi-hide");const[b]=a[c].getElementsByTagName("img");bangumiLazyload&&(b.src=b.getAttribute("data-src"))}else a[c].classList.add("bangumi-hide")}const h=document.getElementsByClassName("bangumi-firstpage"),j=document.getElementsByClassName("bangumi-previouspage"),k=document.getElementsByClassName("bangumi-nextpage"),l=document.getElementsByClassName("bangumi-lastpage"),m=document.getElementsByClassName("bangumi-pagenum");for(let b=0;b<h.length;b++){h[b].onclick=c,j[b].onclick=d,k[b].onclick=e,l[b].onclick=f;// set page num
2953
+ const g="undefined"==typeof pagenumsPre?m[b].parentNode.siblings().length:pagenumsPre[b]??m[b].parentNode.siblings().length;h[b].click(),m[b].innerText=`1 / ${0===a(g/10)?1:a(g/10)}`}})();
2954
+
2955
+ })();
2956
+ </script>
2957
+
2958
+ </div>
2959
+
2960
+
2961
+
2962
+
2963
+
2964
+
2965
+ <!-- 文章推荐 -->
2966
+
2967
+
2968
+ <!-- Custom Files postEnd begin-->
2969
+
2970
+ <!-- Custom Files postEnd end-->
2971
+ </article>
2972
+
2973
+
2974
+
2975
+
2976
+
2977
+
2978
+
2979
+ <article class="post white-box shadow floatable blur" id="comments">
2980
+ <span hidden>
2981
+ <meta itemprop="discussionUrl" content="/games#comments">
2982
+ </span>
2983
+ <p ct><i class='fa-solid fa-comments'></i> Comment</p>
2984
+
2985
+
2986
+ <div id="layoutHelper-comments"></div>
2987
+ </article>
2988
+
2989
+
2990
+
2991
+
2992
+
2993
+
2994
+
2995
+ </div>
2996
+ <aside id='l_side' class='not-select default-cursor' itemscope itemtype="http://schema.org/WPSideBar">
2997
+
2998
+
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+ <section class="widget nextsite desktop pjax">
3005
+ <div class="site-brand-wrapper">
3006
+ <div class="site-meta ">
3007
+ <a href="/" class="brand" rel="start">
3008
+ <span class="site-title">Ceta Magical House</span>
3009
+ </a>
3010
+ <p class="site-subtitle" itemprop="description">Only a magical house</p>
3011
+ </div>
3012
+ <div class="site-nav-toggle">
3013
+ <button aria-label="切换导航栏">
3014
+ <span class="btn-bar"></span>
3015
+ <span class="btn-bar"></span>
3016
+ <span class="btn-bar"></span>
3017
+ </button>
3018
+ </div>
3019
+ </div>
3020
+ <nav class="site-nav">
3021
+ <ul class="next-main">
3022
+
3023
+ <li class="next-main-item">
3024
+ <a
3025
+ href="/categories/" title="Categories"
3026
+
3027
+ active-action="action-categories"
3028
+
3029
+
3030
+
3031
+
3032
+ >
3033
+
3034
+ <i class="menu-item-icon fa-solid fa-folder-open fa-fw"></i>
3035
+
3036
+ Categories
3037
+ </a>
3038
+ </li>
3039
+
3040
+ <li class="next-main-item">
3041
+ <a
3042
+ href="/tags/" title="Tags"
3043
+
3044
+ active-action="action-tags"
3045
+
3046
+
3047
+
3048
+
3049
+ >
3050
+
3051
+ <i class="menu-item-icon fa-solid fa-tags fa-fw"></i>
3052
+
3053
+ Tags
3054
+ </a>
3055
+ </li>
3056
+
3057
+ <li class="next-main-item">
3058
+ <a
3059
+ href="/archives/" title="Archives"
3060
+
3061
+ active-action="action-archives"
3062
+
3063
+
3064
+
3065
+
3066
+ >
3067
+
3068
+ <i class="menu-item-icon fa-solid fa-archive fa-fw"></i>
3069
+
3070
+ Archives
3071
+ </a>
3072
+ </li>
3073
+
3074
+ <li class="next-main-item">
3075
+ <a
3076
+ href="/link/" title="Link"
3077
+
3078
+ active-action="action-link"
3079
+
3080
+
3081
+
3082
+
3083
+ >
3084
+
3085
+ <i class="menu-item-icon fa-solid fa-link fa-fw"></i>
3086
+
3087
+ Link
3088
+ </a>
3089
+ </li>
3090
+
3091
+ <li class="next-main-item">
3092
+ <a
3093
+ target="_blank" rel="noopener" href="https://www.travellings.cn/go.html" title="Travelling"
3094
+
3095
+ active-action="action-https:wwwtravellingscngohtml"
3096
+
3097
+
3098
+
3099
+
3100
+ >
3101
+
3102
+ <i class="menu-item-icon fa-solid fa-subway fa-fw"></i>
3103
+
3104
+ Travelling
3105
+ </a>
3106
+ </li>
3107
+
3108
+ <li class="next-main-item">
3109
+ <a
3110
+ target="_blank" rel="noopener" href="https://blog.sinzmise.top/" title="中文"
3111
+
3112
+ active-action="action-https:blogsinzmisetop"
3113
+
3114
+
3115
+
3116
+
3117
+ >
3118
+
3119
+ <i class="menu-item-icon fa fa-language fa-fw fa-fw"></i>
3120
+
3121
+ 中文
3122
+ </a>
3123
+ </li>
3124
+
3125
+ <li class="next-main-item">
3126
+ <a
3127
+ href="javascript:void(0)" title="Search"
3128
+
3129
+ active-action="action-javascript:void(0)"
3130
+
3131
+
3132
+
3133
+
3134
+ onClick="OpenSearch()"
3135
+
3136
+ >
3137
+
3138
+ <i class="menu-item-icon fa-solid fa-search fa-fw"></i>
3139
+
3140
+ Search
3141
+ </a>
3142
+ </li>
3143
+
3144
+ </ul>
3145
+ </nav>
3146
+ </section>
3147
+
3148
+
3149
+
3150
+
3151
+
3152
+
3153
+
3154
+ <section class="widget nextblogger desktop pjax h-card">
3155
+ <div class='content'>
3156
+
3157
+
3158
+ <a class='avatar u-url flat-box ' target="_blank" rel="noopener" href='https://blog.sinzmise.top/'>
3159
+ <img no-lazy class="site-author-image u-photo" itemprop="image" src='/img/avatar.png' alt="SZ·Ninty Ong"/>
3160
+ </a>
3161
+
3162
+
3163
+ <div class="site-author-box">
3164
+ <p class="site-author-name p-name" itemprop="name">SZ·Ninty Ong</p>
3165
+ <p class="site-author-description" itemprop="description">The story,the dream.</p>
3166
+ </div>
3167
+ <div class="links-of-author">
3168
+
3169
+ <span class="links-of-author-item">
3170
+ <a href="/atom.xml" title="RSS" alt="Ceta Magical House" rel="me">
3171
+ <i class="fa-solid fa-rss fa-fw"></i>
3172
+ </a>
3173
+ </span>
3174
+
3175
+ <span class="links-of-author-item">
3176
+ <a href="mailto:email@sinzmise.top" title="Email" alt="Ceta Magical House" class="u-email"rel="me">
3177
+ <i class="fa-solid fa-envelope fa-fw"></i>
3178
+ </a>
3179
+ </span>
3180
+
3181
+ <span class="links-of-author-item">
3182
+ <a target="_blank" href="https://github.com/SinzMise/" title="Github" alt="Ceta Magical House" rel="me noopener">
3183
+ <i class="fab fa-github fa-fw"></i>
3184
+ </a>
3185
+ </span>
3186
+
3187
+ </div>
3188
+ </div>
3189
+ </section>
3190
+
3191
+
3192
+
3193
+
3194
+
3195
+
3196
+
3197
+
3198
+
3199
+ <section class="widget category desktop pjax">
3200
+
3201
+ <header>
3202
+
3203
+ <a href='/categories/'>
3204
+ <span class="icon"><i class="fa-solid fa-folder-open fa-fw" aria-hidden="true"></i></span>
3205
+ <span class='name'>Categories</span>
3206
+ </a>
3207
+
3208
+ </header>
3209
+
3210
+
3211
+ <div class='content'>
3212
+ <ul class="entry navigation">
3213
+
3214
+ <li><a class="flat-box"
3215
+ title="/categories/Test/" href="/categories/Test/"
3216
+ active-action="action-categoriesTest"
3217
+ ><div class='name'>Test</div><div class='badge'>(1)</div></a></li>
3218
+
3219
+ </ul>
3220
+ </div>
3221
+ </section>
3222
+
3223
+
3224
+
3225
+
3226
+
3227
+
3228
+
3229
+
3230
+
3231
+
3232
+ <section class="widget tagcloud desktop pjax">
3233
+
3234
+ <header>
3235
+
3236
+ <a href='/tags/'>
3237
+ <span class="icon"><i class="fa-solid fa-tags fa-fw" aria-hidden="true"></i></span>
3238
+ <span class='name'>Tags</span>
3239
+ </a>
3240
+
3241
+ </header>
3242
+
3243
+
3244
+ <div class='content'>
3245
+ <a href="/tags/Test/" style="font-size: 14px; color: #999">Test</a>
3246
+ </div>
3247
+ </section>
3248
+
3249
+
3250
+
3251
+
3252
+
3253
+
3254
+
3255
+
3256
+
3257
+
3258
+
3259
+
3260
+
3261
+ <div class="widget-sticky pjax">
3262
+
3263
+
3264
+
3265
+ <section class="widget desktop ">
3266
+
3267
+ <header>
3268
+
3269
+ <span class="icon"><i class="fa-solid fa-award fa-fw" aria-hidden="true"></i></span>
3270
+ <span class='name'>About sites</span>
3271
+
3272
+ </header>
3273
+
3274
+
3275
+ <div class='content'>
3276
+ <div class="webinfo">
3277
+
3278
+ <div class="webinfo-item">
3279
+ <div>Articles:</div>
3280
+ <div>1 articles</div>
3281
+ </div>
3282
+
3283
+
3284
+
3285
+
3286
+
3287
+
3288
+
3289
+
3290
+ <div class="webinfo-item">
3291
+ <div>Site uv:</div>
3292
+ <div>
3293
+ <span id="busuanzi_value_site_uv">
3294
+ <i class="fa-solid fa-fan fa-spin fa-fw" aria-hidden="true"></i>
3295
+ </span>
3296
+ visits
3297
+ </div>
3298
+ </div>
3299
+ <div class="webinfo-item">
3300
+ <div>Site pv:</div>
3301
+ <div>
3302
+ <span id="busuanzi_value_site_pv">
3303
+ <i class="fa-solid fa-fan fa-spin fa-fw" aria-hidden="true"></i>
3304
+ </span>
3305
+ visits
3306
+ </div>
3307
+ </div>
3308
+
3309
+
3310
+
3311
+ <div class="webinfo-item">
3312
+ <div>Last updated:</div>
3313
+ <div id="last-update-show">2024-10-27 days</div>
3314
+ </div>
3315
+
3316
+ </div>
3317
+ </div>
3318
+
3319
+ </section>
3320
+
3321
+
3322
+
3323
+ </div>
3324
+
3325
+
3326
+ <!-- 没有 pjax 占位会报错 万恶的 pjax -->
3327
+
3328
+ <div class="pjax">
3329
+ <!-- pjax占位 -->
3330
+ </div>
3331
+
3332
+ <div class="pjax">
3333
+ <!-- pjax占位 -->
3334
+ </div>
3335
+
3336
+ <div class="pjax">
3337
+ <!-- pjax占位 -->
3338
+ </div>
3339
+
3340
+ <div class="pjax">
3341
+ <!-- pjax占位 -->
3342
+ </div>
3343
+
3344
+ <div class="pjax">
3345
+ <!-- pjax占位 -->
3346
+ </div>
3347
+
3348
+ <div class="pjax">
3349
+ <!-- pjax占位 -->
3350
+ </div>
3351
+
3352
+ <div class="pjax">
3353
+ <!-- pjax占位 -->
3354
+ </div>
3355
+
3356
+ <!-- Custom Files side begin -->
3357
+
3358
+ <!-- Custom Files side end -->
3359
+ </aside>
3360
+
3361
+
3362
+
3363
+ <!--此文件用来存放一些不方便取值的变量-->
3364
+ <!--思路大概是将值藏到重加载的区域内-->
3365
+
3366
+ <pjax>
3367
+ <script>
3368
+ window.pdata={ispage: false,commentPath: "",commentPlaceholder: "",commentConfig: {}}
3369
+
3370
+ if(document.getElementById("l_header")) {
3371
+
3372
+ document.getElementById("l_header").classList.add("show");
3373
+
3374
+ }
3375
+
3376
+
3377
+ </script>
3378
+ </pjax>
3379
+ </div>
3380
+
3381
+
3382
+ <footer class="footer clearfix" itemscope itemtype="http://schema.org/WPFooter">
3383
+ <br><br>
3384
+
3385
+
3386
+ <br>
3387
+ <div class="social-wrapper" itemprop="about" itemscope itemtype="http://schema.org/Thing">
3388
+
3389
+
3390
+ <a href="https://www.travellings.cn/go.html"
3391
+ class="social flat-btn"
3392
+ target="_blank"
3393
+ rel="external nofollow noopener noreferrer" itemprop="url" alt='Travellings'>
3394
+
3395
+ <img src="https://www.travellings.cn/assets/logo.gif" class="lazyload" data-srcset="https://www.travellings.cn/assets/logo.gif" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/>
3396
+
3397
+ </a>
3398
+
3399
+
3400
+
3401
+ <a href="https://blogscn.fun/"
3402
+ class="social flat-btn"
3403
+ target="_blank"
3404
+ rel="external nofollow noopener noreferrer" itemprop="url" alt='BLOGS·CN'>
3405
+
3406
+ <img src="https://photo.xiangming.site/img/blogscn.png" class="lazyload" data-srcset="https://photo.xiangming.site/img/blogscn.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/>
3407
+
3408
+ </a>
3409
+
3410
+
3411
+
3412
+ <a href="https://blogscn.fun/random.html"
3413
+ class="social flat-btn"
3414
+ target="_blank"
3415
+ rel="external nofollow noopener noreferrer" itemprop="url" alt='BLOGS·CN Random Access'>
3416
+
3417
+ <img src="https://photo.xiangming.site/img/footer.gif" class="lazyload" data-srcset="https://photo.xiangming.site/img/footer.gif" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/>
3418
+
3419
+ </a>
3420
+
3421
+
3422
+ </div>
3423
+
3424
+
3425
+
3426
+ <div><p>Blog content follows the <a target="_blank" rel="noopener" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en">Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License</a></p>
3427
+ </div>
3428
+
3429
+
3430
+
3431
+ Powered by <a href="https://hexo.io" target="_blank" rel="noopener">Hexo</a> | Theme <a href="https://github.com/volantis-x/hexo-theme-volantis/#6.0.0-alpha.0" target="_blank" class="codename">Volantis</a>
3432
+
3433
+
3434
+
3435
+ <div class='copyright'>
3436
+ <p><a target="_blank" rel="noopener" href="https://xn--sr8hvo.ws/previous">←</a> An <a target="_blank" rel="noopener" href="https://xn--sr8hvo.ws">IndieWeb Webring</a> 🕸💍 <a target="_blank" rel="noopener" href="https://xn--sr8hvo.ws/next">→</a> <br>©2021 · <a href="/">Ceta Storical House</a> <br><a target="_blank" rel="noopener" href="https://icp.gov.moe/?keyword=20231033">MoeICP 20231033</a> | <a target="_blank" rel="noopener" href="https://icp.gov.moe/?keyword=20231033">MIIT 20240818</a> | <a target="_blank" rel="noopener" href="https://guan.ma/hao/2024000155/">GuanMa 2024000155</a> <br>Joined:<a target="_blank" rel="noopener" href="https://storeweb.cn/member/o/1585">StoreWeb</a> | <a target="_blank" rel="noopener" href="https://bf.zzxworld.com/s/995">BlogFinder</a> | <a target="_blank" rel="noopener" href="https://sites.applinzi.com/site-info?siteType=life&amp;siteId=64cb373190e35300a8eec654">sites.link</a> | <a target="_blank" rel="noopener" href="https://boke.lu/">boke.lu</a> | <a target="_blank" rel="noopener" href="https://rssblog.cn/member/d711afd659d65c2ba2d3b18697818cf7/">RssBlog</a> | <a target="_blank" rel="noopener" href="https://blogscn.fun/">BLOGS·CN</a> | <a target="_blank" rel="noopener" href="https://daohang.lusongsong.com/">Blog Daohang</a></p>
3437
+
3438
+ </div>
3439
+
3440
+
3441
+ <!-- Custom Files footer begin-->
3442
+
3443
+ <!-- Custom Files footer end-->
3444
+ </footer>
3445
+
3446
+
3447
+ <a id="s-top" class="fa-solid fa-arrow-up fa-fw" title="top"></a>
3448
+ </div>
3449
+ </div>
3450
+ <div>
3451
+ <script>
3452
+ /******************** volantis.dom ********************************/
3453
+ // 页面选择器 将dom对象缓存起来 see: /source/js/app.js etc.
3454
+ volantis.dom.bodyAnchor = volantis.dom.$(document.getElementById("safearea")); // 页面主体
3455
+ volantis.dom.topBtn = volantis.dom.$(document.getElementById('s-top')); // 向上
3456
+ volantis.dom.wrapper = volantis.dom.$(document.getElementById('wrapper')); // 整个导航栏
3457
+ volantis.dom.coverAnchor = volantis.dom.$(document.querySelector('#l_cover .cover-wrapper')); // 1个
3458
+ volantis.dom.switcher = volantis.dom.$(document.querySelector('#l_header .switcher .s-search')); // 搜索按钮 移动端 1个
3459
+ volantis.dom.header = volantis.dom.$(document.getElementById('l_header')); // 移动端导航栏
3460
+ volantis.dom.search = volantis.dom.$(document.querySelector('#l_header .m_search')); //搜索框 桌面端 移动端 1个
3461
+ volantis.dom.mPhoneList = volantis.dom.$(document.querySelectorAll('#l_header .m-phone .list-v')); // 手机端 子菜单 多个
3462
+
3463
+ top.location!=self.location&&(top.location=self.location);
3464
+
3465
+ volantis.css("https://jsd.cdn.storisinz.site/npm/@fortawesome/fontawesome-free@6.1.1/css/all.min.css");
3466
+
3467
+
3468
+
3469
+ </script>
3470
+
3471
+ <!-- required -->
3472
+
3473
+
3474
+ <!-- internal -->
3475
+
3476
+ <script src="/js/app.js"></script>
3477
+
3478
+
3479
+
3480
+
3481
+ <!-- rightmenu要在darkmode之前(ToggleButton) darkmode要在comments之前(volantis.dark.push)-->
3482
+
3483
+
3484
+
3485
+ <script>
3486
+ function loadIssuesJS() {
3487
+
3488
+ const sites_api = document.getElementById('sites-api');
3489
+ if (sites_api != undefined && typeof SitesJS === 'undefined') {
3490
+ volantis.js("/js/plugins/tags/sites.js")
3491
+ }
3492
+
3493
+
3494
+ const friends_api = document.getElementById('friends-api');
3495
+ if (friends_api != undefined && typeof FriendsJS === 'undefined') {
3496
+ volantis.js("/js/plugins/tags/friends.js")
3497
+ }
3498
+
3499
+
3500
+ const contributors_api = document.getElementById('contributors-api');
3501
+ if (contributors_api != undefined && typeof ContributorsJS === 'undefined') {
3502
+ volantis.js("/js/plugins/tags/contributors.js")
3503
+ }
3504
+
3505
+ };
3506
+ loadIssuesJS()
3507
+ volantis.pjax.push(()=>{
3508
+ loadIssuesJS();
3509
+ })
3510
+
3511
+ </script>
3512
+
3513
+
3514
+
3515
+
3516
+ <script defer src="https://cdn.bootcdn.net/ajax/libs/vanilla-lazyload/17.1.0/lazyload.min.js"></script>
3517
+ <script>
3518
+ // https://www.npmjs.com/package/vanilla-lazyload
3519
+ // Set the options globally
3520
+ // to make LazyLoad self-initialize
3521
+ window.lazyLoadOptions = {
3522
+ elements_selector: ".lazyload",
3523
+ threshold: 0
3524
+ };
3525
+ // Listen to the initialization event
3526
+ // and get the instance of LazyLoad
3527
+ window.addEventListener(
3528
+ "LazyLoad::Initialized",
3529
+ function (event) {
3530
+ window.lazyLoadInstance = event.detail.instance;
3531
+ },
3532
+ false
3533
+ );
3534
+ document.addEventListener('DOMContentLoaded', function () {
3535
+ lazyLoadInstance.update();
3536
+ });
3537
+ document.addEventListener('pjax:complete', function () {
3538
+ lazyLoadInstance.update();
3539
+ });
3540
+ </script>
3541
+
3542
+
3543
+
3544
+
3545
+
3546
+ <script>
3547
+ window.FPConfig = {
3548
+ delay: 0,
3549
+ ignoreKeywords: ["#"],
3550
+ maxRPS: 6,
3551
+ hoverDelay: 0
3552
+ };
3553
+ </script>
3554
+ <script defer src="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/libs/flying-pages/flying-pages.min.js"></script>
3555
+
3556
+
3557
+
3558
+
3559
+
3560
+
3561
+
3562
+
3563
+
3564
+ <script>
3565
+ volantis.layoutHelper("comments",`<div id="twikoo_container"><i class="fa-solid fa-cog fa-spin fa-fw fa-2x"></i></div>`)
3566
+ function load_twikoo() {
3567
+ if(!document.querySelectorAll("#twikoo_container")[0])return;
3568
+ volantis.js("https://cdn.bootcdn.net/ajax/libs/twikoo/1.6.39/twikoo.min.js", pjax_twikoo)
3569
+ }
3570
+ function pjax_twikoo() {
3571
+ if(!document.querySelectorAll("#twikoo_container")[0])return;
3572
+ let path = pdata.commentPath;
3573
+ let placeholder = pdata.commentPlaceholder || "" || "";
3574
+ if (path.length == 0) {
3575
+ let defaultPath = '';
3576
+ path = defaultPath || decodeURI(window.location.pathname);
3577
+ }
3578
+ twikoo.init(Object.assign(Object.assign({"path":null,"envId":"https://tk.pl.blog.sinzmise.top/","placeholder":null,"visitor":false,"lang":"en-US"}, {
3579
+ el: '#twikoo_container',
3580
+ path: path,
3581
+ placeholder: placeholder,
3582
+ onCommentLoaded: function() {
3583
+ if(typeof VolantisFancyBox === "undefined") {
3584
+ const checkFancyBox = setInterval(() => {
3585
+ if(typeof VolantisFancyBox === "undefined") return;
3586
+ clearInterval(checkFancyBox);
3587
+ VolantisFancyBox.groupBind('.tk-content img:not([class*="emo"])', 'Comments');
3588
+ })
3589
+ } else {
3590
+ VolantisFancyBox.groupBind('.tk-content img:not([class*="emo"])', 'Comments');
3591
+ }
3592
+ }
3593
+ }),pdata.commentConfig))
3594
+ }
3595
+ load_twikoo();
3596
+ volantis.pjax.push(()=>{
3597
+ if (typeof twikoo == "undefined") {
3598
+ load_twikoo();
3599
+ } else {
3600
+ pjax_twikoo();
3601
+ }
3602
+ },'twikoo');
3603
+ </script>
3604
+
3605
+
3606
+
3607
+
3608
+
3609
+ <script defer src="https://jsd.cdn.storisinz.site/npm/penndu@1.0.0/bsz.js" data-pjax></script>
3610
+
3611
+
3612
+ <!-- optional -->
3613
+
3614
+ <script>
3615
+ async function loadSearchScript() {
3616
+
3617
+ await volantis.js("https://jsd.cdn.storisinz.site/npm/algoliasearch@4.14.2/dist/algoliasearch-lite.umd.js")
3618
+ await volantis.js("https://jsd.cdn.storisinz.site/npm/instantsearch.js@4.44.0/dist/instantsearch.production.min.js")
3619
+
3620
+
3621
+
3622
+ return volantis.js("/js/search/algolia.js");
3623
+ }
3624
+ loadSearchScript();
3625
+ function loadSearchService() {
3626
+ document.querySelectorAll(".input.u-search-input").forEach((e) => {
3627
+ e.removeEventListener("focus", loadSearchService, false);
3628
+ });
3629
+
3630
+ document.querySelectorAll(".u-search-form").forEach((e) => {
3631
+ e.addEventListener("submit", (event) => {
3632
+ event.preventDefault();
3633
+ }, false);
3634
+ });
3635
+ }
3636
+
3637
+ // 打开并搜索 字符串 s
3638
+ function OpenSearch(s="") {
3639
+ if (typeof SearchService === 'undefined')
3640
+ loadSearchScript().then(() => {
3641
+ SearchService.setQueryText(s);
3642
+ SearchService.search();
3643
+ });
3644
+ else {
3645
+ SearchService.setQueryText(s);
3646
+ SearchService.search();
3647
+ }
3648
+ }
3649
+
3650
+ // 访问含有 ?s=xxx 的链接时打开搜索 // 与搜索引擎 structured data 相关: /scripts/helpers/structured-data/lib/config.js
3651
+ if (window.location.search && /^\?s=/g.test(window.location.search)) {
3652
+ let queryText = decodeURI(window.location.search)
3653
+ .replace(/\ /g, "-")
3654
+ .replace(/^\?s=/g, "");
3655
+ OpenSearch(queryText);
3656
+ }
3657
+
3658
+ // 搜索输入框获取焦点时加载搜索
3659
+ document.querySelectorAll(".input.u-search-input").forEach((e) => {
3660
+ e.addEventListener("focus", loadSearchService, false);
3661
+ });
3662
+ </script>
3663
+
3664
+
3665
+
3666
+
3667
+
3668
+
3669
+
3670
+ <script>
3671
+
3672
+
3673
+
3674
+ function pjax_highlightjs_copyCode(){
3675
+ if (!(document.querySelector(".highlight .code pre") ||
3676
+ document.querySelector(".article pre code"))) {
3677
+ return;
3678
+ }
3679
+ VolantisApp.utilCopyCode(".highlight .code pre, .article pre code")
3680
+ }
3681
+ volantis.requestAnimationFrame(pjax_highlightjs_copyCode)
3682
+ volantis.pjax.push(pjax_highlightjs_copyCode)
3683
+
3684
+ </script>
3685
+
3686
+
3687
+
3688
+
3689
+
3690
+
3691
+
3692
+
3693
+
3694
+
3695
+ <script>
3696
+ function load_swiper() {
3697
+ if (!document.querySelectorAll(".swiper-container")[0]) return;
3698
+ volantis.css("https://cdn.bootcdn.net/ajax/libs/Swiper/8.3.2/swiper-bundle.min.css");
3699
+ volantis.js("https://cdn.bootcdn.net/ajax/libs/Swiper/8.3.2/swiper-bundle.min.js").then(() => {
3700
+ pjax_swiper();
3701
+ });
3702
+ }
3703
+
3704
+ load_swiper();
3705
+
3706
+ function pjax_swiper() {
3707
+ volantis.swiper = new Swiper('.swiper-container', {
3708
+ slidesPerView: 'auto',
3709
+ spaceBetween: 8,
3710
+ centeredSlides: true,
3711
+ loop: true,
3712
+ pagination: {
3713
+ el: '.swiper-pagination',
3714
+ clickable: true,
3715
+ },
3716
+ navigation: {
3717
+ nextEl: '.swiper-button-next',
3718
+ prevEl: '.swiper-button-prev',
3719
+ },
3720
+ });
3721
+ }
3722
+
3723
+ volantis.pjax.push(() => {
3724
+ if (!document.querySelectorAll(".swiper-container")[0]) return;
3725
+ if (typeof volantis.swiper === "undefined") {
3726
+ load_swiper();
3727
+ } else {
3728
+ pjax_swiper();
3729
+ }
3730
+ });
3731
+ </script>
3732
+
3733
+
3734
+
3735
+
3736
+ <!-- pjax 标签必须存在于所有页面 否则 pjax error -->
3737
+ <pjax>
3738
+
3739
+ </pjax>
3740
+
3741
+ <script>
3742
+ function listenSidebarTOC() {
3743
+ const navItems = document.querySelectorAll(".toc li");
3744
+ if (!navItems.length) return;
3745
+ const targets = []
3746
+ const sections = Array.from(navItems).forEach((element) => {
3747
+ const link = element.querySelector(".toc-link");
3748
+ const target = document.getElementById(
3749
+ link.getAttribute("href") ? decodeURI(link.getAttribute("href")).replace("#", "") : link.getAttribute("toc-action").split("toc-")[1] // 兼容 hexo-blog-encrypt
3750
+ );
3751
+ targets.push(target)
3752
+ // 解除 a 标签 href 的 锚点定位, a 标签 href 的 锚点定位 会随机启用?? 产生错位???
3753
+ if (link.getAttribute("href")) {
3754
+ link.setAttribute("toc-action", "toc-" + decodeURI(link.getAttribute("href")).replace("#", ""))
3755
+ link.removeAttribute("href")
3756
+ }
3757
+ // 配置 点击 触发新的锚点定位
3758
+ if (target && target.id) {
3759
+ link.addEventListener("click", (event) => {
3760
+ event.preventDefault();
3761
+ // 这里的 addTop 是通过错位使得 toc 自动展开.
3762
+ volantis.scroll.to(target, { addTop: 5, observer: true })
3763
+ // Anchor id
3764
+ history.pushState(null, document.title, "#" + target.id);
3765
+ });
3766
+ }
3767
+ return target;
3768
+ });
3769
+
3770
+ function activateNavByIndex(target) {
3771
+ if (target.classList.contains("active-current")) return;
3772
+
3773
+ document.querySelectorAll(".toc .active").forEach((element) => {
3774
+ element.classList.remove("active", "active-current");
3775
+ });
3776
+ target.classList.add("active", "active-current");
3777
+ let parent = target.parentNode;
3778
+ while (!parent.matches(".toc")) {
3779
+ if (parent.matches("li")) parent.classList.add("active");
3780
+ parent = parent.parentNode;
3781
+ }
3782
+ }
3783
+
3784
+ // 方案一:
3785
+ volantis.activateNavIndex = 0
3786
+ activateNavByIndex(navItems[volantis.activateNavIndex])
3787
+ if (targets[0]) {
3788
+ volantis.scroll.push(() => {
3789
+ if (targets[0].getBoundingClientRect().top >= 0) {
3790
+ volantis.activateNavIndex = 0
3791
+ } else if (targets[targets.length - 1].getBoundingClientRect().top < 0) {
3792
+ volantis.activateNavIndex = targets.length - 1
3793
+ } else {
3794
+ for (let index = 0; index < targets.length; index++) {
3795
+ const target0 = targets[index];
3796
+ const target1 = targets[(index + 1) % targets.length];
3797
+ if (target0.getBoundingClientRect().top < 0 && target1.getBoundingClientRect().top >= 0) {
3798
+ volantis.activateNavIndex = index
3799
+ break;
3800
+ }
3801
+ }
3802
+ }
3803
+ activateNavByIndex(navItems[volantis.activateNavIndex])
3804
+ })
3805
+ }
3806
+
3807
+ // 方案二:
3808
+ // IntersectionObserver 不是完美精确到像素级别 也不是低延时性的
3809
+ // function findIndex(entries) {
3810
+ // let index = 0;
3811
+ // let entry = entries[index];
3812
+ // if (entry.boundingClientRect.top > 0) {
3813
+ // index = sections.indexOf(entry.target);
3814
+ // return index === 0 ? 0 : index - 1;
3815
+ // }
3816
+ // for (; index < entries.length; index++) {
3817
+ // if (entries[index].boundingClientRect.top <= 0) {
3818
+ // entry = entries[index];
3819
+ // } else {
3820
+ // return sections.indexOf(entry.target);
3821
+ // }
3822
+ // }
3823
+ // return sections.indexOf(entry.target);
3824
+ // }
3825
+ // function createIntersectionObserver(marginTop) {
3826
+ // marginTop = Math.floor(marginTop + 10000);
3827
+ // let intersectionObserver = new IntersectionObserver(
3828
+ // (entries, observe) => {
3829
+ // let scrollHeight = document.documentElement.scrollHeight;
3830
+ // if (scrollHeight > marginTop) {
3831
+ // observe.disconnect();
3832
+ // createIntersectionObserver(scrollHeight);
3833
+ // return;
3834
+ // }
3835
+ // let index = findIndex(entries);
3836
+ // activateNavByIndex(navItems[index]);
3837
+ // }, {
3838
+ // rootMargin: marginTop + "px 0px -100% 0px",
3839
+ // threshold: 0,
3840
+ // }
3841
+ // );
3842
+ // sections.forEach((element) => {
3843
+ // element && intersectionObserver.observe(element);
3844
+ // });
3845
+ // }
3846
+ // createIntersectionObserver(document.documentElement.scrollHeight);
3847
+ }
3848
+
3849
+ document.addEventListener("DOMContentLoaded", () => {
3850
+ volantis.requestAnimationFrame(listenSidebarTOC)
3851
+ });
3852
+ volantis.pjax.push(listenSidebarTOC);
3853
+ </script>
3854
+
3855
+
3856
+
3857
+
3858
+
3859
+ <script>
3860
+ document.onreadystatechange = function () {
3861
+ if (document.readyState == 'complete') {
3862
+ // 页面加载完毕 样式加载失败,或是当前网速慢,或是开启了省流模式
3863
+ const { saveData, effectiveType } = navigator.connection || navigator.mozConnection || navigator.webkitConnection || {}
3864
+ if (getComputedStyle(document.querySelector("#safearea"), null)["display"] == "none" || saveData || /2g/.test(effectiveType)) {
3865
+ document.querySelectorAll(".reveal").forEach(function (e) {
3866
+ e.style["opacity"] = "1";
3867
+ });
3868
+ document.querySelector("#safearea").style["display"] = "block";
3869
+ }
3870
+ }
3871
+ }
3872
+ </script>
3873
+
3874
+
3875
+ <script type="application/ld+json">[{"@context":"http://schema.org","@type":"Organization","name":"Ceta Magical House","url":"https://en.blog.sinzmise.top/","logo":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}},{"@context":"http://schema.org","@type":"Person","name":"SZ·Ninty Ong","image":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png"},"url":"https://en.blog.sinzmise.top/","sameAs":["https://github.com/volantis-x"],"description":"The Story,The Dream."},{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://en.blog.sinzmise.top/","name":"Ceta Magical House"}}]},{"@context":"http://schema.org","@type":"WebSite","name":"Ceta Magical House","url":"https://en.blog.sinzmise.top/","keywords":null,"description":"The Story,The Dream.","author":{"@type":"Person","name":"SZ·Ninty Ong","image":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png"},"url":"https://en.blog.sinzmise.top/","description":"The Story,The Dream."},"publisher":{"@type":"Organization","name":"Ceta Magical House","url":"https://en.blog.sinzmise.top/","logo":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}},"potentialAction":{"@type":"SearchAction","name":"Site Search","target":{"@type":"EntryPoint","urlTemplate":"https://en.blog.sinzmise.top?s={search_term_string}"},"query-input":"required name=search_term_string"}},{"@context":"http://schema.org","@type":"BlogPosting","headline":"Ceta Games Factory","description":"The Story,The Dream.","inLanguage":"en","mainEntityOfPage":{"@type":"WebPage","@id":"https://en.blog.sinzmise.top/games"},"author":{"@type":"Person","name":"SZ·Ninty Ong","image":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png"},"url":"https://en.blog.sinzmise.top/"},"publisher":{"@type":"Organization","name":"Ceta Magical House","logo":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}},"url":"https://en.blog.sinzmise.top/games","wordCount":0,"image":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}}]</script>
3876
+
3877
+
3878
+
3879
+
3880
+
3881
+ <!--
3882
+ pjax重载区域接口:
3883
+ 1. <pjax></pjax> 标签 pjax 标签必须存在于所有页面 否则 pjax error
3884
+ 2. script[data-pjax]
3885
+ 3. .pjax-reload script
3886
+ 4. .pjax
3887
+ -->
3888
+
3889
+
3890
+
3891
+ <script src="https://cdn.bootcdn.net/ajax/libs/pjax/0.2.8/pjax.min.js"></script>
3892
+
3893
+ <script>
3894
+ var pjax;
3895
+ document.addEventListener('DOMContentLoaded', function () {
3896
+ pjax = new Pjax({
3897
+ elements: 'a[href]:not([href^="#"]):not([href="javascript:void(0)"]):not([pjax-fancybox]):not([onclick="return false;"]):not([onclick="return!1"]):not([target="_blank"]):not([target="view_window"]):not([href$=".xml"])',
3898
+ // 这里的 selectors 需要保证每个页面都含有相同的数目
3899
+ selectors: [
3900
+ "head title",
3901
+ "head meta[name=keywords]",
3902
+ "head meta[name=description]",
3903
+ "#l_cover",
3904
+ "#l_main",
3905
+ "#pjax-header-nav-list",
3906
+ ".pjax",
3907
+ "pjax", // <pjax></pjax> 标签
3908
+ ],
3909
+ cacheBust: false, // url 地址追加时间戳,用以避免浏览器缓存
3910
+ timeout: 5000,
3911
+
3912
+ });
3913
+ });
3914
+
3915
+ document.addEventListener('pjax:send', function (e) {
3916
+ //window.stop(); // 相当于点击了浏览器的停止按钮
3917
+ try {
3918
+ var currentUrl = window.location.pathname;
3919
+ var targetUrl = e.triggerElement.href;
3920
+ var excludeList = [""];
3921
+ if (excludeList[0] != "") {
3922
+ excludeList.forEach(item => {
3923
+ if(currentUrl.indexOf(item) != -1 || targetUrl.indexOf(item) != -1) {
3924
+ window.location.href = targetUrl;
3925
+ }
3926
+ });
3927
+ }
3928
+ } catch (error) {}
3929
+
3930
+ // 使用 volantis.pjax.send 方法传入pjax:send回调函数 参见layout/_partial/scripts/global.ejs
3931
+ volantis.pjax.method.send.start();
3932
+ });
3933
+
3934
+ document.addEventListener('pjax:complete', function () {
3935
+ // 这里的 script 不需要保证每个页面都含有相同的数目
3936
+ document.querySelectorAll('script[data-pjax], .pjax-reload script').forEach(e=>{
3937
+ const code = e.text || e.textContent || e.innerHTML || '';
3938
+ const script = document.createElement('script');
3939
+ Object.keys(e.attributes).forEach(i=>{
3940
+ script.setAttribute(e.attributes[i].nodeName,e.attributes[i].nodeValue)
3941
+ })
3942
+ if (code) {
3943
+ script.appendChild(document.createTextNode(code));
3944
+ }
3945
+ e.parentNode.replaceChild(script, e);
3946
+ });
3947
+
3948
+ // 使用 volantis.pjax.push 方法传入重载函数 参见layout/_partial/scripts/global.ejs
3949
+ volantis.pjax.method.complete.start();
3950
+ });
3951
+
3952
+ document.addEventListener('pjax:error', function (e) {
3953
+ if(volantis.debug === "pjax") {
3954
+ console.error(e);
3955
+ console.log('pjax error: \n' + JSON.stringify(e));
3956
+ }else{
3957
+ // 使用 volantis.pjax.error 方法传入pjax:error回调函数 参见layout/_partial/scripts/global.ejs
3958
+ volantis.pjax.method.error.start();
3959
+ window.location.href = e.triggerElement.href;
3960
+ }
3961
+ });
3962
+ </script>
3963
+
3964
+
3965
+ </div>
3966
+ <!-- import body_end begin-->
3967
+ <!-- import body_end end-->
3968
+ <!-- Custom Files bodyEnd begin-->
3969
+
3970
+ <!-- Custom Files bodyEnd end-->
3971
+ </body>
3972
+ </html>