sinzmise-cetastories 2.0.0-1731066602594 → 2.0.0-1731114112124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/404/index.html +4033 -1
- package/about/index.html +4041 -1
- package/album/index.html +4050 -1
- package/archives/2021/12/index.html +3917 -1
- package/archives/2021/index.html +3917 -1
- package/archives/2022/12/index.html +3917 -1
- package/archives/2022/index.html +3917 -1
- package/archives/2023/01/index.html +4072 -1
- package/archives/2023/02/index.html +3917 -1
- package/archives/2023/03/index.html +4063 -1
- package/archives/2023/04/index.html +3992 -1
- package/archives/2023/07/index.html +4217 -1
- package/archives/2023/08/index.html +4067 -1
- package/archives/2023/09/index.html +3917 -1
- package/archives/2023/10/index.html +3917 -1
- package/archives/2023/11/index.html +3917 -1
- package/archives/2023/12/index.html +3918 -1
- package/archives/2023/index.html +4591 -1
- package/archives/2023/page/2/index.html +4572 -1
- package/archives/2023/page/3/index.html +3930 -1
- package/archives/2024/01/index.html +4142 -1
- package/archives/2024/02/index.html +3922 -1
- package/archives/2024/03/index.html +3916 -1
- package/archives/2024/04/index.html +3997 -1
- package/archives/2024/05/index.html +4065 -1
- package/archives/2024/06/index.html +3917 -1
- package/archives/2024/07/index.html +3917 -1
- package/archives/2024/08/index.html +3992 -1
- package/archives/2024/09/index.html +3917 -1
- package/archives/2024/10/index.html +3984 -1
- package/archives/2024/index.html +4576 -1
- package/archives/2024/page/2/index.html +4433 -1
- package/archives/index.html +4560 -1
- package/archives/page/2/index.html +4560 -1
- package/archives/page/3/index.html +4560 -1
- package/archives/page/4/index.html +4560 -1
- package/archives/page/5/index.html +4560 -1
- package/assets/algolia/algoliasearch.js +7182 -3
- package/assets/algolia/algoliasearchLite.js +4445 -3
- package/atom.xml +31 -31
- package/bbs/bbs.html +4012 -1
- package/bbs/bbs.js +12 -2
- package/bbs/index.html +4031 -1
- package/categories/index.html +4050 -1
- package/categories//344/270/252/344/272/272/345/260/217/350/256/260/index.html +4570 -1
- package/categories//344/270/252/344/272/272/345/260/217/350/256/260/page/2/index.html +4485 -1
- package/categories//346/255/214/346/233/262/346/224/266/351/233/206/index.html +3920 -1
- package/categories//346/270/270/346/210/217/347/233/270/345/205/263/index.html +4148 -1
- package/categories//347/253/231/347/202/271/346/212/230/350/205/276/index.html +4610 -1
- package/categories//347/253/231/347/202/271/346/212/230/350/205/276/page/2/index.html +4148 -1
- package/categories//351/241/271/347/233/256/346/212/230/350/205/276/index.html +4072 -1
- package/charts/index.html +4039 -1
- package/comments/index.html +4052 -1
- package/content.json +1 -0
- package/css/custom2.css +3 -2
- package/css/first.css +1868 -2
- package/css/pace/big-counter.css +39 -2
- package/css/pace/corner-indicator.css +72 -2
- package/css/pace/flash.css +76 -2
- package/css/pace/mac-osx.css +86 -2
- package/css/pace/pace.css +50 -2
- package/css/plane.css +59 -2
- package/css/style.css +8585 -2
- package/css/tags.css +3516 -2
- package/essay/index.html +4050 -1
- package/fcircle/index.html +4075 -1
- package/games +61 -19
- package/index.html +4717 -1
- package/js/app.js +1341 -2
- package/js/autoload.js +62 -2
- package/js/ceta/fancybox.css +2 -2
- package/js/ceta/fancybox.umd.js +2 -2
- package/js/ceta/iconfontInkss.js +1 -2
- package/js/ceta/message.css +6 -2
- package/js/ceta/message.js +6 -2
- package/js/clock.js +1 -2
- package/js/kslink.js +38 -2
- package/js/newyear.js +76 -2
- package/js/plane.js +2200 -2
- package/js/plugins/aplayer.js +186 -2
- package/js/plugins/parallax.js +191 -2
- package/js/plugins/rightMenus.js +623 -2
- package/js/plugins/tags/contributors.js +92 -2
- package/js/plugins/tags/friends.js +93 -2
- package/js/plugins/tags/sites.js +96 -2
- package/js/search/algolia.js +239 -2
- package/js/search/hexo.js +195 -2
- package/js/search/meilisearch.js +220 -2
- package/js/txmap.js +248 -2
- package/link/index.html +6180 -1
- package/load.html +294 -1
- package/music/index.html +4033 -1
- package/package.json +1 -1
- package/page/2/index.html +4578 -1
- package/page/3/index.html +4575 -1
- package/page/4/index.html +4572 -1
- package/page/5/index.html +3924 -1
- package/posts/10021/index.html +4130 -5
- package/posts/10045/index.html +4224 -1
- package/posts/10733/index.html +4125 -1
- package/posts/10996/index.html +4127 -5
- package/posts/12779/index.html +4134 -1
- package/posts/13624/index.html +4179 -1
- package/posts/15688/index.html +4133 -1
- package/posts/15748/index.html +4121 -5
- package/posts/15799/index.html +4130 -1
- package/posts/15842/index.html +4121 -5
- package/posts/16107/index.html +4111 -1
- package/posts/18063/index.html +4124 -1
- package/posts/20412/index.html +4134 -1
- package/posts/21375/index.html +4124 -1
- package/posts/22945/index.html +4169 -4
- package/posts/23021/index.html +4104 -1
- package/posts/27531/index.html +4121 -5
- package/posts/28536/index.html +4116 -1
- package/posts/28733/index.html +4168 -1
- package/posts/29196/index.html +4106 -1
- package/posts/38917/index.html +4144 -1
- package/posts/38964/index.html +4208 -1
- package/posts/42487/index.html +4135 -1
- package/posts/42580/index.html +4128 -1
- package/posts/45875/index.html +4118 -1
- package/posts/46640/index.html +4147 -1
- package/posts/48762/index.html +4109 -1
- package/posts/50710/index.html +4114 -1
- package/posts/52677/index.html +4125 -1
- package/posts/53662/index.html +4123 -1
- package/posts/54386/index.html +4116 -1
- package/posts/54481/index.html +4133 -1
- package/posts/54787/index.html +4124 -5
- package/posts/56467/index.html +4121 -1
- package/posts/57692/index.html +4143 -1
- package/posts/58203/index.html +4116 -1
- package/posts/61417/index.html +4117 -1
- package/posts/61712/index.html +4113 -1
- package/posts/646/index.html +4106 -1
- package/posts/64856/index.html +4120 -1
- package/posts/64935/index.html +4120 -1
- package/search.xml +78 -78
- package/seas/index.html +4050 -1
- package/sw.js +798 -2
- package/tags/Flash/347/233/270/345/205/263/index.html +3924 -1
- package/tags/Steam/346/270/270/346/210/217/index.html +3924 -1
- package/tags/Windows/350/275/257/344/273/266/index.html +3997 -1
- package/tags/index.html +4033 -1
- package/tags//344/270/252/344/272/272/345/260/217/350/256/260/index.html +4570 -1
- package/tags//344/270/252/344/272/272/345/260/217/350/256/260/page/2/index.html +4485 -1
- package/tags//345/205/266/345/256/203/346/270/270/346/210/217/index.html +4073 -1
- package/tags//345/212/240/350/275/275/345/212/250/347/224/273/index.html +3924 -1
- 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
- package/tags//346/255/214/346/233/262/346/224/266/351/233/206/index.html +3920 -1
- package/tags//346/270/270/346/210/217/347/233/270/345/205/263/index.html +4148 -1
- package/tags//347/253/231/347/202/271/345/272/225/351/203/250/351/255/224/346/224/271/index.html +3924 -1
- package/tags//347/253/231/347/202/271/346/212/230/350/205/276/index.html +4610 -1
- package/tags//347/253/231/347/202/271/346/212/230/350/205/276/page/2/index.html +4148 -1
- package/tags//350/207/252/345/273/272/351/203/250/347/275/262/index.html +4224 -1
- package/tags//351/241/265/351/235/242/351/255/224/346/224/271/index.html +4075 -1
- package/tags//351/241/271/347/233/256/346/212/230/350/205/276/index.html +4072 -1
- package/update/index.html +4112 -1
- package/weichuncai/css/style.css +25 -2
- package/weichuncai/js/common.js +449 -2
- package/weichuncai/js/jquery.js +139 -2
- package/weichuncai/wcc-config.js +17 -2
- package/maps/assets/algolia/algoliasearch.js.map +0 -1
- package/maps/assets/algolia/algoliasearchLite.js.map +0 -1
- package/maps/bbs/bbs.js.map +0 -1
- package/maps/css/custom2.css.map +0 -1
- package/maps/css/first.css.map +0 -1
- package/maps/css/pace/big-counter.css.map +0 -1
- package/maps/css/pace/corner-indicator.css.map +0 -1
- package/maps/css/pace/flash.css.map +0 -1
- package/maps/css/pace/mac-osx.css.map +0 -1
- package/maps/css/pace/pace.css.map +0 -1
- package/maps/css/plane.css.map +0 -1
- package/maps/css/style.css.map +0 -1
- package/maps/css/tags.css.map +0 -1
- package/maps/js/app.js.map +0 -1
- package/maps/js/autoload.js.map +0 -1
- package/maps/js/ceta/fancybox.css.map +0 -1
- package/maps/js/ceta/fancybox.umd.js.map +0 -1
- package/maps/js/ceta/iconfontInkss.js.map +0 -1
- package/maps/js/ceta/message.css.map +0 -1
- package/maps/js/ceta/message.js.map +0 -1
- package/maps/js/clock.js.map +0 -1
- package/maps/js/kslink.js.map +0 -1
- package/maps/js/newyear.js.map +0 -1
- package/maps/js/plane.js.map +0 -1
- package/maps/js/plugins/aplayer.js.map +0 -1
- package/maps/js/plugins/parallax.js.map +0 -1
- package/maps/js/plugins/rightMenus.js.map +0 -1
- package/maps/js/plugins/tags/contributors.js.map +0 -1
- package/maps/js/plugins/tags/friends.js.map +0 -1
- package/maps/js/plugins/tags/sites.js.map +0 -1
- package/maps/js/search/algolia.js.map +0 -1
- package/maps/js/search/hexo.js.map +0 -1
- package/maps/js/search/meilisearch.js.map +0 -1
- package/maps/js/txmap.js.map +0 -1
- package/maps/sw.js.map +0 -1
- package/maps/weichuncai/css/style.css.map +0 -1
- package/maps/weichuncai/js/common.js.map +0 -1
- package/maps/weichuncai/js/jquery.js.map +0 -1
- package/maps/weichuncai/wcc-config.js.map +0 -1
package/posts/61417/index.html
CHANGED
@@ -1 +1,4117 @@
|
|
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/61417/"><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>自建Meting服务 - 汐塔魔法屋</title><meta name="keywords" content="站点折腾,自建部署,null"><meta desc name="description" content="Meting官方API用不了了,所以。。。。。 - 王九弦SZ·Ninty - 汐塔魔法屋"><meta property="og:type" content="article"><meta property="og:title" content="自建Meting服务"><meta property="og:url" content="https://blog.sinzmise.top/posts/61417/"><meta property="og:site_name" content="汐塔魔法屋"><meta property="og:description" content="Meting官方API用不了了,所以。。。。。"><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-01-19T19:52:34.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="自建部署"><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/61417/"><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"> 自建Meting服务</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/%E7%AB%99%E7%82%B9%E6%8A%98%E8%85%BE/">站点折腾</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E7%AB%99%E7%82%B9%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-01-19T19:52:34+00:00" title="2023年1月19日">2023年1月19日</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>听人说Meting官方API证书过期了,也就是说MetingAPI得自建了<br>然后很快啊,有人就搞出了自建MetingAPI的Vercel版本<br><span id="more"></span></p><h1 id="教程"><a href="#教程" class="headerlink" title="教程"></a>教程</h1><h2 id="后端部署"><a href="#后端部署" class="headerlink" title="后端部署"></a>后端部署</h2><div class="tabs" id="tab-后端部署"><ul class="nav-tabs"><li class="tab active"><a class="#后端部署-1">Vercel部署(推荐)</a></li><li class="tab"><a class="#后端部署-2">服务器部署</a></li></ul><div class="tab-content"><div class="tab-pane active" id="后端部署-1"><p>点击下方按钮,跳转至 Vercel:<br><a target="_blank" rel="noopener" href="https://vercel.com/import/project?template=https://github.com/xizeyoupan/Meting-API"><img src="https://vercel.com/button" class="lazyload" data-srcset="https://vercel.com/button" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="跳转到Vercel"></a><br>名字随便写,然后点击“Create”<br><img src="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_4fdyFO3sCF.7hpgbpasakc0.webp" class="lazyload" data-srcset="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_4fdyFO3sCF.7hpgbpasakc0.webp" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="msedge_4fdyFO3sCF"><br>看到这个就算成功了<br><img src="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_fs4WGcMy4l.326qjm58vf20.webp" class="lazyload" data-srcset="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_fs4WGcMy4l.326qjm58vf20.webp" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="msedge_fs4WGcMy4l"></p></div><div class="tab-pane" id="后端部署-2"><p>去<a target="_blank" rel="noopener" href="https://github.com/injahow/meting-api/releases">https://github.com/injahow/meting-api/releases</a> 下载编译好的压缩包上传到服务器上(服务器必须开启跨域!)</p></div></div></div><h2 id="前端部署"><a href="#前端部署" class="headerlink" title="前端部署"></a>前端部署</h2><h3 id="Butterfly主题"><a href="#Butterfly主题" class="headerlink" title="Butterfly主题"></a>Butterfly主题</h3><p>编辑[Blogroot]\themes\butterfly\layout\includes\third-party\aplayer.pug<br></p><figure class="highlight diff"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">link(rel='stylesheet' href=url_for(theme.asset.aplayer_css) media="print" onload="this.media='all'")</span><br><span class="line">script(src=url_for(theme.asset.aplayer_js))</span><br><span class="line">script(src=url_for(theme.asset.meting_js))</span><br><span class="line"><span class="addition">+ script.</span></span><br><span class="line"><span class="addition">+ var meting_api='https://(你的api地址)/api/?server=:server&type=:type&id=:id&auth=:auth&r=:r';</span></span><br></pre></td></tr></table></figure><p></p><h3 id="HTML代码"><a href="#HTML代码" class="headerlink" title="HTML代码"></a>HTML代码</h3><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag"><<span class="name">script</span>></span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"><span class="keyword">var</span> meting_api=<span class="string">'https://(你的api地址)/api/?server=:server&type=:type&id=:id&auth=:auth&r=:r'</span>;</span></span><br><span class="line"><span class="language-javascript"></span><span class="tag"></<span class="name">script</span>></span></span><br></pre></td></tr></table></figure></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/%E7%AB%99%E7%82%B9%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/%E8%87%AA%E5%BB%BA%E9%83%A8%E7%BD%B2/" rel="nofollow"><i class="fa-solid fa-hashtag fa-fw" aria-hidden="true"></i><p>自建部署</p></a></div> <span hidden itemprop="keywords">站点折腾 自建部署</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/61417/&title=自建Meting服务 - 汐塔魔法屋&summary=听人说Meting官方API证书过期了,也就是说MetingAPI得自建了然后很快啊,有人就搞出了自建MetingAPI的Vercel版本"><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/61417/&title=自建Meting服务 - 汐塔魔法屋&summary=听人说Meting官方API证书过期了,也就是说MetingAPI得自建了然后很快啊,有人就搞出了自建MetingAPI的Vercel版本"><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/61417/&title=自建Meting服务 - 汐塔魔法屋&summary=听人说Meting官方API证书过期了,也就是说MetingAPI得自建了然后很快啊,有人就搞出了自建MetingAPI的Vercel版本"><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/48762/"><p class="title"><i class="fa-solid fa-angle-double-left" aria-hidden="true"></i>一个通知!!!</p><p class="content"> 站长即将开学,而且6月要中考因此博客得暂停更新一段时间,日记站和博客说说会减缓更新速度(但并不是不会更新)站长中考后会更新速度恢复正常 在这里站长也希望跟我同年龄段的学生努努力,争取中考考出个...</p></a><a class="next" href="/posts/38964/"><p class="title">小康大佬的说说方案 ———— ispeak搭建教程<i class="fa-solid fa-angle-double-right" aria-hidden="true"></i></p><p class="content">搞ispeak时发现ispeak更新,能自定义评论了,也就是说我之前写的ispeak教程失效了没办法我只能重新写了这篇教程 教程后端部署配置数据库以下内容来自:https://discuss.j...</p></a></div></article><article class="post white-box shadow floatable blur" id="comments"><span hidden><meta itemprop="discussionUrl" content="/posts/61417/#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&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/61417/","name":"自建Meting服务"}}]},{"@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":"自建Meting服务","description":"Meting官方API用不了了,所以。。。。。","inLanguage":"zh-CN","mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.sinzmise.top/posts/61417/"},"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/61417/","wordCount":69,"datePublished":"2023-01-19T19:52:34.000Z","dateModified":"2024-11-08T11:49:15.290Z","articleSection":"站点折腾","keywords":"站点折腾,自建部署","image":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230128/30165599-36623bea-93a6-11e7-8956-1ddf99ce0e6f.2rbu2i9xfvy0.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/61417/"/>
|
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>自建Meting服务 - 汐塔魔法屋</title>
|
71
|
+
<meta name="keywords" content="站点折腾,自建部署,null">
|
72
|
+
<meta desc name="description" content="Meting官方API用不了了,所以。。。。。 - 王九弦SZ·Ninty - 汐塔魔法屋">
|
73
|
+
|
74
|
+
<meta property="og:type" content="article">
|
75
|
+
<meta property="og:title" content="自建Meting服务">
|
76
|
+
<meta property="og:url" content="https://blog.sinzmise.top/posts/61417/">
|
77
|
+
<meta property="og:site_name" content="汐塔魔法屋">
|
78
|
+
<meta property="og:description" content="Meting官方API用不了了,所以。。。。。">
|
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-01-19T19:52:34.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="自建部署">
|
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/61417/">
|
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
|
+
自建Meting服务
|
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/%E7%AB%99%E7%82%B9%E6%8A%98%E8%85%BE/">站点折腾</a>
|
2855
|
+
|
2856
|
+
<span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing">
|
2857
|
+
<a href="/categories/%E7%AB%99%E7%82%B9%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-01-19T19:52:34+00:00" title="2023年1月19日">2023年1月19日</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>听人说Meting官方API证书过期了,也就是说MetingAPI得自建了<br>然后很快啊,有人就搞出了自建MetingAPI的Vercel版本<br><span id="more"></span></p>
|
2909
|
+
<h1 id="教程"><a href="#教程" class="headerlink" title="教程"></a>教程</h1><h2 id="后端部署"><a href="#后端部署" class="headerlink" title="后端部署"></a>后端部署</h2><div class="tabs" id="tab-后端部署"><ul class="nav-tabs"><li class="tab active"><a class="#后端部署-1">Vercel部署(推荐)</a></li><li class="tab"><a class="#后端部署-2">服务器部署</a></li></ul><div class="tab-content"><div class="tab-pane active" id="后端部署-1"><p>点击下方按钮,跳转至 Vercel:<br><a target="_blank" rel="noopener" href="https://vercel.com/import/project?template=https://github.com/xizeyoupan/Meting-API"><img src="https://vercel.com/button" class="lazyload" data-srcset="https://vercel.com/button" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="跳转到Vercel"></a><br>名字随便写,然后点击“Create”<br><img src="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_4fdyFO3sCF.7hpgbpasakc0.webp" class="lazyload" data-srcset="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_4fdyFO3sCF.7hpgbpasakc0.webp" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="msedge_4fdyFO3sCF"><br>看到这个就算成功了<br><img src="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_fs4WGcMy4l.326qjm58vf20.webp" class="lazyload" data-srcset="https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230119/msedge_fs4WGcMy4l.326qjm58vf20.webp" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="msedge_fs4WGcMy4l"></p></div><div class="tab-pane" id="后端部署-2"><p>去<a target="_blank" rel="noopener" href="https://github.com/injahow/meting-api/releases">https://github.com/injahow/meting-api/releases</a> 下载编译好的压缩包上传到服务器上(服务器必须开启跨域!)</p></div></div></div>
|
2910
|
+
<h2 id="前端部署"><a href="#前端部署" class="headerlink" title="前端部署"></a>前端部署</h2><h3 id="Butterfly主题"><a href="#Butterfly主题" class="headerlink" title="Butterfly主题"></a>Butterfly主题</h3><p>编辑[Blogroot]\themes\butterfly\layout\includes\third-party\aplayer.pug<br><figure class="highlight diff"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">link(rel='stylesheet' href=url_for(theme.asset.aplayer_css) media="print" onload="this.media='all'")</span><br><span class="line">script(src=url_for(theme.asset.aplayer_js))</span><br><span class="line">script(src=url_for(theme.asset.meting_js))</span><br><span class="line"><span class="addition">+ script.</span></span><br><span class="line"><span class="addition">+ var meting_api='https://(你的api地址)/api/?server=:server&type=:type&id=:id&auth=:auth&r=:r';</span></span><br></pre></td></tr></table></figure></p>
|
2911
|
+
<h3 id="HTML代码"><a href="#HTML代码" class="headerlink" title="HTML代码"></a>HTML代码</h3><figure class="highlight html"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="tag"><<span class="name">script</span>></span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"><span class="keyword">var</span> meting_api=<span class="string">'https://(你的api地址)/api/?server=:server&type=:type&id=:id&auth=:auth&r=:r'</span>;</span></span><br><span class="line"><span class="language-javascript"></span><span class="tag"></<span class="name">script</span>></span></span><br></pre></td></tr></table></figure>
|
2912
|
+
</div>
|
2913
|
+
|
2914
|
+
|
2915
|
+
|
2916
|
+
<div class='footer'>
|
2917
|
+
<!-- 参考资料、相关资料等 -->
|
2918
|
+
|
2919
|
+
<!-- 相关文章 -->
|
2920
|
+
|
2921
|
+
<!-- 版权声明组件 -->
|
2922
|
+
|
2923
|
+
<!-- 打赏组件 -->
|
2924
|
+
|
2925
|
+
</div>
|
2926
|
+
|
2927
|
+
|
2928
|
+
|
2929
|
+
|
2930
|
+
|
2931
|
+
<div class='article-meta' id="bottom">
|
2932
|
+
<div class='new-meta-box'>
|
2933
|
+
|
2934
|
+
|
2935
|
+
<div class="new-meta-item date" itemprop="dateModified">
|
2936
|
+
<a class='notlink'>
|
2937
|
+
<i class="fa-solid fa-edit fa-fw" aria-hidden="true"></i>
|
2938
|
+
<p>更新于:<time class="dataToShow dt-updated" datetime="2024-11-09T01:01:16+00:00" title="2024年11月9日">2024年11月9日</time></p>
|
2939
|
+
</a>
|
2940
|
+
</div>
|
2941
|
+
|
2942
|
+
|
2943
|
+
|
2944
|
+
|
2945
|
+
|
2946
|
+
|
2947
|
+
|
2948
|
+
|
2949
|
+
<div class="new-meta-item meta-tags"><a class="tag" href="/tags/%E7%AB%99%E7%82%B9%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/%E8%87%AA%E5%BB%BA%E9%83%A8%E7%BD%B2/" rel="nofollow"><i class="fa-solid fa-hashtag fa-fw" aria-hidden="true"></i><p>自建部署</p></a></div>
|
2950
|
+
<span hidden itemprop="keywords">站点折腾 自建部署</span>
|
2951
|
+
|
2952
|
+
|
2953
|
+
|
2954
|
+
|
2955
|
+
|
2956
|
+
|
2957
|
+
|
2958
|
+
<div class="new-meta-item share -mob-share-list">
|
2959
|
+
<div class="-mob-share-list share-body">
|
2960
|
+
|
2961
|
+
|
2962
|
+
<a class="-mob-share-qq" title="" rel="external nofollow noopener noreferrer noopener"
|
2963
|
+
|
2964
|
+
target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=https://blog.sinzmise.top/posts/61417/&title=自建Meting服务 - 汐塔魔法屋&summary=听人说Meting官方API证书过期了,也就是说MetingAPI得自建了然后很快啊,有人就搞出了自建MetingAPI的Vercel版本"
|
2965
|
+
|
2966
|
+
>
|
2967
|
+
|
2968
|
+
<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==">
|
2969
|
+
|
2970
|
+
</a>
|
2971
|
+
|
2972
|
+
|
2973
|
+
|
2974
|
+
<a class="-mob-share-qzone" title="" rel="external nofollow noopener noreferrer noopener"
|
2975
|
+
|
2976
|
+
target="_blank" href="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://blog.sinzmise.top/posts/61417/&title=自建Meting服务 - 汐塔魔法屋&summary=听人说Meting官方API证书过期了,也就是说MetingAPI得自建了然后很快啊,有人就搞出了自建MetingAPI的Vercel版本"
|
2977
|
+
|
2978
|
+
>
|
2979
|
+
|
2980
|
+
<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==">
|
2981
|
+
|
2982
|
+
</a>
|
2983
|
+
|
2984
|
+
|
2985
|
+
|
2986
|
+
<a class="-mob-share-weibo" title="" rel="external nofollow noopener noreferrer noopener"
|
2987
|
+
|
2988
|
+
target="_blank" href="http://service.weibo.com/share/share.php?url=https://blog.sinzmise.top/posts/61417/&title=自建Meting服务 - 汐塔魔法屋&summary=听人说Meting官方API证书过期了,也就是说MetingAPI得自建了然后很快啊,有人就搞出了自建MetingAPI的Vercel版本"
|
2989
|
+
|
2990
|
+
>
|
2991
|
+
|
2992
|
+
<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==">
|
2993
|
+
|
2994
|
+
</a>
|
2995
|
+
|
2996
|
+
|
2997
|
+
|
2998
|
+
|
2999
|
+
|
3000
|
+
|
3001
|
+
</div>
|
3002
|
+
</div>
|
3003
|
+
|
3004
|
+
|
3005
|
+
|
3006
|
+
|
3007
|
+
|
3008
|
+
</div>
|
3009
|
+
<!-- Custom Files bottomMeta begin -->
|
3010
|
+
|
3011
|
+
<!-- Custom Files bottomMeta end -->
|
3012
|
+
</div>
|
3013
|
+
|
3014
|
+
|
3015
|
+
|
3016
|
+
|
3017
|
+
|
3018
|
+
|
3019
|
+
<div class="prev-next">
|
3020
|
+
|
3021
|
+
<a class='prev' href='/posts/48762/'>
|
3022
|
+
<p class='title'><i class="fa-solid fa-angle-double-left" aria-hidden="true"></i>一个通知!!!</p>
|
3023
|
+
<p class='content'>
|
3024
|
+
站长即将开学,而且6月要中考因此博客得暂停更新一段时间,日记站和博客说说会减缓更新速度(但并不是不会更新)站长中考后会更新速度恢复正常
|
3025
|
+
在这里站长也希望跟我同年龄段的学生努努力,争取中考考出个...</p>
|
3026
|
+
</a>
|
3027
|
+
|
3028
|
+
|
3029
|
+
<a class='next' href='/posts/38964/'>
|
3030
|
+
<p class='title'>小康大佬的说说方案 ———— ispeak搭建教程<i class="fa-solid fa-angle-double-right" aria-hidden="true"></i></p>
|
3031
|
+
<p class='content'>搞ispeak时发现ispeak更新,能自定义评论了,也就是说我之前写的ispeak教程失效了没办法我只能重新写了这篇教程
|
3032
|
+
教程后端部署配置数据库以下内容来自:https://discuss.j...</p>
|
3033
|
+
</a>
|
3034
|
+
|
3035
|
+
</div>
|
3036
|
+
|
3037
|
+
<!-- 文章推荐 -->
|
3038
|
+
|
3039
|
+
|
3040
|
+
<!-- Custom Files postEnd begin-->
|
3041
|
+
|
3042
|
+
<!-- Custom Files postEnd end-->
|
3043
|
+
</article>
|
3044
|
+
|
3045
|
+
|
3046
|
+
|
3047
|
+
|
3048
|
+
|
3049
|
+
|
3050
|
+
|
3051
|
+
<article class="post white-box shadow floatable blur" id="comments">
|
3052
|
+
<span hidden>
|
3053
|
+
<meta itemprop="discussionUrl" content="/posts/61417/#comments">
|
3054
|
+
</span>
|
3055
|
+
<p ct><i class='fa-solid fa-comments'></i> 评论</p>
|
3056
|
+
|
3057
|
+
|
3058
|
+
<div id="layoutHelper-comments"></div>
|
3059
|
+
</article>
|
3060
|
+
|
3061
|
+
|
3062
|
+
|
3063
|
+
|
3064
|
+
|
3065
|
+
|
3066
|
+
|
3067
|
+
</div>
|
3068
|
+
<aside id='l_side' class='not-select default-cursor' itemscope itemtype="http://schema.org/WPSideBar">
|
3069
|
+
|
3070
|
+
|
3071
|
+
|
3072
|
+
|
3073
|
+
|
3074
|
+
|
3075
|
+
|
3076
|
+
<section class="widget nextsite desktop pjax">
|
3077
|
+
<div class="site-brand-wrapper">
|
3078
|
+
<div class="site-meta ">
|
3079
|
+
<a href="/" class="brand" rel="start">
|
3080
|
+
<span class="site-title">汐塔魔法屋</span>
|
3081
|
+
</a>
|
3082
|
+
<p class="site-subtitle" itemprop="description">Ceta Magical House</p>
|
3083
|
+
</div>
|
3084
|
+
<div class="site-nav-toggle">
|
3085
|
+
<button aria-label="切换导航栏">
|
3086
|
+
<span class="btn-bar"></span>
|
3087
|
+
<span class="btn-bar"></span>
|
3088
|
+
<span class="btn-bar"></span>
|
3089
|
+
</button>
|
3090
|
+
</div>
|
3091
|
+
</div>
|
3092
|
+
<nav class="site-nav">
|
3093
|
+
<ul class="next-main">
|
3094
|
+
|
3095
|
+
<li class="next-main-item">
|
3096
|
+
<a
|
3097
|
+
href="/categories/" title="分类"
|
3098
|
+
|
3099
|
+
active-action="action-categories"
|
3100
|
+
|
3101
|
+
|
3102
|
+
|
3103
|
+
|
3104
|
+
>
|
3105
|
+
|
3106
|
+
<i class="menu-item-icon fa-solid fa-folder-open fa-fw"></i>
|
3107
|
+
|
3108
|
+
分类
|
3109
|
+
</a>
|
3110
|
+
</li>
|
3111
|
+
|
3112
|
+
<li class="next-main-item">
|
3113
|
+
<a
|
3114
|
+
href="/tags/" title="标签"
|
3115
|
+
|
3116
|
+
active-action="action-tags"
|
3117
|
+
|
3118
|
+
|
3119
|
+
|
3120
|
+
|
3121
|
+
>
|
3122
|
+
|
3123
|
+
<i class="menu-item-icon fa-solid fa-tags fa-fw"></i>
|
3124
|
+
|
3125
|
+
标签
|
3126
|
+
</a>
|
3127
|
+
</li>
|
3128
|
+
|
3129
|
+
<li class="next-main-item">
|
3130
|
+
<a
|
3131
|
+
href="/archives/" title="归档"
|
3132
|
+
|
3133
|
+
active-action="action-archives"
|
3134
|
+
|
3135
|
+
|
3136
|
+
|
3137
|
+
|
3138
|
+
>
|
3139
|
+
|
3140
|
+
<i class="menu-item-icon fa-solid fa-archive fa-fw"></i>
|
3141
|
+
|
3142
|
+
归档
|
3143
|
+
</a>
|
3144
|
+
</li>
|
3145
|
+
|
3146
|
+
<li class="next-main-item">
|
3147
|
+
<a
|
3148
|
+
href="/link/" title="友链"
|
3149
|
+
|
3150
|
+
active-action="action-link"
|
3151
|
+
|
3152
|
+
|
3153
|
+
|
3154
|
+
|
3155
|
+
>
|
3156
|
+
|
3157
|
+
<i class="menu-item-icon fa-solid fa-link fa-fw"></i>
|
3158
|
+
|
3159
|
+
友链
|
3160
|
+
</a>
|
3161
|
+
</li>
|
3162
|
+
|
3163
|
+
<li class="next-main-item">
|
3164
|
+
<a
|
3165
|
+
target="_blank" rel="noopener" href="https://www.travellings.cn/go.html" title="开往"
|
3166
|
+
|
3167
|
+
active-action="action-https:wwwtravellingscngohtml"
|
3168
|
+
|
3169
|
+
|
3170
|
+
|
3171
|
+
|
3172
|
+
>
|
3173
|
+
|
3174
|
+
<i class="menu-item-icon fa-solid fa-subway fa-fw"></i>
|
3175
|
+
|
3176
|
+
开往
|
3177
|
+
</a>
|
3178
|
+
</li>
|
3179
|
+
|
3180
|
+
<li class="next-main-item">
|
3181
|
+
<a
|
3182
|
+
target="_blank" rel="noopener" href="https://en.blog.sinzmise.top/" title="English"
|
3183
|
+
|
3184
|
+
active-action="action-https:enblogsinzmisetop"
|
3185
|
+
|
3186
|
+
|
3187
|
+
|
3188
|
+
|
3189
|
+
>
|
3190
|
+
|
3191
|
+
<i class="menu-item-icon fa fa-language fa-fw fa-fw"></i>
|
3192
|
+
|
3193
|
+
English
|
3194
|
+
</a>
|
3195
|
+
</li>
|
3196
|
+
|
3197
|
+
<li class="next-main-item">
|
3198
|
+
<a
|
3199
|
+
href="javascript:void(0)" title="搜索"
|
3200
|
+
|
3201
|
+
active-action="action-javascript:void(0)"
|
3202
|
+
|
3203
|
+
|
3204
|
+
|
3205
|
+
|
3206
|
+
onClick="OpenSearch()"
|
3207
|
+
|
3208
|
+
>
|
3209
|
+
|
3210
|
+
<i class="menu-item-icon fa-solid fa-search fa-fw"></i>
|
3211
|
+
|
3212
|
+
搜索
|
3213
|
+
</a>
|
3214
|
+
</li>
|
3215
|
+
|
3216
|
+
</ul>
|
3217
|
+
</nav>
|
3218
|
+
</section>
|
3219
|
+
|
3220
|
+
|
3221
|
+
|
3222
|
+
|
3223
|
+
|
3224
|
+
|
3225
|
+
|
3226
|
+
<section class="widget nextblogger desktop pjax h-card">
|
3227
|
+
<div class='content'>
|
3228
|
+
|
3229
|
+
|
3230
|
+
<a class='avatar u-url flat-box ' href='https://blog.sinzmise.top/'>
|
3231
|
+
<img no-lazy class="site-author-image u-photo" itemprop="image" src='/img/avatar.png' alt="王九弦SZ·Ninty"/>
|
3232
|
+
</a>
|
3233
|
+
|
3234
|
+
|
3235
|
+
<div class="site-author-box">
|
3236
|
+
<p class="site-author-name p-name" itemprop="name">王九弦SZ·Ninty</p>
|
3237
|
+
<p class="site-author-description" itemprop="description">种下故事的种子,随着风和光生根发芽</p>
|
3238
|
+
</div>
|
3239
|
+
<div class="links-of-author">
|
3240
|
+
|
3241
|
+
<span class="links-of-author-item">
|
3242
|
+
<a href="/atom.xml" title="RSS" alt="汐塔魔法屋" rel="me">
|
3243
|
+
<i class="fa-solid fa-rss fa-fw"></i>
|
3244
|
+
</a>
|
3245
|
+
</span>
|
3246
|
+
|
3247
|
+
<span class="links-of-author-item">
|
3248
|
+
<a href="mailto:email@sinzmise.top" title="Email" alt="汐塔魔法屋" class="u-email"rel="me">
|
3249
|
+
<i class="fa-solid fa-envelope fa-fw"></i>
|
3250
|
+
</a>
|
3251
|
+
</span>
|
3252
|
+
|
3253
|
+
<span class="links-of-author-item">
|
3254
|
+
<a target="_blank" href="https://github.com/SinzMise/" title="Github" alt="汐塔魔法屋" rel="me noopener">
|
3255
|
+
<i class="fab fa-github fa-fw"></i>
|
3256
|
+
</a>
|
3257
|
+
</span>
|
3258
|
+
|
3259
|
+
</div>
|
3260
|
+
</div>
|
3261
|
+
</section>
|
3262
|
+
|
3263
|
+
|
3264
|
+
|
3265
|
+
|
3266
|
+
|
3267
|
+
|
3268
|
+
|
3269
|
+
|
3270
|
+
|
3271
|
+
<section class="widget category desktop pjax">
|
3272
|
+
|
3273
|
+
<header>
|
3274
|
+
|
3275
|
+
<a href='/categories/'>
|
3276
|
+
<span class="icon"><i class="fa-solid fa-folder-open fa-fw" aria-hidden="true"></i></span>
|
3277
|
+
<span class='name'>文章分类</span>
|
3278
|
+
</a>
|
3279
|
+
|
3280
|
+
</header>
|
3281
|
+
|
3282
|
+
|
3283
|
+
<div class='content'>
|
3284
|
+
<ul class="entry navigation">
|
3285
|
+
|
3286
|
+
<li><a class="flat-box"
|
3287
|
+
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/"
|
3288
|
+
active-action="action-categoriesE4B8AAE4BABAE5B08FE8AEB0"
|
3289
|
+
><div class='name'>个人小记</div><div class='badge'>(19)</div></a></li>
|
3290
|
+
|
3291
|
+
<li><a class="flat-box"
|
3292
|
+
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/"
|
3293
|
+
active-action="action-categoriesE6AD8CE69BB2E694B6E99B86"
|
3294
|
+
><div class='name'>歌曲收集</div><div class='badge'>(1)</div></a></li>
|
3295
|
+
|
3296
|
+
<li><a class="flat-box"
|
3297
|
+
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/"
|
3298
|
+
active-action="action-categoriesE6B8B8E6888FE79BB8E585B3"
|
3299
|
+
><div class='name'>游戏相关</div><div class='badge'>(4)</div></a></li>
|
3300
|
+
|
3301
|
+
<li><a class="flat-box"
|
3302
|
+
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/"
|
3303
|
+
active-action="action-categoriesE7AB99E782B9E68A98E885BE"
|
3304
|
+
><div class='name'>站点折腾</div><div class='badge'>(14)</div></a></li>
|
3305
|
+
|
3306
|
+
<li><a class="flat-box"
|
3307
|
+
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/"
|
3308
|
+
active-action="action-categoriesE9A1B9E79BAEE68A98E885BE"
|
3309
|
+
><div class='name'>项目折腾</div><div class='badge'>(3)</div></a></li>
|
3310
|
+
|
3311
|
+
</ul>
|
3312
|
+
</div>
|
3313
|
+
</section>
|
3314
|
+
|
3315
|
+
|
3316
|
+
|
3317
|
+
|
3318
|
+
|
3319
|
+
|
3320
|
+
|
3321
|
+
|
3322
|
+
|
3323
|
+
|
3324
|
+
<section class="widget tagcloud desktop pjax">
|
3325
|
+
|
3326
|
+
<header>
|
3327
|
+
|
3328
|
+
<a href='/tags/'>
|
3329
|
+
<span class="icon"><i class="fa-solid fa-tags fa-fw" aria-hidden="true"></i></span>
|
3330
|
+
<span class='name'>热门标签</span>
|
3331
|
+
</a>
|
3332
|
+
|
3333
|
+
</header>
|
3334
|
+
|
3335
|
+
|
3336
|
+
<div class='content'>
|
3337
|
+
<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>
|
3338
|
+
</div>
|
3339
|
+
</section>
|
3340
|
+
|
3341
|
+
|
3342
|
+
|
3343
|
+
|
3344
|
+
|
3345
|
+
|
3346
|
+
|
3347
|
+
|
3348
|
+
|
3349
|
+
|
3350
|
+
|
3351
|
+
|
3352
|
+
|
3353
|
+
|
3354
|
+
|
3355
|
+
|
3356
|
+
|
3357
|
+
|
3358
|
+
|
3359
|
+
|
3360
|
+
<div class="widget-sticky pjax">
|
3361
|
+
|
3362
|
+
|
3363
|
+
|
3364
|
+
|
3365
|
+
|
3366
|
+
<section class="widget toc-wrapper desktop mobile " id="toc-div" >
|
3367
|
+
|
3368
|
+
<header>
|
3369
|
+
|
3370
|
+
<span class="icon"><i class="fa-solid fa-list fa-fw" aria-hidden="true"></i></span>
|
3371
|
+
<span class='name'>本文目录</span>
|
3372
|
+
|
3373
|
+
</header>
|
3374
|
+
|
3375
|
+
|
3376
|
+
<div class='content'>
|
3377
|
+
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%90%8E%E7%AB%AF%E9%83%A8%E7%BD%B2"><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%89%8D%E7%AB%AF%E9%83%A8%E7%BD%B2"><span class="toc-number">2.</span> <span class="toc-text">前端部署</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Butterfly%E4%B8%BB%E9%A2%98"><span class="toc-number">2.1.</span> <span class="toc-text">Butterfly主题</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#HTML%E4%BB%A3%E7%A0%81"><span class="toc-number">2.2.</span> <span class="toc-text">HTML代码</span></a></li></ol></li></ol>
|
3378
|
+
</div>
|
3379
|
+
</section>
|
3380
|
+
|
3381
|
+
|
3382
|
+
|
3383
|
+
<section class="widget desktop ">
|
3384
|
+
|
3385
|
+
<header>
|
3386
|
+
|
3387
|
+
<span class="icon"><i class="fa-solid fa-award fa-fw" aria-hidden="true"></i></span>
|
3388
|
+
<span class='name'>站点信息</span>
|
3389
|
+
|
3390
|
+
</header>
|
3391
|
+
|
3392
|
+
|
3393
|
+
<div class='content'>
|
3394
|
+
<div class="webinfo">
|
3395
|
+
|
3396
|
+
<div class="webinfo-item">
|
3397
|
+
<div>文章数目:</div>
|
3398
|
+
<div>41 篇</div>
|
3399
|
+
</div>
|
3400
|
+
|
3401
|
+
|
3402
|
+
|
3403
|
+
|
3404
|
+
|
3405
|
+
|
3406
|
+
|
3407
|
+
|
3408
|
+
<div class="webinfo-item">
|
3409
|
+
<div>本站访客数:</div>
|
3410
|
+
<div>
|
3411
|
+
<span id="busuanzi_value_site_uv">
|
3412
|
+
<i class="fa-solid fa-fan fa-spin fa-fw" aria-hidden="true"></i>
|
3413
|
+
</span>
|
3414
|
+
人
|
3415
|
+
</div>
|
3416
|
+
</div>
|
3417
|
+
<div class="webinfo-item">
|
3418
|
+
<div>本站总访问量:</div>
|
3419
|
+
<div>
|
3420
|
+
<span id="busuanzi_value_site_pv">
|
3421
|
+
<i class="fa-solid fa-fan fa-spin fa-fw" aria-hidden="true"></i>
|
3422
|
+
</span>
|
3423
|
+
次
|
3424
|
+
</div>
|
3425
|
+
</div>
|
3426
|
+
|
3427
|
+
|
3428
|
+
|
3429
|
+
<div class="webinfo-item">
|
3430
|
+
<div>最后活动时间:</div>
|
3431
|
+
<div id="last-update-show">2024-11-09 日</div>
|
3432
|
+
</div>
|
3433
|
+
|
3434
|
+
</div>
|
3435
|
+
</div>
|
3436
|
+
|
3437
|
+
</section>
|
3438
|
+
|
3439
|
+
|
3440
|
+
|
3441
|
+
</div>
|
3442
|
+
|
3443
|
+
|
3444
|
+
<!-- 没有 pjax 占位会报错 万恶的 pjax -->
|
3445
|
+
|
3446
|
+
<div class="pjax">
|
3447
|
+
<!-- pjax占位 -->
|
3448
|
+
</div>
|
3449
|
+
|
3450
|
+
<div class="pjax">
|
3451
|
+
<!-- pjax占位 -->
|
3452
|
+
</div>
|
3453
|
+
|
3454
|
+
<div class="pjax">
|
3455
|
+
<!-- pjax占位 -->
|
3456
|
+
</div>
|
3457
|
+
|
3458
|
+
<div class="pjax">
|
3459
|
+
<!-- pjax占位 -->
|
3460
|
+
</div>
|
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
|
+
<!-- Custom Files side begin -->
|
3475
|
+
|
3476
|
+
<!-- Custom Files side end -->
|
3477
|
+
</aside>
|
3478
|
+
|
3479
|
+
|
3480
|
+
|
3481
|
+
<!--此文件用来存放一些不方便取值的变量-->
|
3482
|
+
<!--思路大概是将值藏到重加载的区域内-->
|
3483
|
+
|
3484
|
+
<pjax>
|
3485
|
+
<script>
|
3486
|
+
window.pdata={ispage: true,commentPath: "",commentPlaceholder: "",commentConfig: {}}
|
3487
|
+
|
3488
|
+
if(document.getElementById("l_header")) {
|
3489
|
+
|
3490
|
+
document.getElementById("l_header").classList.add("show");
|
3491
|
+
|
3492
|
+
}
|
3493
|
+
|
3494
|
+
|
3495
|
+
</script>
|
3496
|
+
</pjax>
|
3497
|
+
</div>
|
3498
|
+
|
3499
|
+
|
3500
|
+
<footer class="footer clearfix" itemscope itemtype="http://schema.org/WPFooter">
|
3501
|
+
<br><br>
|
3502
|
+
|
3503
|
+
|
3504
|
+
<br>
|
3505
|
+
<div class="social-wrapper" itemprop="about" itemscope itemtype="http://schema.org/Thing">
|
3506
|
+
|
3507
|
+
|
3508
|
+
<a href="https://www.travellings.cn/go.html"
|
3509
|
+
class="social flat-btn"
|
3510
|
+
target="_blank"
|
3511
|
+
rel="external nofollow noopener noreferrer" itemprop="url" alt='开往-友链接力'>
|
3512
|
+
|
3513
|
+
<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=="/>
|
3514
|
+
|
3515
|
+
</a>
|
3516
|
+
|
3517
|
+
|
3518
|
+
|
3519
|
+
<a href="https://boringbay.com"
|
3520
|
+
class="social flat-btn"
|
3521
|
+
target="_blank"
|
3522
|
+
rel="external nofollow noopener noreferrer" itemprop="url" alt='无聊湾 🥱 The Boring Bay'>
|
3523
|
+
|
3524
|
+
<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=="/>
|
3525
|
+
|
3526
|
+
</a>
|
3527
|
+
|
3528
|
+
|
3529
|
+
|
3530
|
+
<a href="https://blogscn.fun/"
|
3531
|
+
class="social flat-btn"
|
3532
|
+
target="_blank"
|
3533
|
+
rel="external nofollow noopener noreferrer" itemprop="url" alt='本站已加入BLOGS·CN'>
|
3534
|
+
|
3535
|
+
<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=="/>
|
3536
|
+
|
3537
|
+
</a>
|
3538
|
+
|
3539
|
+
|
3540
|
+
|
3541
|
+
<a href="https://blogscn.fun/random.html"
|
3542
|
+
class="social flat-btn"
|
3543
|
+
target="_blank"
|
3544
|
+
rel="external nofollow noopener noreferrer" itemprop="url" alt='BLOGS·CN随机访问'>
|
3545
|
+
|
3546
|
+
<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=="/>
|
3547
|
+
|
3548
|
+
</a>
|
3549
|
+
|
3550
|
+
|
3551
|
+
</div>
|
3552
|
+
|
3553
|
+
|
3554
|
+
|
3555
|
+
<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>
|
3556
|
+
</div>
|
3557
|
+
|
3558
|
+
|
3559
|
+
|
3560
|
+
由 <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>
|
3561
|
+
|
3562
|
+
|
3563
|
+
|
3564
|
+
<div class='copyright'>
|
3565
|
+
<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&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>
|
3566
|
+
|
3567
|
+
</div>
|
3568
|
+
|
3569
|
+
|
3570
|
+
<!-- Custom Files footer begin-->
|
3571
|
+
|
3572
|
+
<!-- Custom Files footer end-->
|
3573
|
+
</footer>
|
3574
|
+
|
3575
|
+
|
3576
|
+
<a id="s-top" class="fa-solid fa-arrow-up fa-fw" title="top"></a>
|
3577
|
+
</div>
|
3578
|
+
</div>
|
3579
|
+
<div>
|
3580
|
+
<script>
|
3581
|
+
/******************** volantis.dom ********************************/
|
3582
|
+
// 页面选择器 将dom对象缓存起来 see: /source/js/app.js etc.
|
3583
|
+
volantis.dom.bodyAnchor = volantis.dom.$(document.getElementById("safearea")); // 页面主体
|
3584
|
+
volantis.dom.topBtn = volantis.dom.$(document.getElementById('s-top')); // 向上
|
3585
|
+
volantis.dom.wrapper = volantis.dom.$(document.getElementById('wrapper')); // 整个导航栏
|
3586
|
+
volantis.dom.coverAnchor = volantis.dom.$(document.querySelector('#l_cover .cover-wrapper')); // 1个
|
3587
|
+
volantis.dom.switcher = volantis.dom.$(document.querySelector('#l_header .switcher .s-search')); // 搜索按钮 移动端 1个
|
3588
|
+
volantis.dom.header = volantis.dom.$(document.getElementById('l_header')); // 移动端导航栏
|
3589
|
+
volantis.dom.search = volantis.dom.$(document.querySelector('#l_header .m_search')); //搜索框 桌面端 移动端 1个
|
3590
|
+
volantis.dom.mPhoneList = volantis.dom.$(document.querySelectorAll('#l_header .m-phone .list-v')); // 手机端 子菜单 多个
|
3591
|
+
|
3592
|
+
top.location!=self.location&&(top.location=self.location);
|
3593
|
+
|
3594
|
+
volantis.css("https://jsd.cdn.storisinz.site/npm/@fortawesome/fontawesome-free@6.1.1/css/all.min.css");
|
3595
|
+
|
3596
|
+
|
3597
|
+
|
3598
|
+
</script>
|
3599
|
+
|
3600
|
+
<!-- required -->
|
3601
|
+
|
3602
|
+
|
3603
|
+
<!-- internal -->
|
3604
|
+
|
3605
|
+
<script src="/js/app.js"></script>
|
3606
|
+
|
3607
|
+
|
3608
|
+
|
3609
|
+
|
3610
|
+
<!-- rightmenu要在darkmode之前(ToggleButton) darkmode要在comments之前(volantis.dark.push)-->
|
3611
|
+
|
3612
|
+
|
3613
|
+
|
3614
|
+
<script>
|
3615
|
+
function loadIssuesJS() {
|
3616
|
+
|
3617
|
+
const sites_api = document.getElementById('sites-api');
|
3618
|
+
if (sites_api != undefined && typeof SitesJS === 'undefined') {
|
3619
|
+
volantis.js("/js/plugins/tags/sites.js")
|
3620
|
+
}
|
3621
|
+
|
3622
|
+
|
3623
|
+
const friends_api = document.getElementById('friends-api');
|
3624
|
+
if (friends_api != undefined && typeof FriendsJS === 'undefined') {
|
3625
|
+
volantis.js("/js/plugins/tags/friends.js")
|
3626
|
+
}
|
3627
|
+
|
3628
|
+
|
3629
|
+
const contributors_api = document.getElementById('contributors-api');
|
3630
|
+
if (contributors_api != undefined && typeof ContributorsJS === 'undefined') {
|
3631
|
+
volantis.js("/js/plugins/tags/contributors.js")
|
3632
|
+
}
|
3633
|
+
|
3634
|
+
};
|
3635
|
+
loadIssuesJS()
|
3636
|
+
volantis.pjax.push(()=>{
|
3637
|
+
loadIssuesJS();
|
3638
|
+
})
|
3639
|
+
|
3640
|
+
</script>
|
3641
|
+
|
3642
|
+
|
3643
|
+
|
3644
|
+
|
3645
|
+
<script defer src="https://jsd.cdn.storisinz.site/npm/vanilla-lazyload@17.1.0/dist/lazyload.min.js"></script>
|
3646
|
+
<script>
|
3647
|
+
// https://www.npmjs.com/package/vanilla-lazyload
|
3648
|
+
// Set the options globally
|
3649
|
+
// to make LazyLoad self-initialize
|
3650
|
+
window.lazyLoadOptions = {
|
3651
|
+
elements_selector: ".lazyload",
|
3652
|
+
threshold: 0
|
3653
|
+
};
|
3654
|
+
// Listen to the initialization event
|
3655
|
+
// and get the instance of LazyLoad
|
3656
|
+
window.addEventListener(
|
3657
|
+
"LazyLoad::Initialized",
|
3658
|
+
function (event) {
|
3659
|
+
window.lazyLoadInstance = event.detail.instance;
|
3660
|
+
},
|
3661
|
+
false
|
3662
|
+
);
|
3663
|
+
document.addEventListener('DOMContentLoaded', function () {
|
3664
|
+
lazyLoadInstance.update();
|
3665
|
+
});
|
3666
|
+
document.addEventListener('pjax:complete', function () {
|
3667
|
+
lazyLoadInstance.update();
|
3668
|
+
});
|
3669
|
+
</script>
|
3670
|
+
|
3671
|
+
|
3672
|
+
|
3673
|
+
|
3674
|
+
|
3675
|
+
<script>
|
3676
|
+
window.FPConfig = {
|
3677
|
+
delay: 0,
|
3678
|
+
ignoreKeywords: ["#"],
|
3679
|
+
maxRPS: 6,
|
3680
|
+
hoverDelay: 0
|
3681
|
+
};
|
3682
|
+
</script>
|
3683
|
+
<script defer src="https://jsd.cdn.storisinz.site/npm/volantis-static@0.0.1660614606622/libs/flying-pages/flying-pages.min.js"></script>
|
3684
|
+
|
3685
|
+
|
3686
|
+
|
3687
|
+
|
3688
|
+
|
3689
|
+
|
3690
|
+
|
3691
|
+
|
3692
|
+
|
3693
|
+
<script>
|
3694
|
+
volantis.layoutHelper("comments",`<div id="twikoo_container"><i class="fa-solid fa-cog fa-spin fa-fw fa-2x"></i></div>`)
|
3695
|
+
function load_twikoo() {
|
3696
|
+
if(!document.querySelectorAll("#twikoo_container")[0])return;
|
3697
|
+
volantis.js("https://jsd.cdn.storisinz.site/npm/twikoo@1.6.39/dist/twikoo.min.js", pjax_twikoo)
|
3698
|
+
}
|
3699
|
+
function pjax_twikoo() {
|
3700
|
+
if(!document.querySelectorAll("#twikoo_container")[0])return;
|
3701
|
+
let path = pdata.commentPath;
|
3702
|
+
let placeholder = pdata.commentPlaceholder || "" || "";
|
3703
|
+
if (path.length == 0) {
|
3704
|
+
let defaultPath = '';
|
3705
|
+
path = defaultPath || decodeURI(window.location.pathname);
|
3706
|
+
}
|
3707
|
+
twikoo.init(Object.assign(Object.assign({"path":null,"envId":"https://tk.pl.blog.sinzmise.top/","placeholder":null,"visitor":false}, {
|
3708
|
+
el: '#twikoo_container',
|
3709
|
+
path: path,
|
3710
|
+
placeholder: placeholder,
|
3711
|
+
onCommentLoaded: function() {
|
3712
|
+
if(typeof VolantisFancyBox === "undefined") {
|
3713
|
+
const checkFancyBox = setInterval(() => {
|
3714
|
+
if(typeof VolantisFancyBox === "undefined") return;
|
3715
|
+
clearInterval(checkFancyBox);
|
3716
|
+
VolantisFancyBox.groupBind('.tk-content img:not([class*="emo"])', 'Comments');
|
3717
|
+
})
|
3718
|
+
} else {
|
3719
|
+
VolantisFancyBox.groupBind('.tk-content img:not([class*="emo"])', 'Comments');
|
3720
|
+
}
|
3721
|
+
}
|
3722
|
+
}),pdata.commentConfig))
|
3723
|
+
}
|
3724
|
+
load_twikoo();
|
3725
|
+
volantis.pjax.push(()=>{
|
3726
|
+
if (typeof twikoo == "undefined") {
|
3727
|
+
load_twikoo();
|
3728
|
+
} else {
|
3729
|
+
pjax_twikoo();
|
3730
|
+
}
|
3731
|
+
},'twikoo');
|
3732
|
+
</script>
|
3733
|
+
|
3734
|
+
|
3735
|
+
|
3736
|
+
|
3737
|
+
|
3738
|
+
<script defer src="https://jsd.cdn.storisinz.site/npm/penndu@1.0.0/bsz.js" data-pjax></script>
|
3739
|
+
|
3740
|
+
|
3741
|
+
<!-- optional -->
|
3742
|
+
|
3743
|
+
<script>
|
3744
|
+
async function loadSearchScript() {
|
3745
|
+
|
3746
|
+
await volantis.js("https://jsd.cdn.storisinz.site/npm/algoliasearch@4.14.2/dist/algoliasearch-lite.umd.js")
|
3747
|
+
await volantis.js("https://jsd.cdn.storisinz.site/npm/instantsearch.js@4.44.0/dist/instantsearch.production.min.js")
|
3748
|
+
|
3749
|
+
|
3750
|
+
|
3751
|
+
return volantis.js("/js/search/algolia.js");
|
3752
|
+
}
|
3753
|
+
loadSearchScript();
|
3754
|
+
function loadSearchService() {
|
3755
|
+
document.querySelectorAll(".input.u-search-input").forEach((e) => {
|
3756
|
+
e.removeEventListener("focus", loadSearchService, false);
|
3757
|
+
});
|
3758
|
+
|
3759
|
+
document.querySelectorAll(".u-search-form").forEach((e) => {
|
3760
|
+
e.addEventListener("submit", (event) => {
|
3761
|
+
event.preventDefault();
|
3762
|
+
}, false);
|
3763
|
+
});
|
3764
|
+
}
|
3765
|
+
|
3766
|
+
// 打开并搜索 字符串 s
|
3767
|
+
function OpenSearch(s="") {
|
3768
|
+
if (typeof SearchService === 'undefined')
|
3769
|
+
loadSearchScript().then(() => {
|
3770
|
+
SearchService.setQueryText(s);
|
3771
|
+
SearchService.search();
|
3772
|
+
});
|
3773
|
+
else {
|
3774
|
+
SearchService.setQueryText(s);
|
3775
|
+
SearchService.search();
|
3776
|
+
}
|
3777
|
+
}
|
3778
|
+
|
3779
|
+
// 访问含有 ?s=xxx 的链接时打开搜索 // 与搜索引擎 structured data 相关: /scripts/helpers/structured-data/lib/config.js
|
3780
|
+
if (window.location.search && /^\?s=/g.test(window.location.search)) {
|
3781
|
+
let queryText = decodeURI(window.location.search)
|
3782
|
+
.replace(/\ /g, "-")
|
3783
|
+
.replace(/^\?s=/g, "");
|
3784
|
+
OpenSearch(queryText);
|
3785
|
+
}
|
3786
|
+
|
3787
|
+
// 搜索输入框获取焦点时加载搜索
|
3788
|
+
document.querySelectorAll(".input.u-search-input").forEach((e) => {
|
3789
|
+
e.addEventListener("focus", loadSearchService, false);
|
3790
|
+
});
|
3791
|
+
</script>
|
3792
|
+
|
3793
|
+
|
3794
|
+
|
3795
|
+
|
3796
|
+
|
3797
|
+
|
3798
|
+
|
3799
|
+
<script>
|
3800
|
+
|
3801
|
+
|
3802
|
+
|
3803
|
+
function pjax_highlightjs_copyCode(){
|
3804
|
+
if (!(document.querySelector(".highlight .code pre") ||
|
3805
|
+
document.querySelector(".article pre code"))) {
|
3806
|
+
return;
|
3807
|
+
}
|
3808
|
+
VolantisApp.utilCopyCode(".highlight .code pre, .article pre code")
|
3809
|
+
}
|
3810
|
+
volantis.requestAnimationFrame(pjax_highlightjs_copyCode)
|
3811
|
+
volantis.pjax.push(pjax_highlightjs_copyCode)
|
3812
|
+
|
3813
|
+
</script>
|
3814
|
+
|
3815
|
+
|
3816
|
+
|
3817
|
+
|
3818
|
+
|
3819
|
+
|
3820
|
+
|
3821
|
+
|
3822
|
+
|
3823
|
+
|
3824
|
+
<script>
|
3825
|
+
function load_swiper() {
|
3826
|
+
if (!document.querySelectorAll(".swiper-container")[0]) return;
|
3827
|
+
volantis.css("https://jsd.cdn.storisinz.site/npm/swiper@8.3.2/swiper-bundle.min.css");
|
3828
|
+
volantis.js("https://jsd.cdn.storisinz.site/npm/swiper@8.3.2/swiper-bundle.min.js").then(() => {
|
3829
|
+
pjax_swiper();
|
3830
|
+
});
|
3831
|
+
}
|
3832
|
+
|
3833
|
+
load_swiper();
|
3834
|
+
|
3835
|
+
function pjax_swiper() {
|
3836
|
+
volantis.swiper = new Swiper('.swiper-container', {
|
3837
|
+
slidesPerView: 'auto',
|
3838
|
+
spaceBetween: 8,
|
3839
|
+
centeredSlides: true,
|
3840
|
+
loop: true,
|
3841
|
+
pagination: {
|
3842
|
+
el: '.swiper-pagination',
|
3843
|
+
clickable: true,
|
3844
|
+
},
|
3845
|
+
navigation: {
|
3846
|
+
nextEl: '.swiper-button-next',
|
3847
|
+
prevEl: '.swiper-button-prev',
|
3848
|
+
},
|
3849
|
+
});
|
3850
|
+
}
|
3851
|
+
|
3852
|
+
volantis.pjax.push(() => {
|
3853
|
+
if (!document.querySelectorAll(".swiper-container")[0]) return;
|
3854
|
+
if (typeof volantis.swiper === "undefined") {
|
3855
|
+
load_swiper();
|
3856
|
+
} else {
|
3857
|
+
pjax_swiper();
|
3858
|
+
}
|
3859
|
+
});
|
3860
|
+
</script>
|
3861
|
+
|
3862
|
+
|
3863
|
+
|
3864
|
+
|
3865
|
+
<!-- pjax 标签必须存在于所有页面 否则 pjax error -->
|
3866
|
+
<pjax>
|
3867
|
+
|
3868
|
+
</pjax>
|
3869
|
+
|
3870
|
+
<script>
|
3871
|
+
function listenSidebarTOC() {
|
3872
|
+
const navItems = document.querySelectorAll(".toc li");
|
3873
|
+
if (!navItems.length) return;
|
3874
|
+
const targets = []
|
3875
|
+
const sections = Array.from(navItems).forEach((element) => {
|
3876
|
+
const link = element.querySelector(".toc-link");
|
3877
|
+
const target = document.getElementById(
|
3878
|
+
link.getAttribute("href") ? decodeURI(link.getAttribute("href")).replace("#", "") : link.getAttribute("toc-action").split("toc-")[1] // 兼容 hexo-blog-encrypt
|
3879
|
+
);
|
3880
|
+
targets.push(target)
|
3881
|
+
// 解除 a 标签 href 的 锚点定位, a 标签 href 的 锚点定位 会随机启用?? 产生错位???
|
3882
|
+
if (link.getAttribute("href")) {
|
3883
|
+
link.setAttribute("toc-action", "toc-" + decodeURI(link.getAttribute("href")).replace("#", ""))
|
3884
|
+
link.removeAttribute("href")
|
3885
|
+
}
|
3886
|
+
// 配置 点击 触发新的锚点定位
|
3887
|
+
if (target && target.id) {
|
3888
|
+
link.addEventListener("click", (event) => {
|
3889
|
+
event.preventDefault();
|
3890
|
+
// 这里的 addTop 是通过错位使得 toc 自动展开.
|
3891
|
+
volantis.scroll.to(target, { addTop: 5, observer: true })
|
3892
|
+
// Anchor id
|
3893
|
+
history.pushState(null, document.title, "#" + target.id);
|
3894
|
+
});
|
3895
|
+
}
|
3896
|
+
return target;
|
3897
|
+
});
|
3898
|
+
|
3899
|
+
function activateNavByIndex(target) {
|
3900
|
+
if (target.classList.contains("active-current")) return;
|
3901
|
+
|
3902
|
+
document.querySelectorAll(".toc .active").forEach((element) => {
|
3903
|
+
element.classList.remove("active", "active-current");
|
3904
|
+
});
|
3905
|
+
target.classList.add("active", "active-current");
|
3906
|
+
let parent = target.parentNode;
|
3907
|
+
while (!parent.matches(".toc")) {
|
3908
|
+
if (parent.matches("li")) parent.classList.add("active");
|
3909
|
+
parent = parent.parentNode;
|
3910
|
+
}
|
3911
|
+
}
|
3912
|
+
|
3913
|
+
// 方案一:
|
3914
|
+
volantis.activateNavIndex = 0
|
3915
|
+
activateNavByIndex(navItems[volantis.activateNavIndex])
|
3916
|
+
if (targets[0]) {
|
3917
|
+
volantis.scroll.push(() => {
|
3918
|
+
if (targets[0].getBoundingClientRect().top >= 0) {
|
3919
|
+
volantis.activateNavIndex = 0
|
3920
|
+
} else if (targets[targets.length - 1].getBoundingClientRect().top < 0) {
|
3921
|
+
volantis.activateNavIndex = targets.length - 1
|
3922
|
+
} else {
|
3923
|
+
for (let index = 0; index < targets.length; index++) {
|
3924
|
+
const target0 = targets[index];
|
3925
|
+
const target1 = targets[(index + 1) % targets.length];
|
3926
|
+
if (target0.getBoundingClientRect().top < 0 && target1.getBoundingClientRect().top >= 0) {
|
3927
|
+
volantis.activateNavIndex = index
|
3928
|
+
break;
|
3929
|
+
}
|
3930
|
+
}
|
3931
|
+
}
|
3932
|
+
activateNavByIndex(navItems[volantis.activateNavIndex])
|
3933
|
+
})
|
3934
|
+
}
|
3935
|
+
|
3936
|
+
// 方案二:
|
3937
|
+
// IntersectionObserver 不是完美精确到像素级别 也不是低延时性的
|
3938
|
+
// function findIndex(entries) {
|
3939
|
+
// let index = 0;
|
3940
|
+
// let entry = entries[index];
|
3941
|
+
// if (entry.boundingClientRect.top > 0) {
|
3942
|
+
// index = sections.indexOf(entry.target);
|
3943
|
+
// return index === 0 ? 0 : index - 1;
|
3944
|
+
// }
|
3945
|
+
// for (; index < entries.length; index++) {
|
3946
|
+
// if (entries[index].boundingClientRect.top <= 0) {
|
3947
|
+
// entry = entries[index];
|
3948
|
+
// } else {
|
3949
|
+
// return sections.indexOf(entry.target);
|
3950
|
+
// }
|
3951
|
+
// }
|
3952
|
+
// return sections.indexOf(entry.target);
|
3953
|
+
// }
|
3954
|
+
// function createIntersectionObserver(marginTop) {
|
3955
|
+
// marginTop = Math.floor(marginTop + 10000);
|
3956
|
+
// let intersectionObserver = new IntersectionObserver(
|
3957
|
+
// (entries, observe) => {
|
3958
|
+
// let scrollHeight = document.documentElement.scrollHeight;
|
3959
|
+
// if (scrollHeight > marginTop) {
|
3960
|
+
// observe.disconnect();
|
3961
|
+
// createIntersectionObserver(scrollHeight);
|
3962
|
+
// return;
|
3963
|
+
// }
|
3964
|
+
// let index = findIndex(entries);
|
3965
|
+
// activateNavByIndex(navItems[index]);
|
3966
|
+
// }, {
|
3967
|
+
// rootMargin: marginTop + "px 0px -100% 0px",
|
3968
|
+
// threshold: 0,
|
3969
|
+
// }
|
3970
|
+
// );
|
3971
|
+
// sections.forEach((element) => {
|
3972
|
+
// element && intersectionObserver.observe(element);
|
3973
|
+
// });
|
3974
|
+
// }
|
3975
|
+
// createIntersectionObserver(document.documentElement.scrollHeight);
|
3976
|
+
}
|
3977
|
+
|
3978
|
+
document.addEventListener("DOMContentLoaded", () => {
|
3979
|
+
volantis.requestAnimationFrame(listenSidebarTOC)
|
3980
|
+
});
|
3981
|
+
volantis.pjax.push(listenSidebarTOC);
|
3982
|
+
</script>
|
3983
|
+
|
3984
|
+
|
3985
|
+
|
3986
|
+
|
3987
|
+
|
3988
|
+
<script>
|
3989
|
+
document.onreadystatechange = function () {
|
3990
|
+
if (document.readyState == 'complete') {
|
3991
|
+
// 页面加载完毕 样式加载失败,或是当前网速慢,或是开启了省流模式
|
3992
|
+
const { saveData, effectiveType } = navigator.connection || navigator.mozConnection || navigator.webkitConnection || {}
|
3993
|
+
if (getComputedStyle(document.querySelector("#safearea"), null)["display"] == "none" || saveData || /2g/.test(effectiveType)) {
|
3994
|
+
document.querySelectorAll(".reveal").forEach(function (e) {
|
3995
|
+
e.style["opacity"] = "1";
|
3996
|
+
});
|
3997
|
+
document.querySelector("#safearea").style["display"] = "block";
|
3998
|
+
}
|
3999
|
+
}
|
4000
|
+
}
|
4001
|
+
</script>
|
4002
|
+
|
4003
|
+
|
4004
|
+
<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/61417/","name":"自建Meting服务"}}]},{"@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":"自建Meting服务","description":"Meting官方API用不了了,所以。。。。。","inLanguage":"zh-CN","mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.sinzmise.top/posts/61417/"},"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/61417/","wordCount":69,"datePublished":"2023-01-19T19:52:34.000Z","dateModified":"2024-11-09T01:01:16.509Z","articleSection":"站点折腾","keywords":"站点折腾,自建部署","image":{"@type":"ImageObject","url":"https://jsd.cdn.storisinz.site/gh/SinzMise/MYPictures@master/20230128/30165599-36623bea-93a6-11e7-8956-1ddf99ce0e6f.2rbu2i9xfvy0.webp","width":1024,"height":768}}]</script>
|
4005
|
+
|
4006
|
+
|
4007
|
+
|
4008
|
+
|
4009
|
+
|
4010
|
+
<!--
|
4011
|
+
pjax重载区域接口:
|
4012
|
+
1. <pjax></pjax> 标签 pjax 标签必须存在于所有页面 否则 pjax error
|
4013
|
+
2. script[data-pjax]
|
4014
|
+
3. .pjax-reload script
|
4015
|
+
4. .pjax
|
4016
|
+
-->
|
4017
|
+
|
4018
|
+
|
4019
|
+
|
4020
|
+
<script src="https://jsd.cdn.storisinz.site/npm/pjax@0.2.8/pjax.min.js"></script>
|
4021
|
+
|
4022
|
+
<script>
|
4023
|
+
var pjax;
|
4024
|
+
document.addEventListener('DOMContentLoaded', function () {
|
4025
|
+
pjax = new Pjax({
|
4026
|
+
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"])',
|
4027
|
+
// 这里的 selectors 需要保证每个页面都含有相同的数目
|
4028
|
+
selectors: [
|
4029
|
+
"head title",
|
4030
|
+
"head meta[name=keywords]",
|
4031
|
+
"head meta[name=description]",
|
4032
|
+
"#l_cover",
|
4033
|
+
"#l_main",
|
4034
|
+
"#pjax-header-nav-list",
|
4035
|
+
".pjax",
|
4036
|
+
"pjax", // <pjax></pjax> 标签
|
4037
|
+
],
|
4038
|
+
cacheBust: false, // url 地址追加时间戳,用以避免浏览器缓存
|
4039
|
+
timeout: 5000,
|
4040
|
+
|
4041
|
+
});
|
4042
|
+
});
|
4043
|
+
|
4044
|
+
document.addEventListener('pjax:send', function (e) {
|
4045
|
+
//window.stop(); // 相当于点击了浏览器的停止按钮
|
4046
|
+
try {
|
4047
|
+
var currentUrl = window.location.pathname;
|
4048
|
+
var targetUrl = e.triggerElement.href;
|
4049
|
+
var excludeList = [""];
|
4050
|
+
if (excludeList[0] != "") {
|
4051
|
+
excludeList.forEach(item => {
|
4052
|
+
if(currentUrl.indexOf(item) != -1 || targetUrl.indexOf(item) != -1) {
|
4053
|
+
window.location.href = targetUrl;
|
4054
|
+
}
|
4055
|
+
});
|
4056
|
+
}
|
4057
|
+
} catch (error) {}
|
4058
|
+
|
4059
|
+
// 使用 volantis.pjax.send 方法传入pjax:send回调函数 参见layout/_partial/scripts/global.ejs
|
4060
|
+
volantis.pjax.method.send.start();
|
4061
|
+
});
|
4062
|
+
|
4063
|
+
document.addEventListener('pjax:complete', function () {
|
4064
|
+
// 这里的 script 不需要保证每个页面都含有相同的数目
|
4065
|
+
document.querySelectorAll('script[data-pjax], .pjax-reload script').forEach(e=>{
|
4066
|
+
const code = e.text || e.textContent || e.innerHTML || '';
|
4067
|
+
const script = document.createElement('script');
|
4068
|
+
Object.keys(e.attributes).forEach(i=>{
|
4069
|
+
script.setAttribute(e.attributes[i].nodeName,e.attributes[i].nodeValue)
|
4070
|
+
})
|
4071
|
+
if (code) {
|
4072
|
+
script.appendChild(document.createTextNode(code));
|
4073
|
+
}
|
4074
|
+
e.parentNode.replaceChild(script, e);
|
4075
|
+
});
|
4076
|
+
|
4077
|
+
// 使用 volantis.pjax.push 方法传入重载函数 参见layout/_partial/scripts/global.ejs
|
4078
|
+
volantis.pjax.method.complete.start();
|
4079
|
+
});
|
4080
|
+
|
4081
|
+
document.addEventListener('pjax:error', function (e) {
|
4082
|
+
if(volantis.debug === "pjax") {
|
4083
|
+
console.error(e);
|
4084
|
+
console.log('pjax error: \n' + JSON.stringify(e));
|
4085
|
+
}else{
|
4086
|
+
// 使用 volantis.pjax.error 方法传入pjax:error回调函数 参见layout/_partial/scripts/global.ejs
|
4087
|
+
volantis.pjax.method.error.start();
|
4088
|
+
window.location.href = e.triggerElement.href;
|
4089
|
+
}
|
4090
|
+
});
|
4091
|
+
</script>
|
4092
|
+
|
4093
|
+
|
4094
|
+
</div>
|
4095
|
+
<!-- import body_end begin-->
|
4096
|
+
<!-- import body_end end-->
|
4097
|
+
<!-- Custom Files bodyEnd begin-->
|
4098
|
+
|
4099
|
+
<!-- Custom Files bodyEnd end-->
|
4100
|
+
<!-- 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)=>{
|
4101
|
+
return [
|
4102
|
+
defaultItems[0],
|
4103
|
+
defaultItems[2],
|
4104
|
+
defaultItems[3]
|
4105
|
+
]
|
4106
|
+
}
|
4107
|
+
},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(){
|
4108
|
+
return axios.get('https://v1.hitokoto.cn?c=i')
|
4109
|
+
.then(function (response) {
|
4110
|
+
return response.data.hitokoto ;
|
4111
|
+
})
|
4112
|
+
.catch(function (error) {
|
4113
|
+
console.error(error);
|
4114
|
+
});
|
4115
|
+
}
|
4116
|
+
}}});</script><!-- hexo injector body_end end --></body>
|
4117
|
+
</html>
|