sinzmise-cetastories-en 2.0.0-1729401480192 → 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 (104) hide show
  1. package/archives/2023/12/index.html +1 -1
  2. package/archives/2023/index.html +1 -1
  3. package/archives/index.html +1 -1
  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 -1
  8. package/categories/Test/index.html +1 -1
  9. package/categories/index.html +1 -1
  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 +3783 -420
  21. package/google8073542809160a67.html +1 -1
  22. package/img/friend_404.gif +0 -0
  23. package/index.html +1 -1
  24. package/js/app.js +2 -0
  25. package/js/autoload.js +2 -1
  26. package/js/ceta/fancybox.css +2 -0
  27. package/js/ceta/fancybox.umd.js +2 -0
  28. package/js/ceta/iconfontInkss.js +2 -0
  29. package/js/ceta/lazyload.min.js +1 -0
  30. package/js/ceta/message.css +2 -0
  31. package/js/ceta/message.js +2 -0
  32. package/js/ceta/pjax.min.js +1 -0
  33. package/js/clock.js +2 -1
  34. package/js/kslink.js +2 -1
  35. package/js/newyear.js +2 -1
  36. package/js/plane.js +2 -1
  37. package/js/plugins/aplayer.js +2 -0
  38. package/js/plugins/parallax.js +2 -0
  39. package/js/plugins/rightMenus.js +2 -0
  40. package/js/plugins/tags/contributors.js +2 -0
  41. package/js/plugins/tags/friends.js +2 -0
  42. package/js/plugins/tags/sites.js +2 -0
  43. package/js/search/algolia.js +2 -0
  44. package/js/search/hexo.js +2 -0
  45. package/js/search/meilisearch.js +2 -0
  46. package/js/txmap.js +2 -1
  47. package/load.html +1 -1
  48. package/maps/assets/algolia/algoliasearch.js.map +1 -0
  49. package/maps/assets/algolia/algoliasearchLite.js.map +1 -0
  50. package/maps/css/custom2.css.map +1 -0
  51. package/maps/css/first.css.map +1 -0
  52. package/maps/css/pace/big-counter.css.map +1 -0
  53. package/maps/css/pace/corner-indicator.css.map +1 -0
  54. package/maps/css/pace/flash.css.map +1 -0
  55. package/maps/css/pace/mac-osx.css.map +1 -0
  56. package/maps/css/pace/pace.css.map +1 -0
  57. package/maps/css/plane.css.map +1 -0
  58. package/maps/css/style.css.map +1 -0
  59. package/maps/css/tags.css.map +1 -0
  60. package/maps/js/app.js.map +1 -0
  61. package/maps/js/autoload.js.map +1 -0
  62. package/maps/js/ceta/fancybox.css.map +1 -0
  63. package/maps/js/ceta/fancybox.umd.js.map +1 -0
  64. package/maps/js/ceta/iconfontInkss.js.map +1 -0
  65. package/maps/js/ceta/message.css.map +1 -0
  66. package/maps/js/ceta/message.js.map +1 -0
  67. package/maps/js/clock.js.map +1 -0
  68. package/maps/js/kslink.js.map +1 -0
  69. package/maps/js/newyear.js.map +1 -0
  70. package/maps/js/plane.js.map +1 -0
  71. package/maps/js/plugins/aplayer.js.map +1 -0
  72. package/maps/js/plugins/parallax.js.map +1 -0
  73. package/maps/js/plugins/rightMenus.js.map +1 -0
  74. package/maps/js/plugins/tags/contributors.js.map +1 -0
  75. package/maps/js/plugins/tags/friends.js.map +1 -0
  76. package/maps/js/plugins/tags/sites.js.map +1 -0
  77. package/maps/js/search/algolia.js.map +1 -0
  78. package/maps/js/search/hexo.js.map +1 -0
  79. package/maps/js/search/meilisearch.js.map +1 -0
  80. package/maps/js/txmap.js.map +1 -0
  81. package/maps/sw.js.map +1 -0
  82. package/package.json +1 -1
  83. package/posts/46521/index.html +1 -1
  84. package/sw.js +2 -1
  85. package/tags/Test/index.html +1 -1
  86. package/tags/index.html +1 -1
  87. package/css/index.css +0 -1
  88. package/css/plugins/bootstrap.min.css +0 -6
  89. package/css/plugins/bootstrap.row.css +0 -1
  90. package/css/plugins/font-awesome.min.css +0 -1
  91. package/failure.ico +0 -0
  92. package/fonts/webfonts/fa-brands-400.woff2 +0 -0
  93. package/fonts/webfonts/fa-regular-400.woff2 +0 -0
  94. package/fonts/webfonts/fa-solid-900.woff2 +0 -0
  95. package/img/404.jpg +0 -0
  96. package/img/avatar.jpg +0 -0
  97. package/img/banner.png +0 -0
  98. package/img/block.jpg +0 -0
  99. package/img/favicon.svg +0 -39
  100. package/js/main.js +0 -1
  101. package/js/plugins/danmu.js +0 -1
  102. package/js/plugins/local_search.js +0 -1
  103. package/js/plugins/typing.js +0 -1
  104. package/serviceworker.js +0 -1
package/games CHANGED
@@ -1,378 +1,2894 @@
1
1
  <!DOCTYPE html>
2
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">
3
6
 
4
- <head>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
6
- <meta name="x5-fullscreen" content="true">
7
- <meta name="full-screen" content="yes">
8
- <meta name="theme-color" content="#317EFB" />
9
- <meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport">
10
- <meta name="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">
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
+
11
37
  <meta property="og:type" content="website">
12
38
  <meta property="og:title" content="Ceta Games Factory">
13
39
  <meta property="og:url" content="https://en.blog.sinzmise.top/games">
14
40
  <meta property="og:site_name" content="Ceta Magical House">
15
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">
16
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">
17
44
  <meta property="article:author" content="SZ·Ninty Ong">
18
45
  <meta name="twitter:card" content="summary">
19
-
20
-
21
- <title >Ceta Games Factory</title>
22
-
23
- <!-- Favicon -->
24
-
25
- <link href='/images/siteicon/favicon-16x16.png?v=2.2.3' rel='icon' type='image/png' sizes='16x16' ></link>
26
-
27
-
28
- <link href='/images/siteicon/favicon-32x32.png?v=2.2.3' rel='icon' type='image/png' sizes='32x32' ></link>
29
-
30
-
31
- <link href='/images/siteicon/apple-touch-icon.png?v=2.2.3' rel='apple-touch-icon' sizes='180x180' ></link>
32
-
33
-
34
- <link href='/manifest.json' rel='manifest' ></link>
35
-
36
-
37
- <!-- IndieWeb -->
38
- <link rel="authorization_endpoint" href="https://indieauth.com/auth">
39
- <link rel="token_endpoint" href="https://tokens.indieauth.com/token">
40
-
41
- <!-- Plugin -->
42
-
43
-
44
-
45
-
46
-
47
- <link rel="stylesheet" href="/css/plugins/bootstrap.row.css">
48
-
49
-
50
- <link rel="stylesheet" href="https://jsd.cdn.storisinz.site/npm/@fancyapps/ui@4.0/dist/fancybox.css">
51
-
52
-
53
-
54
-
55
-
56
- <script src="https://jsd.cdn.storisinz.site/npm/jquery/dist/jquery.min.js"></script>
57
-
58
-
59
-
60
-
61
- <!-- WebMention -->
62
-
63
-
64
-
65
-
66
-
67
- <!-- Icon -->
68
-
69
-
70
- <link rel="stylesheet" href="/css/plugins/font-awesome.min.css">
71
-
72
-
73
-
74
-
75
- <!-- Variable -->
76
- <script>window.ASYNC_CONFIG = {"hostname":"en.blog.sinzmise.top","author":"SZ·Ninty Ong","root":"/","typed_text":null,"theme_version":"2.2.3","theme":{"switch":true,"default":"auto"},"favicon":{"logo":"/images/siteicon/favicon.ico","icon16":"/images/siteicon/favicon-16x16.png","icon32":"/images/siteicon/favicon-32x32.png","apple_touch_icon":"/images/siteicon/apple-touch-icon.png","webmanifest":"/manifest.json","visibilitychange":false,"hidden":"/failure.ico","show_text":"(/≧▽≦/)Hey! Good again!","hide_text":"(●—●)Oh, crash!"},"i18n":{"placeholder":"Searching...","empty":"We didn't find any results for the search: ${query}.","hits":"${hits} results found","hits_time":"${hits} results found in ${time} ms","author":"Post author: ","copyright_link":"Post link: ","copyright_license_title":"Copyright Notice: ","copyright_license_content":"All articles in this blog are licensed under undefined unless otherwise stated.","copy_success":"Copied","copy_failure":"Copy failed","open_read_mode":"Enter reading mode","exit_read_mode":"Exit reading mode","notice_outdate_message":"It has been undefined days since the last update, the content of the article may be outdated.","sticky":"TOP","just":"Just","min":"minutes ago","hour":"hours ago","day":"days ago","month":"months ago"},"swup":true,"plugin":{"flickr_justified_gallery":"https://jsd.cdn.storisinz.site/npm/flickr-justified-gallery@latest/dist/fjGallery.min.js"},"icons":{"sun":"far fa-sun","moon":"far fa-moon","play":"fas fa-play","email":"far fa-envelope","next":"fas fa-arrow-right","calendar":"far fa-calendar-alt","clock":"far fa-clock","user":"far fa-user","back_top":"fas fa-arrow-up","close":"fas fa-times","search":"fas fa-search","reward":"fas fa-hand-holding-usd","toc_tag":"fas fa-th-list","read":"fas fa-book-reader","arrows":"fas fa-arrows-alt-h","double_arrows":"fas fa-angle-double-down","copy":"fas fa-copy"},"icontype":"font","highlight":{"plugin":"highlighjs","theme":true,"copy":true,"lang":true,"title":"default","height_limit":false},"toc":{"post_title":true},"live_time":{"start_time":"12/17/2021 14:53:00","prefix":"The blog has been lovely to run undefined day"},"danmu":{"enable":false,"el":".trm-banner"}};</script>
77
- <script id="async-page-config">window.PAGE_CONFIG = {"isPost":false,"isHome":false,"postUpdate":"2024-10-20 05:17:54"};</script>
78
-
79
- <!-- Theme mode css -->
80
- <link data-swup-theme rel="stylesheet" href="/css/index.css?v=2.2.3" id="trm-switch-style">
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
+
81
1945
  <script>
82
- let defaultMode = ASYNC_CONFIG.theme.default !=='auto' ? ASYNC_CONFIG.theme.default : (window.matchMedia("(prefers-color-scheme: light)").matches ? 'style-light' : 'style-dark')
83
- let catchMode = localStorage.getItem('theme-mode') || defaultMode;
84
- let type = catchMode === 'style-dark' ? 'add' : 'remove';
85
- document.documentElement.classList[type]('dark')
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>');
86
1974
  </script>
87
1975
 
88
- <!-- CDN -->
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
- <!-- Site Analytics -->
97
1976
 
98
-
99
-
100
- <!-- Tags -->
101
- <link data-swup-theme rel="stylesheet" href="/css/tags.css">
102
- <!-- Custom2 -->
103
- <link data-swup-theme rel="stylesheet" href="/css/custom2.css">
104
- <meta name="generator" content="Hexo 7.3.0"><link rel="alternate" href="/atom.xml" title="Ceta Magical House" type="application/atom+xml">
105
- </head>
106
-
107
- <body>
108
-
109
- <!-- app wrapper -->
110
- <div class="trm-app-frame">
111
-
112
- <!-- page preloader -->
113
- <div class="trm-preloader">
114
- <div class="trm-holder">
115
- <div class="preloader">
116
- <div></div>
117
- <div></div>
118
- <div></div>
119
- <div></div>
120
- <div></div>
121
- <div></div>
122
- <div></div>
123
- <div></div>
124
- <div></div>
125
- <div></div>
126
- </div>
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>
127
2003
  </div>
128
- </div>
129
- <!-- page preloader end -->
130
-
131
- <!-- change mode preloader -->
132
- <div class="trm-mode-swich-animation-frame">
133
- <div class="trm-mode-swich-animation">
134
- <i class="i-sun"><i class="iconfont far fa-sun"></i></i>
135
- <div class="trm-horizon"></div>
136
- <i class="i-moon"><i class="iconfont far fa-moon"></i></i>
137
- </div>
138
- </div>
139
- <!-- change mode preloader end -->
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>
140
2471
 
141
- <!-- scroll container -->
142
- <div id="trm-dynamic-content" class="trm-swup-animation">
143
- <div id="trm-scroll-container" class="trm-scroll-container" style="opacity: 0">
144
- <!-- top bar -->
145
- <header class="trm-top-bar">
146
- <div class="container">
147
- <div class="trm-left-side">
148
- <!-- logo -->
149
- <a href="/" class="trm-logo-frame trm-anima-link">
150
-
151
- <img alt="logo" src="/images/siteicon/favicon.ico">
152
-
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-->
153
2520
 
154
- <div class="trm-logo-text">
155
- Ceta<span>Storical House</span>
156
- </div>
2521
+ <!-- Custom Files bodyBegin end-->
157
2522
 
158
- </a>
159
- <!-- logo end -->
160
- </div>
161
- <div class="trm-right-side">
162
- <!-- menu -->
163
- <div class="trm-menu">
164
- <nav>
165
- <ul>
166
-
167
- <li class="menu-item-has-children ">
168
- <a href="/" target="">
169
- Site
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>
170
2581
  </a>
171
2582
 
172
- <ul>
173
-
174
- <li>
175
- <a href="/archives/" target="">
176
- Archives
177
- </a>
178
- </li>
179
-
180
- <li>
181
- <a href="/categories/" target="">
182
- Categories
183
- </a>
184
- </li>
185
-
186
- <li>
187
- <a href="/tags/" target="">
188
- Tags
189
- </a>
190
- </li>
191
-
192
- </ul>
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>
193
2599
 
194
- </li>
2600
+ </li>
195
2601
 
196
- <li class="menu-item-has-children ">
197
- <a href="/link/" target="">
198
- Links
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>
199
2615
  </a>
200
2616
 
201
- </li>
2617
+ </li>
2618
+
2619
+
2620
+
2621
+
202
2622
 
203
- <li class="menu-item-has-children ">
204
- <a href="https://www.travellings.cn/go.html" target="_blank">
205
- Travelling
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>
206
2632
  </a>
207
2633
 
208
- </li>
2634
+ </li>
209
2635
 
210
- </ul>
211
- </nav>
212
- </div>
213
- <!-- menu end -->
214
-
215
- <!-- mode switcher place -->
216
- <div class="trm-mode-switcher-place">
217
- <div class="trm-mode-switcher">
218
- <i class="iconfont far fa-sun"></i>
219
- <input class="tgl tgl-light" id="trm-swich" type="checkbox">
220
- <label class="trm-swich" for="trm-swich"></label>
221
- <i class="iconfont far fa-moon"></i>
222
- </div>
223
- </div>
224
- <!-- mode switcher place end -->
225
-
226
-
227
-
228
- <div id="trm-search-btn" class="trm-search-btn">
229
- <i class="iconfont fas fa-search"></i>
230
- </div>
231
-
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>
232
2779
 
233
- </div>
234
- <div class="trm-menu-btn">
235
- <span></span>
2780
+ <!-- Custom Files header begin -->
2781
+
2782
+ <!-- Custom Files header end -->
236
2783
  </div>
237
2784
  </div>
2785
+ </div>
238
2786
  </header>
239
- <!-- top bar end -->
240
2787
 
241
- <!-- body -->
242
-
243
-
244
-
245
- <div class="trm-content-start h-entry">
246
- <!-- banner -->
247
- <div class="trm-banner">
248
2788
 
249
- <!-- banner cover -->
250
- <img style="object-position:top;object-fit:cover;" alt="banner" class="trm-banner-cover" src="/img/banner.png">
251
- <!-- banner cover end -->
2789
+ <div id="l_body">
2790
+
2791
+ <div id="l_cover">
252
2792
 
2793
+ </div>
253
2794
 
254
- <!-- banner content -->
255
- <div class="trm-banner-content trm-overlay">
256
- <div class="container">
257
- <div class="row">
258
-
259
- <div class="col-lg-4"></div>
260
-
261
- <div class="col-lg-8">
262
-
263
- <!-- banner title -->
264
- <div class="trm-banner-text ">
265
- <div class="trm-label trm-mb-20">
266
- Hi my new friend!
267
- </div>
268
- <h1 class="trm-mb-30 trm-hsmb-font p-name">
269
- Ceta Games Factory
270
- </h1>
271
-
272
-
273
- <ul class="trm-breadcrumbs trm-label">
274
- <li>
275
- <a href="/" class="trm-anima-link">Home</a>
276
- </li>
277
- <li>
278
- <span>
279
- games
280
- </span>
281
- </li>
282
- </ul>
283
-
284
- </div>
285
- <!-- banner title end -->
286
-
287
- <!-- scroll hint -->
288
- <span id="scroll-triger" class="trm-scroll-hint-frame">
289
- <div class="trm-scroll-hint"></div>
290
- <span class="trm-label">Scroll down</span>
291
- </span>
292
- <!-- scroll hint end -->
293
-
294
- </div>
295
- </div>
296
- </div>
297
- </div>
298
- <!-- banner content end -->
299
- </div>
300
- <!-- banner end -->
301
- <div class="container">
302
- <div class="row">
303
-
304
- <div class="trm-page-sidebar col-lg-4 hidden-sm">
305
- <!-- main card -->
306
- <div class="trm-main-card-frame trm-sidebar">
307
- <div class="trm-main-card h-card">
308
- <!-- card header -->
309
- <div class="trm-mc-header">
310
- <div class="trm-avatar-frame trm-mb-20">
311
- <img alt="Avatar" class="trm-avatar u-photo" src="/img/avatar.jpg">
312
- </div>
313
- <h5 class="trm-name trm-mb-15 p-name">
314
- SZ·Ninty Ong
315
- </h5>
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
+
316
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>
317
2833
  </div>
318
- <!-- card header end -->
319
- <!-- sidebar social -->
320
2834
 
321
- <div class="trm-divider trm-mb-40 trm-mt-40"></div>
322
- <div class="trm-social">
2835
+
323
2836
 
324
- <a href="/atom.xml" title="RSS" rel="me" target="_blank" class="u-url">
325
- <i class="iconfont fas fa-rss"></i>
326
- </a>
327
-
328
- <a href="https://github.com/SinzMise" title="Github" rel="me" target="_blank" class="u-url">
329
- <i class="iconfont fab fa-github"></i>
330
- </a>
2837
+
2838
+
2839
+
2840
+
2841
+
331
2842
 
332
- </div>
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>
333
2850
 
334
- <!-- sidebar social end -->
335
- <!-- info -->
336
- <div class="trm-divider trm-mb-40 trm-mt-40"></div>
337
- <ul class="trm-table trm-mb-20">
338
-
339
- <li>
340
- <div class="trm-label">
341
- Residence:
342
- </div>
343
- <div class="trm-label trm-label-light ">
344
- Mars
345
- </div>
346
- </li>
347
-
348
- </ul>
349
- <!-- info end -->
2851
+
350
2852
 
351
- <div class="trm-divider trm-mb-40 trm-mt-40"></div>
352
- <!-- action button -->
353
- <div class="text-center">
354
- <a href="mailto:email@sinzmise.top" class="trm-btn">
355
- Contact Me
356
- <i class="iconfont far fa-envelope"></i>
357
- </a>
358
- </div>
359
- <!-- action button end -->
2853
+
2854
+
360
2855
 
361
- </div>
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>
362
2869
  </div>
363
- <!-- main card end -->
364
- </div>
365
-
366
- <div class="trm-page-content col-lg-8">
367
- <div id="trm-content" class="trm-content">
368
-
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
+
369
2885
  <blockquote>
370
2886
  <p>Some games</p>
371
2887
  </blockquote>
372
2888
 
373
2889
 
374
2890
  <style>
375
- .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://cdn.jsdelivr.net/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://cdn.jsdelivr.net/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}
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}
376
2892
 
377
2893
  </style>
378
2894
  <div class="bangumi-tabs">
@@ -439,171 +2955,1018 @@ const g="undefined"==typeof pagenumsPre?m[b].parentNode.siblings().length:pagenu
439
2955
  })();
440
2956
  </script>
441
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
+
442
2990
 
443
- <div class="trm-divider footer-divider"></div>
444
2991
 
445
- <!-- footer -->
446
- <footer class="trm-footer-card trm-scroll-animation">
447
2992
 
2993
+
2994
+
2995
+ </div>
2996
+ <aside id='l_side' class='not-select default-cursor' itemscope itemtype="http://schema.org/WPSideBar">
2997
+
2998
+
2999
+
448
3000
 
449
- <div class="trm-footer-item">
450
- <a target="_blank" rel="noopener" href="https://xn--sr8hvo.ws/previous">←</a> An&nbsp;<a target="_blank" rel="noopener" href="https://xn--sr8hvo.ws">IndieWeb Webring</a>&nbsp;🕸💍 <a target="_blank" rel="noopener" href="https://xn--sr8hvo.ws/next">→</a>
451
- </div>
452
3001
 
453
-
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>
454
3147
 
3148
+
455
3149
 
3150
+
456
3151
 
457
- <div class="trm-footer-item">
458
- <span>© 2021 - 2024</span>
459
- <span class="footer-separator"data-separator=" · "></span>
460
- <span class="trm-accent-color">SZ·Ninty Ong</span>
461
- </div>
462
3152
 
463
-
3153
+
3154
+ <section class="widget nextblogger desktop pjax h-card">
3155
+ <div class='content'>
464
3156
 
465
- <div class="trm-footer-item">
466
- <span>
467
- Powered by <a href="https://hexo.io" target="_blank" rel="noopener">Hexo</a> v7.3.0
468
- </span>
469
- <span class="footer-separator" data-separator=" | "></span>
470
- <span>
471
- Theme -
472
- <a rel="noopener" href='https://github.com/MaLuns/hexo-theme-async' target='_blank'>Async</a>
473
- v2.2.3
474
- </span>
475
- </div>
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
+
476
3191
 
3192
+
477
3193
 
3194
+
3195
+
3196
+
3197
+
3198
+
3199
+ <section class="widget category desktop pjax">
478
3200
 
479
- <div class="trm-footer-item blog-run-long"></div>
3201
+ <header>
480
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
+
481
3223
 
482
3224
 
483
- <div class="trm-footer-item">
484
- <p> <a href="https://icp.gov.moe/?keyword=20231033" target="_blank">MoeICP-20231033</a>&nbsp;| <a target="_blank" href="https://beian.miit.cn.com/gov/search.php?query=blog.sinzmise.top" title="MIIT-20240818">MIIT-20240818</a>&nbsp;| <a target="_blank" rel="noopener" href="https://guan.ma/hao/2024000155/" title="官码2024000155号"><img src="https://style.wmou.com/images/guanma.png" alt="guanma" width="9">GuanMa-2024000155</a> </p> <p> <span>I Joined:</span> <a href="https://storeweb.cn/member/o/1585" target="_blank">StoreWeb</a>&nbsp;| <a href="https://bf.zzxworld.com/s/995" target="_blank">BlogFinder</a>&nbsp;| <a href="https://boke.lu" target="_blank">blog.lu</a>&nbsp;| <a href="https://rssblog.cn/member/d711afd659d65c2ba2d3b18697818cf7/" target="_blank">RssBlog</a>&nbsp;| <a href="https://blogscn.fun" target="_blank">Blogs·CN</a>&nbsp;| <a href="https://firewood.news/" target="_blank">Firewood</a>&nbsp;| <a href="https://daohang.lusongsong.com/" target="_blank">Blog Daohang</a> </p>
485
- </div>
3225
+
3226
+
3227
+
3228
+
3229
+
3230
+
3231
+
3232
+ <section class="widget tagcloud desktop pjax">
486
3233
 
487
- </footer>
488
- <!-- footer end -->
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>
489
3242
 
490
- </div>
491
- </div>
492
- </div>
3243
+
3244
+ <div class='content'>
3245
+ <a href="/tags/Test/" style="font-size: 14px; color: #999">Test</a>
493
3246
  </div>
494
- </div>
3247
+ </section>
495
3248
 
496
- <!-- body end -->
497
3249
 
498
-
3250
+
3251
+
499
3252
 
500
-
501
- <div class="trm-fixed-container">
3253
+
502
3254
 
503
3255
 
3256
+
504
3257
 
505
- <div id="trm-back-top" class="trm-fixed-btn" data-title="Back To Top">
506
- <i class="iconfont fas fa-arrow-up"></i>
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
+
507
3316
  </div>
3317
+ </div>
3318
+
3319
+ </section>
3320
+
3321
+
3322
+
508
3323
  </div>
509
- </div>
510
- </div>
511
- <!-- scroll container end -->
3324
+
3325
+
3326
+ <!-- 没有 pjax 占位会报错 万恶的 pjax -->
3327
+
3328
+ <div class="pjax">
3329
+ <!-- pjax占位 -->
512
3330
  </div>
513
- <!-- app wrapper end -->
514
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 -->
515
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");
516
3373
 
517
- <div class="docsearch-wrap">
518
- <div id="docsearch" style="display:none"></div>
3374
+ }
3375
+
3376
+
3377
+ </script>
3378
+ </pjax>
519
3379
  </div>
520
3380
 
521
- <link rel="stylesheet" href="https://jsd.cdn.storisinz.site/npm/@docsearch/css/dist/style.min.css">
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>
522
3437
 
523
-
524
- <script src="https://jsd.cdn.storisinz.site/npm/@docsearch/js/dist/umd/index.min.js"></script>
3438
+ </div>
3439
+
3440
+
3441
+ <!-- Custom Files footer begin-->
3442
+
3443
+ <!-- Custom Files footer end-->
3444
+ </footer>
525
3445
 
526
- <script>
527
- (() => {
528
- docsearch({
529
- ...{"appId":"QAS05YI2PH","apiKey":"67ffd4c9fa1234148ec4f8b27dfdb2a7","indexName":"sinzmise"},
530
- container: '#docsearch'
531
- })
532
3446
 
533
- const handleClick = () => {
534
- document.querySelector('.DocSearch-Button').click()
535
- }
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>
536
3470
 
537
- const searchClickFn = () => {
538
- document.querySelector('#trm-search-btn').addEventListener('click', handleClick)
539
- }
3471
+ <!-- required -->
540
3472
 
541
- searchClickFn()
542
- window.addEventListener('pjax:complete', searchClickFn)
543
- })()
544
- </script>
545
-
546
3473
 
547
- <!-- Plugin -->
3474
+ <!-- internal -->
548
3475
 
3476
+ <script src="/js/app.js"></script>
549
3477
 
550
3478
 
551
3479
 
552
-
553
- <script src="https://jsd.cdn.storisinz.site/npm/swup@2.0.19/dist/swup.min.js"></script>
554
3480
 
555
-
556
- <script src="https://jsd.cdn.storisinz.site/npm/@fancyapps/ui@4.0/dist/fancybox.umd.js"></script>
3481
+ <!-- rightmenu要在darkmode之前(ToggleButton) darkmode要在comments之前(volantis.dark.push)-->
3482
+
557
3483
 
558
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
+
559
3493
 
560
- <script src="https://jsd.cdn.storisinz.site/npm/axios/dist/axios.min.js"></script>
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
+ })
561
3510
 
3511
+ </script>
562
3512
 
563
-
564
3513
 
565
-
566
3514
 
567
- <!-- 数学公式 -->
568
-
569
3515
 
570
-
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
+
571
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>
572
3604
 
573
3605
 
574
3606
 
575
3607
 
576
3608
 
577
- <!-- Service Worker -->
578
-
579
- <script>
580
- "serviceWorker" in navigator ?
581
- navigator.serviceWorker.register('/sw.js').then(function () {
582
- navigator.serviceWorker.controller ?
583
- console.log("Assets cached by the controlling service worker.") :
584
- console.log("Please reload this page to allow the service worker to handle network operations.")
585
- }).catch(function (e) {
586
- console.log("ERROR: " + e)
587
- }) : console.log("Service workers are not supported in the current browser.")
588
- </script>
3609
+ <script defer src="https://jsd.cdn.storisinz.site/npm/penndu@1.0.0/bsz.js" data-pjax></script>
3610
+
589
3611
 
590
- <!-- baidu push -->
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
+
591
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>
592
3663
 
593
3664
 
594
- <script id="async-script" src="/js/main.js?v=2.2.3"></script>
595
3665
 
596
- <!-- CDN -->
597
3666
 
598
3667
 
599
-
600
3668
 
601
-
602
3669
 
603
-
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>
604
3732
 
605
3733
 
606
3734
 
607
- </body>
608
3735
 
609
- </html>
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>