sinzmise-cetastories 2.0.0-1731066602594 → 2.0.0-1731114112124

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