forked from xaoxuu/volantis.js.org
-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
1 lines (1 loc) · 134 KB
/
index.html
1
<!DOCTYPE html><html lang="zh-CN"><head hexo-theme="https://github.com/volantis-x/hexo-theme-volantis/#6.0.0-alpha.1"><meta name="generator" content="Hexo 7.1.1"><meta name="Volantis" content="6.0.0-alpha.1"><meta charset="utf-8"><meta name="robots" content="index,follow"><link rel="canonical" href="https://volantis.js.org/"><meta http-equiv="x-dns-prefetch-control" content="on"><link rel="dns-prefetch" href="https://unpkg.com"><link rel="preconnect" href="https://unpkg.com" crossorigin><link rel="dns-prefetch" href="https://cdn.bootcdn.net"><link rel="preconnect" href="https://cdn.bootcdn.net" crossorigin><meta name="renderer" content="webkit"><meta name="force-rendering" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"><meta http-equiv="Content-Security-Policy" content=" default-src 'self' https:; block-all-mixed-content; base-uri 'self' https:; form-action 'self' https:; worker-src 'self' https:; connect-src 'self' https: *; img-src 'self' data: https: *; media-src 'self' https: *; font-src 'self' data: https: *; frame-src 'self' https: *; manifest-src 'self' https: *; child-src https:; script-src 'self' https: 'unsafe-inline' *; style-src 'self' https: 'unsafe-inline' *; "><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"><meta name="msapplication-TileColor" content="#ffffff"><meta name="msapplication-config" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/browserconfig.xml"><meta name="theme-color" content="#ffffff"><link rel="apple-touch-icon" sizes="180x180" href="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/favicon-16x16.png"><link rel="manifest" href="/site.webmanifest"><link rel="mask-icon" href="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/safari-pinned-tab.svg" color="#5bbad5"><link rel="shortcut icon" href="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/favicon.ico"><meta name="apple-mobile-web-app-title" content="Volantis"><meta name="application-name" content="Volantis"><meta name="msapplication-TileColor" content="#f4f4f4"><meta name="msapplication-TileImage" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/favicon-32x32.png"><meta name="theme-color" content="#f4f4f4" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#121212" media="(prefers-color-scheme: dark)"><script>"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(r=>{r.unregister()})</script><link rel="preload" href="/css/style.css" as="style"><link rel="preload" href="https://unpkg.com/[email protected]/media/fonts/Dosis/Dosis-Medium.ttf" as="font" type="font/ttf" crossorigin="anonymous"><link rel="preload" href="https://unpkg.com/[email protected]/media/fonts/Dosis/Dosis-Medium.ttf" as="font" type="font/ttf" crossorigin="anonymous"><link rel="alternate" href="/atom.xml" title="Volantis" type="application/atom+xml"><title>Volantis</title><meta name="keywords" content="Volantis,Hexo,Hexo主题,Blog,博客"><meta desc name="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。 - Volantis Team - Volantis"><meta property="og:type" content="website"><meta property="og:title" content="Volantis"><meta property="og:url" content="https://volantis.js.org/"><meta property="og:site_name" content="Volantis"><meta property="og:description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"><meta property="og:locale" content="zh_CN"><meta property="og:image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"><meta property="article:author" content="Volantis Team"><meta property="article:tag" content="Volantis,Hexo,Hexo主题,Blog,博客"><meta name="twitter:card" content="summary"><meta name="twitter:image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"><style>#safearea{display:none}.post-story+.post-story{content-visibility:auto;contain-intrinsic-size:10px 500px}: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:#f6f6f6;--color-inlinecode:#c74f00;--color-codeblock:#fff7ea;--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}*{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:Dosis,"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 .28s ease;-moz-transition:all .28s ease;-o-transition:all .28s ease;-ms-transition:all .28s ease}a:hover{color:#ff5722}a:active,a:hover{outline:0}ol,ul{padding-left:0}ol li,ul li{list-style:none}header{display:-webkit-box;display:-moz-box;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)}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)}}.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 .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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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:400px;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:.4;-moz-opacity:.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:.4;-moz-opacity:.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:.4;-moz-opacity:.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:.4;-moz-opacity:.4}100%{top:0;opacity:1;-webkit-opacity:1;-moz-opacity:1}}.cover-wrapper .cover-body{margin-top:64px;margin-bottom:100px}.cover-wrapper .cover-body,.cover-wrapper .cover-body .bottom,.cover-wrapper .cover-body .top{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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:Dosis,"PingFang SC","Microsoft YaHei",Helvetica,Arial,Helvetica,monospace;font-size:3.125rem;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.1)}.cover-wrapper .cover-body .subtitle{font-size:20px}.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:1.05rem}.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:-webkit-box;display:-moz-box;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 .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:-webkit-box;display:-moz-box;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:-webkit-box;display:-moz-box;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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;display:flex;font-weight:600}.cover-wrapper .list-h a img{display:-webkit-box;display:-moz-box;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:16px}.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:.75;-moz-opacity:.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)}.cover-wrapper.dock .menu,.cover-wrapper.featured .menu,.cover-wrapper.focus .menu{border-radius:6px;-webkit-border-radius:6px}.cover-wrapper.dock .menu .list-h a,.cover-wrapper.featured .menu .list-h a,.cover-wrapper.focus .menu .list-h a{-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;padding:12px;line-height:24px;border-radius:4px;-webkit-border-radius:4px;border-bottom:none;text-align:center;align-content:flex-end;color:rgba(68,68,68,.7);font-size:1.5rem}@media screen and (max-width:500px){.cover-wrapper.dock .menu .list-h a,.cover-wrapper.featured .menu .list-h a,.cover-wrapper.focus .menu .list-h a{padding:12px 8px}}.cover-wrapper.dock .menu .list-h a i,.cover-wrapper.featured .menu .list-h a i,.cover-wrapper.focus .menu .list-h a i{margin:8px}.cover-wrapper.dock .menu .list-h a p,.cover-wrapper.featured .menu .list-h a p,.cover-wrapper.focus .menu .list-h a p{font-size:.875rem}.cover-wrapper.dock .menu .list-h a.active,.cover-wrapper.featured .menu .list-h a.active,.cover-wrapper.focus .menu .list-h a.active{background:var(--color-card);backdrop-filter:none}.cover-wrapper.dock .menu .list-h a.active i,.cover-wrapper.dock .menu .list-h a.active i+p,.cover-wrapper.featured .menu .list-h a.active i,.cover-wrapper.featured .menu .list-h a.active i+p,.cover-wrapper.focus .menu .list-h a.active i,.cover-wrapper.focus .menu .list-h a.active i+p{color:#3dd9b6}.cover-wrapper.dock .menu .list-h a.active img+p,.cover-wrapper.featured .menu .list-h a.active img+p,.cover-wrapper.focus .menu .list-h a.active img+p{color:var(--color-text)}.cover-wrapper.dock .menu .list-h a:hover,.cover-wrapper.featured .menu .list-h a:hover,.cover-wrapper.focus .menu .list-h a:hover{background:var(--color-card)}.cover-wrapper.dock .top{margin-bottom:48px}.cover-wrapper.dock .menu{background:rgba(255,255,255,.5);position:absolute;bottom:0;max-width:100%}.cover-wrapper.dock .menu .list-h{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-khtml-flex-wrap:nowrap;-moz-flex-wrap:nowrap;-o-flex-wrap:nowrap;-ms-flex-wrap:nowrap;margin:4px}.cover-wrapper.dock .menu .list-h a+a{margin-left:4px}@media screen and (max-width:500px){.cover-wrapper.dock .menu .list-h{overflow-x:scroll}.cover-wrapper.dock .menu .list-h::-webkit-scrollbar{height:0;width:0}.cover-wrapper.dock .menu .list-h::-webkit-scrollbar-track-piece{background:0 0}.cover-wrapper.dock .menu .list-h::-webkit-scrollbar-thumb{background:#3dd9b6;cursor:pointer;border-radius:0;-webkit-border-radius:0}.cover-wrapper.dock .menu .list-h::-webkit-scrollbar-thumb:hover{background:#ff5722}}@supports (backdrop-filter:blur(20px)){.cover-wrapper.dock .menu{background:rgba(255,255,255,.5);backdrop-filter:saturate(200%) blur(20px)}}.cover-wrapper #parallax-window{position:absolute;width:100%;height:100%;background:0 0}.parallax-mirror{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)}100%{opacity:1;-webkit-opacity:1;-moz-opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-opacity:0;-moz-opacity:0;filter:blur(12px)}100%{opacity:1;-webkit-opacity:1;-moz-opacity:1}}@-o-keyframes fadeIn{0%{opacity:0;-webkit-opacity:0;-moz-opacity:0;filter:blur(12px)}100%{opacity:1;-webkit-opacity:1;-moz-opacity:1}}@keyframes fadeIn{0%{opacity:0;-webkit-opacity:0;-moz-opacity:0;filter:blur(12px)}100%{opacity:1;-webkit-opacity:1;-moz-opacity:1}}@media (prefers-color-scheme:dark){:root{--color-mode:'dark'}:root:not([color-scheme]){--color-site-body:#121212;--color-read-bkg:#1f1f1f;--color-read-post:#262626;--color-site-bg:#1f1f1f;--color-site-inner:rgba(238,238,238,0.871);--color-site-footer:rgba(170,170,170,0.871);--color-card:#262626;--color-text:rgba(238,238,238,0.871);--color-block:#434343;--color-codeblock:#1f1f1f;--color-inlinecode:#d56d28;--color-h1:rgba(255,255,255,0.871);--color-h2:rgba(255,255,255,0.871);--color-h3:rgba(255,255,255,0.6);--color-h4:rgba(255,255,255,0.6);--color-h5:rgba(255,255,255,0.6);--color-h6:rgba(255,255,255,0.6);--color-p:rgba(217,217,217,0.871);--color-list:rgba(217,217,217,0.871);--color-list-hl:#63e0c4;--color-meta:rgba(191,191,191,0.871);--color-link:rgba(191,191,191,0.871);--color-copyright-bkg:#21252b}:root:not([color-scheme]) img{filter:brightness(70%)!important}:root:not([color-scheme]) .blur{background:rgba(31,31,31,.9)!important}:root:not([color-scheme]) .white-box.blur{background:rgba(38,38,38,.9)!important}:root:not([color-scheme]) .nav-main .u-search-input{background:var(--color-card)!important}:root:not([color-scheme]) #l_main .article .prev-next>a{background:var(--color-block)!important}:root:not([color-scheme]) #l_main .article .prev-next>a:hover{background:var(--color-site-bg)!important}:root:not([color-scheme]) .article blockquote{background:var(--color-block)!important}:root:not([color-scheme]) .article-title a{color:var(--color-h1)!important}:root:not([color-scheme]) details>summary{color:var(--color-p)!important;background:var(--color-site-bg)!important}:root:not([color-scheme]) details{border:1px solid var(--color-site-bg)!important;background:var(--color-site-bg)!important}:root:not([color-scheme]) #u-search .modal,:root:not([color-scheme]) #u-search .modal-body,:root:not([color-scheme]) #u-search .modal-header{background:var(--color-card)!important}:root:not([color-scheme]) #u-search .modal-body .modal-results .result:hover{background:var(--color-block)!important}:root:not([color-scheme]) .u-search-input:hover{background:var(--color-block)!important}:root:not([color-scheme]) .u-search-input:focus{background:var(--color-site-body)!important}}[color-scheme=dark]{--color-site-body:#121212;--color-read-bkg:#1f1f1f;--color-read-post:#262626;--color-site-bg:#1f1f1f;--color-site-inner:rgba(238,238,238,0.871);--color-site-footer:rgba(170,170,170,0.871);--color-card:#262626;--color-text:rgba(238,238,238,0.871);--color-block:#434343;--color-codeblock:#1f1f1f;--color-inlinecode:#d56d28;--color-h1:rgba(255,255,255,0.871);--color-h2:rgba(255,255,255,0.871);--color-h3:rgba(255,255,255,0.6);--color-h4:rgba(255,255,255,0.6);--color-h5:rgba(255,255,255,0.6);--color-h6:rgba(255,255,255,0.6);--color-p:rgba(217,217,217,0.871);--color-list:rgba(217,217,217,0.871);--color-list-hl:#63e0c4;--color-meta:rgba(191,191,191,0.871);--color-link:rgba(191,191,191,0.871);--color-copyright-bkg:#21252b}[color-scheme=dark] img{filter:brightness(70%)!important}[color-scheme=dark] .blur{background:rgba(31,31,31,.9)!important}[color-scheme=dark] .white-box.blur{background:rgba(38,38,38,.9)!important}[color-scheme=dark] .nav-main .u-search-input{background:var(--color-card)!important}[color-scheme=dark] #l_main .article .prev-next>a{background:var(--color-block)!important}[color-scheme=dark] #l_main .article .prev-next>a:hover{background:var(--color-site-bg)!important}[color-scheme=dark] .article blockquote{background:var(--color-block)!important}[color-scheme=dark] .article-title a{color:var(--color-h1)!important}[color-scheme=dark] details>summary{color:var(--color-p)!important;background:var(--color-site-bg)!important}[color-scheme=dark] details{border:1px solid var(--color-site-bg)!important;background:var(--color-site-bg)!important}[color-scheme=dark] #u-search .modal,[color-scheme=dark] #u-search .modal-body,[color-scheme=dark] #u-search .modal-header{background:var(--color-card)!important}[color-scheme=dark] #u-search .modal-body .modal-results .result:hover{background:var(--color-block)!important}[color-scheme=dark] .u-search-input:hover{background:var(--color-block)!important}[color-scheme=dark] .u-search-input:focus{background:var(--color-site-body)!important}@media screen and (max-width:500px){[color-scheme=dark] .l_header .m_search{background:var(--color-site-bg)!important}}@font-face{font-family:Dosis;src:url(https://unpkg.com/[email protected]/media/fonts/Dosis/Dosis-Medium.ttf);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(https://unpkg.com/[email protected]/media/fonts/Dosis/Dosis-Medium.ttf);font-weight:400;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 .4s ease;-moz-transition:opacity .4s ease;-o-transition:opacity .4s ease;-ms-transition:opacity .4s ease;visibility:hidden}.l_header.auto.show{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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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 .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 .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:-webkit-box;display:-moz-box;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 24px;font-size:1.25rem;font-family:Dosis,"PingFang SC","Microsoft YaHei",Helvetica,Arial,Helvetica,monospace}.l_header #wrapper .nav-main .title img{height:64px}.l_header .nav-sub{max-width:1080px;margin:auto}.l_header .nav-sub .title{font-weight:700;font-family:Dosis,"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:-webkit-box;display:-moz-box;display:none;line-height:64px;align-items:center}.l_header .switcher .s-toc{display:-webkit-box;display:-moz-box;display:none}@media screen and (max-width:768px){.l_header .switcher .s-toc{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;display:flex}}.l_header .switcher>li{height:48px;transition:all .28s ease;-webkit-transition:all .28s ease;-khtml-transition:all .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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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 .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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;display:flex}.l_header .m_search{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;display:flex;height:64px;width:240px;transition:all .28s ease;-webkit-transition:all .28s ease;-khtml-transition:all .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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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:-webkit-box;display:-moz-box;display:none}}.l_header .m_search .input{display:-webkit-box;display:-moz-box;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 .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 .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.m-pc>li>a{color:inherit;border-bottom:2px solid transparent}ul.m-pc>li>a.active,ul.m-pc>li>a:active{border-bottom:2px solid #3dd9b6}ul.list-v li:hover>ul.list-v,ul.m-pc li:hover>ul.list-v{display:-webkit-box;display:-moz-box;display:block}ul.nav-list-h{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;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;font-weight:600}ul.list-v{z-index:1;display:-webkit-box;display:-moz-box;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:-webkit-box;display:-moz-box;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:-webkit-box;display:-moz-box;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 .28s ease;-moz-transition:all .28s ease;-o-transition:all .28s ease;-ms-transition:all .28s ease;display:-webkit-box;display:-moz-box;display:block;color:var(--color-list);font-size:.875rem;font-weight:700;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:-webkit-box;display:-moz-box;display:block;padding:0 8px}.l_header .menu>ul>li>a>i{margin-right:4px}.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,.l_header ul.nav-list-h>li>a:active{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:-webkit-box;display:-moz-box;display:none;margin-top:16px;right:8px;transition:all .28s ease;-webkit-transition:all .28s ease;-khtml-transition:all .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:-webkit-box;display:-moz-box;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:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;display:flex;margin-right:8px}.l_header .menu{display:-webkit-box;display:-moz-box;display:none}}@media screen and (max-width:500px){.list-v li{max-width:270px}}#u-search{display:-webkit-box;display:-moz-box;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}}@media screen and (prefers-color-scheme:dark) and (max-width:500px){.l_header .m_search{background:var(--color-site-bg)!important}}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}</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>let userColorScheme=localStorage.getItem("color-scheme");userColorScheme&&document.documentElement.setAttribute("color-scheme",userColorScheme)</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="external nofollow noopener noreferrer" href="https://www.baidu.com/s?wd=启用JavaScript"><strong>了解详情 ></strong></a></div></noscript><script>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)=>(this.ele.addEventListener(e,t,!1),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,l,o=!0)=>{let n=t;o&&(n=()=>{volantis.requestAnimationFrame(t)});var s=new e(n,l);this.list.push(s)},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://unpkg.com/[email protected]/media/placeholder/avatar/round/3442075.svg",e.onerror=null}function errorImgCover(e){e.src="https://unpkg.com/[email protected]/media/placeholder/cover/76b86c0226ffd.svg",e.onerror=null}window.volantis={},volantis.debug="false",volantis.dom={},volantis.dom.$=e=>e?new volantisDom(e):null,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(l=>{setTimeout((function(){var o=document.getElementsByTagName("head")[0]||document.documentElement,n=document.createElement("script");if(n.setAttribute("type","text/javascript"),t)if(JSON.stringify(t))for(let e in t)"onload"==e?n[e]=()=>{t[e](),l()}:(n[e]=t[e],n.onload=l);else n.onload=()=>{t(),l()};else n.onload=l;n.setAttribute("src",e),o.appendChild(n)}))}),volantis.css=e=>new Promise(t=>{setTimeout((function(){var l=document.createElement("link");l.rel="stylesheet",l.href=e,l.onload=t,document.getElementsByTagName("head")[0].appendChild(l)}))}),volantis.import={jQuery:()=>"undefined"==typeof jQuery?volantis.js("https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/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,l)=>{!function(e,t,l){volantis.tempDiv=document.createElement("div"),volantis.tempDiv.innerHTML=t;let o=document.querySelector("#layoutHelper-"+e);o&&(l&&(o.innerHTML=""),o.append(volantis.tempDiv))}(e,t,(l=Object.assign({clean:!1},l)).clean)},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 l=e.getBoundingClientRect().top;l>=-t.observerDic&&l<=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>window.pdata={},pdata.ispage=!1,pdata.commentPath="",pdata.commentPlaceholder="",pdata.commentConfig={},volantis.GLOBAL_CONFIG={root:"/",debug:!1,default:{avatar:"https://unpkg.com/[email protected]/media/placeholder/avatar/round/3442075.svg",link:"https://unpkg.com/[email protected]/media/placeholder/link/8f277b4ee0ecd.svg",cover:"https://unpkg.com/[email protected]/media/placeholder/cover/76b86c0226ffd.svg",image:"https://unpkg.com/[email protected]/media/placeholder/image/2659360.svg"},lastupdate:new Date(1711608611541),cdn:{izitoast_css:"https://cdn.bootcdn.net/ajax/libs/izitoast/1.4.0/css/iziToast.min.css",izitoast_js:"https://cdn.bootcdn.net/ajax/libs/izitoast/1.4.0/js/iziToast.min.js",fancybox_css:"https://cdn.bootcdn.net/ajax/libs/fancyapps-ui/4.0.31/fancybox.min.css",fancybox_js:"https://cdn.bootcdn.net/ajax/libs/fancyapps-ui/4.0.31/fancybox.umd.min.js"},sidebar:{for_page:["qgroup","post","category","guide"],for_post:["toc"],webinfo:{lastupd:{enable:!0,friendlyShow:!0},runtime:{data:"2020/01/01",unit:"天"}}},plugins:{message:{enable:!0,icon:{default:"fa-light fa-info-circle light-blue",quection:"fa-light 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:!1,title:"知识共享许可协议",message:"请遵守 CC BY-NC-SA 4.0 协议。",icon:"fa-brands fa-creative-commons light-blue"},aplayer:{enable:!0,play:"fa-light fa-play light-blue",pause:"fa-light fa-pause light-blue",error:"fa-light fa-exclamation-square red"},rightmenu:{enable:!0,notice:!0}},aplayer:{id:5062959861,enable:!0},rightmenus:{enable:!0,order:["plugins.navigation","hr","plugins.inputBox","plugins.seletctText","plugins.elementCheck","plugins.elementImage","hr","menus.prevNext","hr","menus.links","hr","menus.darkMode","hr","plugins.articlePage","hr","music"],options:{iconPrefix:"fa-duotone PETERRIVE",articleShowLink:!0,musicAlwaysShow:!0},plugins:{navigation:[{id:"left",name:"转到上一页",icon:"fa-duotone fa-arrow-left PETERRIVE",event:"history.back()",group:"navigation"},{id:"right",name:"转到下一页",icon:"fa-duotone fa-arrow-right PETERRIVE",event:"history.forward()",group:"navigation"},{id:"redo",name:"刷新当前页面",icon:"fa-duotone fa-redo PETERRIVE",event:"window.location.reload()",group:"navigation"},{id:"up",name:"回到顶部",icon:"fa-duotone fa-arrow-up PETERRIVE",event:"VolantisApp.scrolltoElement(volantis.dom.bodyAnchor)",group:"navigation"}],inputBox:[{id:"copyPaste",name:"粘贴文本",icon:"fa-duotone PETERRIVE fa-paste",event:"copyPaste",group:"inputBox"},{id:"copyAll",name:"全选文本",icon:"fa-duotone PETERRIVE fa-object-ungroup",event:"copyAll",group:"inputBox"},{id:"copyCut",name:"剪切文本",icon:"fa-duotone PETERRIVE fa-cut",event:"copyCut",group:"inputBox"}],seletctText:[{id:"copyText",name:"复制文本",icon:"fa-duotone PETERRIVE fa-copy",event:"copyText",group:"seletctText"},{id:"searchWord",name:"站内搜索",icon:"fa-duotone PETERRIVE fa-search",event:"OpenSearch(__text__)",group:"seletctText"},{id:"bingSearch",name:"必应搜索",icon:"fa-duotone PETERRIVE fa-search",event:"window.open(`https://cn.bing.com/search?q=${__text__}`)",group:"seletctText"}],elementCheck:[{id:"openTab",name:"新标签页打开",icon:"fa-duotone PETERRIVE fa-external-link-square-alt",event:"window.open(__link__)",group:"elementCheck"},{id:"copyLink",name:"复制链接地址",icon:"fa-duotone PETERRIVE fa-link",event:"copyLink",group:"elementCheck"}],elementImage:[{id:"copyImg",name:"复制图片",icon:"fa-duotone PETERRIVE fa-image",event:"copyImg",group:"elementImage"},{id:"googleImg",name:"谷歌识图",icon:"fa-duotone PETERRIVE fa-images",event:"window.open(`https://www.google.com/searchbyimage?image_url=${__link__}`)",group:"elementImage"}],articlePage:[{id:"printMode",name:"打印页面",icon:"fa-duotone fa-print TURQUOISE",event:"printMode",group:"articlePage"},{id:"readMode",name:"阅读模式",icon:"fa-duotone fa-book-open EMERALD",event:"readMode",group:"articlePage"}]},menus:{link:[{id:"help",name:"常见问题",icon:"fa-solid fa-question",link:"https://volantis.js.org/faqs/",group:"link"},{id:"examples",name:"示例博客",icon:"fa-solid fa-rss",link:"https://volantis.js.org/examples/",group:"link"},{id:"contributors",name:"加入社区",icon:"fa-solid fa-fan",link:"https://volantis.js.org/contributors/",group:"link"},"hr",{id:"source_docs",name:"本站源码",icon:"fa-solid fa-code-branch",link:"https://github.com/volantis-x/volantis-docs/",group:"link"},{id:"source_theme",name:"主题源码",icon:"fa-solid fa-code-branch",link:"https://github.com/volantis-x/hexo-theme-volantis/",group:"link"}],darkMode:[{id:"darkMode",name:"暗黑模式",icon:"fa-duotone fa-eclipse-alt WISTERIA",event:"volantis.dark.toggle()",group:"darkMode"}],links:[{id:"help",name:"常见问题",icon:"fa-duotone fa-question EMERALD",link:"/faqs/",group:"link"},{id:"examples",name:"示例博客",icon:"fa-duotone fa-rss PETERRIVE",link:"/examples/",group:"link"},{id:"contributors",name:"加入社区",icon:"fa-duotone fa-fan fa-spin AMETHYST",link:"/contributors/",group:"link"},"hr",{id:"source_docs",name:"本站源码",icon:"fa-duotone fa-code-branch WETASPHALT",link:"https://github.com/volantis-x/volantis-docs/",group:"link"},{id:"source_theme",name:"主题源码",icon:"fa-duotone fa-code-branch CONCRETE",link:"https://github.com/volantis-x/hexo-theme-volantis/",group:"link"}],prevNext:[{id:"prev",name:"查看上一篇",icon:"fa-duotone fa-angles-left PETERRIVE",event:"volantis.rightmenu.jump('prev')",group:"prevNext"},{id:"next",name:"查看下一篇",icon:"fa-duotone fa-angles-right PETERRIVE",event:"volantis.rightmenu.jump('next')",group:"prevNext"}]}}},search:{dataPath:("/".endsWith("/")?"/":"//")+"content.json"},languages:{search:{hits_empty:"找不到您查询的内容:${query}",hits_stats:"找到 ${hits} 条结果,用时 ${time} 毫秒"}}}</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" style="opacity:0"><div class="container"><div id="wrapper"><div class="nav-sub"><p class="title"></p><ul class="switcher nav-list-h m-phone"><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="/">Volantis 6 <sup style="color:#ff9800">alpha</sup></a><div class="menu navigation"><ul class="nav-list-h m-pc"><li><a class="menuitem flat-box faa-parent animated-hover" href="/v6/getting-started/" title="文档" target="_self" active-action="action-v6getting-started"><i class="fa-duotone fa-book faa-tada fa-fw"></i> 文档</a></li><li><a class="menuitem flat-box faa-parent animated-hover" href="/examples/" title="示例" active-action="action-examples"><i class="fa-duotone fa-play-circle faa-tada fa-fw"></i> 示例</a></li><li><a class="menuitem flat-box faa-parent animated-hover" href="/faqs/" title="帮助" active-action="action-faqs"><i class="fa-duotone fa-question-circle faa-tada fa-fw"></i> 帮助</a></li><li><a class="menuitem flat-box faa-parent animated-hover" href="/contributors/" title="鸣谢" active-action="action-contributors"><i class="fa-duotone fa-heart fa-fw"></i> 鸣谢</a></li><li><a class="menuitem flat-box faa-parent animated-hover" title="更多"><i class="fa-duotone fa-ellipsis-v fa-fw"></i> 更多</a><ul class="list-v"><li><a class="menuitem flat-box header toggle-mode-btn"><i class="fa-solid fa-moon fa-fw"></i> 暗黑模式</a></li><li><hr></li><li> <a class="menuitem flat-box faa-parent animated-hover" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/volantis-docs/" title="本站源码" active-action="action-https:githubcomvolantis-xvolantis-docs">本站源码</a></li><li> <a class="menuitem flat-box faa-parent animated-hover" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/hexo-theme-volantis/" title="主题源码" active-action="action-https:githubcomvolantis-xhexo-theme-volantis">主题源码</a></li><hr><li> <a class="menuitem flat-box faa-parent animated-hover" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/hexo-theme-volantis/releases/" title="更新日志" active-action="action-https:githubcomvolantis-xhexo-theme-volantisreleases">更新日志</a></li><li> <a class="menuitem flat-box faa-parent animated-hover" href="/archives/" title="博客文章" active-action="action-archives">博客文章</a></li><hr><li> <a class="menuitem flat-box faa-parent animated-hover" href="/v5/getting-started/" title="文档 v5" active-action="action-v5getting-started">文档 v5</a></li></ul></li></ul></div><div class="m_search"><form name="searchform" class="form u-search-form"><i class="icon fa-solid 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="/v6/getting-started/" title="文档" target="_self" active-action="action-v6getting-started"><i class="fa-duotone fa-book faa-tada fa-fw"></i> 文档</a></li><li><a class="menuitem flat-box faa-parent animated-hover" href="/examples/" title="示例" active-action="action-examples"><i class="fa-duotone fa-play-circle faa-tada fa-fw"></i> 示例</a></li><li><a class="menuitem flat-box faa-parent animated-hover" href="/faqs/" title="帮助" active-action="action-faqs"><i class="fa-duotone fa-question-circle faa-tada fa-fw"></i> 帮助</a></li><li><a class="menuitem flat-box faa-parent animated-hover" href="/contributors/" title="鸣谢" active-action="action-contributors"><i class="fa-duotone fa-heart fa-fw"></i> 鸣谢</a></li><li><a class="menuitem flat-box faa-parent animated-hover" title="更多"><i class="fa-duotone fa-ellipsis-v fa-fw"></i> 更多</a><ul class="list-v"><li><a class="menuitem flat-box header toggle-mode-btn"><i class="fa-solid fa-moon fa-fw"></i> 暗黑模式</a></li><li><hr></li><li> <a class="menuitem flat-box faa-parent animated-hover" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/volantis-docs/" title="本站源码" active-action="action-https:githubcomvolantis-xvolantis-docs">本站源码</a></li><li> <a class="menuitem flat-box faa-parent animated-hover" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/hexo-theme-volantis/" title="主题源码" active-action="action-https:githubcomvolantis-xhexo-theme-volantis">主题源码</a></li><hr><li> <a class="menuitem flat-box faa-parent animated-hover" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/hexo-theme-volantis/releases/" title="更新日志" active-action="action-https:githubcomvolantis-xhexo-theme-volantisreleases">更新日志</a></li><li> <a class="menuitem flat-box faa-parent animated-hover" href="/archives/" title="博客文章" active-action="action-archives">博客文章</a></li><hr><li> <a class="menuitem flat-box faa-parent animated-hover" href="/v5/getting-started/" title="文档 v5" active-action="action-v5getting-started">文档 v5</a></li></ul></li></ul></li></ul></div></div></div></header><div id="l_body"><div id="l_cover"><div class="cover-wrapper dock" id="full"><div id="parallax-window"></div><div class="cover-body"><div class="top"><p class="title">Volantis</p><p class="subtitle">中文创作者社区</p></div><div class="bottom"><div class="menu navigation"><div class="list-h"> <a href="/" active-action="action-home"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f4f0.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f4f0.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>博客</p></a> <a href="/v6/getting-started/" target="_self" active-action="action-v6getting-started"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f516.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f516.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>文档</p></a> <a href="/examples/" active-action="action-examples"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f4af.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f4af.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>示例</p></a> <a href="/faqs/" active-action="action-faqs"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f4ac.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f4ac.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>帮助</p></a> <a href="/contributors/" active-action="action-contributors"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f497.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f497.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>鸣谢</p></a> <a href="/archives/" active-action="action-archives"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f5c3.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f5c3.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>归档</p></a> <a href="https://github.com/volantis-x/hexo-theme-volantis/" target="_blank" active-action="action-https:githubcomvolantis-xhexo-theme-volantis" rel="external nofollow noopener noreferrer"><img src="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f9ec.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/twemoji/assets/svg/1f9ec.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><p>源码</p></a></div></div></div></div><div id="scroll-down"><i class="fa fa-chevron-down scroll-down-effects"></i></div></div></div><div id="safearea"><div class="body-wrapper"><div id="l_main" class><section class="post-list"><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/news/2017-10-24/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span> <span hidden itemprop="name headline">Volantis for Hexo</span><div class="md article-desc" itemprop="articleBody"><p> <span class="p logo center large">Volantis</span> <span class="p center small logo">A Wonderful Theme for Hexo</span></p><br><p><a href="https://volantis.js.org/">Volantis</a> 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。</p><br><span class="btn solid large center"><a class="button" href="/v6/getting-started/" title="开始使用"><i class="fad fa-flag"></i> 开始使用</a></span><br></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2017-10-24T00:00:00+00:00">2017-10-24</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%AE%98%E6%96%B9%E8%B5%84%E8%AE%AF/">官方资讯</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%AE%98%E6%96%B9%E8%B5%84%E8%AE%AF/" itemprop="url"><span itemprop="name">官方资讯</span></a></span></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2024-03-15-enhanced-FaaS-in-cn/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/enhanced-faas-in-cn.html" itemprop="url">提升部署在vercel或netlify的网站在中国的访问速度和稳定性</a></h2><div class="md article-desc" itemprop="articleBody"><div class="tag link"><a class="link-card" title="enhanced-FaaS-in-China" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/xingpingcn/enhanced-FaaS-in-China"><div class="left"><img src="https://gcore.jsdelivr.net/gh/xingpingcn/picx-images-hosting@master/20230506/pngwing.com.yfryst5dm0w.webp" class="lazyload" data-srcset="https://gcore.jsdelivr.net/gh/xingpingcn/picx-images-hosting@master/20230506/pngwing.com.yfryst5dm0w.webp" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></div><div class="right"><p class="text">enhanced-FaaS-in-China</p><p class="url">https://github.com/xingpingcn/enhanced-FaaS-in-China</p></div></a></div><ul><li>如果你的网站部署在<code>vercel</code>,则把cname记录改为:<ul><li><code>vercel-cname.xingpingcn.top</code></li></ul></li><li>如果你的网站部署在<code>netlify</code>,则把cname记录改为:<ul><li><code>netlify-cname.xingpingcn.top</code></li></ul></li><li>如果你的网站部署在<code>netlify</code>和<code>vercel</code>上,则把cname记录改为:<ul><li><code>verlify-cname.xingpingcn.top</code><ul><li>使用此dns解析建议:先把cname记录改为官方提供的url,等<code>ssl/tls证书</code>生成之后再把cname记录改为<code>verlify-cname.xingpingcn.top</code></li></ul></li></ul></li></ul></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2024-03-15T00:00:00+00:00">2024-03-15</time></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/enhanced-faas-in-cn.html" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2023-11-08-NS1-failover/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><div class="headimg-div"> <a class="headimg-a" target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/%E5%85%8D%E8%B4%B9%E9%80%9A%E8%BF%87NS1%E5%88%A9%E7%94%A8%E7%9B%91%E6%8E%A7%E5%AE%9D%E5%B9%B3%E5%8F%B0%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6%E5%9F%BA%E4%BA%8E%E4%B8%8D%E5%90%8C%E8%BF%90%E8%90%A5%E5%95%86%E7%9A%84%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB.html"><img itemprop="image" class="headimg lazyload" alt="免费通过NS1利用监控宝平台实现实时基于不同运营商的故障转移" src="https://gcore.jsdelivr.net/gh/xingpingcn/picx-images-hosting@master/20231027/image.1oz9s4agroao.png" class="lazyload" data-srcset="https://gcore.jsdelivr.net/gh/xingpingcn/picx-images-hosting@master/20231027/image.1oz9s4agroao.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a></div><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/%E5%85%8D%E8%B4%B9%E9%80%9A%E8%BF%87NS1%E5%88%A9%E7%94%A8%E7%9B%91%E6%8E%A7%E5%AE%9D%E5%B9%B3%E5%8F%B0%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6%E5%9F%BA%E4%BA%8E%E4%B8%8D%E5%90%8C%E8%BF%90%E8%90%A5%E5%95%86%E7%9A%84%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB.html" itemprop="url">免费通过NS1利用监控宝平台实现实时基于不同运营商的故障转移</a></h2><div class="md article-desc" itemprop="articleBody"><p>本教程用到的资源全部都是免费且可持续使用的。NS1.com这个权威DNS服务器能根据ASN、国家或省份、DNS轮询(可加权)等方式解析域名,并且提供了API去控制某个解析(answer)是否响应。监控宝能实时监控网站(通过HTTP、PING、DNS方式等)并输出警告(webhook、Email、短信等),最高监控频率为2分钟。亚马逊的AWS Lambda是一个FaaS平台(serverless),可以作为连接NS1.com和监控宝之间的桥梁,当监控宝检测到网站速度变慢的时候发送信息到AWS Lambda,AWS Lambda得到信息后再传递给NS1.com,速度恢复的时候也是同样的操作。为什么要夹在一个AWS Lambda呢?这是因为监控宝发送的格式是固定的,并不能直接接入到NS1.com。</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2023-11-18T00:00:00+00:00">2023-11-18</time></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/%E5%85%8D%E8%B4%B9%E9%80%9A%E8%BF%87NS1%E5%88%A9%E7%94%A8%E7%9B%91%E6%8E%A7%E5%AE%9D%E5%B9%B3%E5%8F%B0%E5%AE%9E%E7%8E%B0%E5%AE%9E%E6%97%B6%E5%9F%BA%E4%BA%8E%E4%B8%8D%E5%90%8C%E8%BF%90%E8%90%A5%E5%95%86%E7%9A%84%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB.html" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2023-10-01-enhanced-cdn/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/%E4%BD%BF%E7%94%A8freecdn-js%E6%8F%90%E9%AB%98hexo%E5%8D%9A%E5%AE%A2%E7%9A%84cdn%E7%A8%B3%E5%AE%9A%E6%80%A7.html" itemprop="url">使用freecdn-js提高hexo博客的cdn稳定性</a></h2><div class="md article-desc" itemprop="articleBody"><p>由于<code>cdn.jsdelivr.net</code>在国内不太稳定,替代的<code>jsd.cdn.zzko.cn</code>稳定性稍好,但是也不是100%稳定,因而需要一个脚本实时切换到合适的CDN。<a href="https://github.com/EtherDream/freecdn" target="_blank" rel="external nofollow noopener noreferrer">freecdn-js</a>能实现这个需求,但是我的文件(图片、js等)储存在GitHub图床,而<code>freecdn-js</code>本身需要被加速的文件的<code>hash</code>,因此需要自己写脚本处理下载图片并计算。因为图片等文件的cdn链接是直接写在<code>.md</code>文件中的,所以写了一个正则脚本来提取cdn的链接。</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2023-10-01T00:00:00+00:00">2023-10-01</time></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://xingpingcn.top/%E4%BD%BF%E7%94%A8freecdn-js%E6%8F%90%E9%AB%98hexo%E5%8D%9A%E5%AE%A2%E7%9A%84cdn%E7%A8%B3%E5%AE%9A%E6%80%A7.html" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2023-09-03-lazyload/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><div class="headimg-div"> <a class="headimg-a" target="_blank" rel="external nofollow noopener noreferrer" href="https://www.xingpingcn.top/%E4%B8%BAhexo%E5%8D%9A%E5%AE%A2%E6%B7%BB%E5%8A%A0%E8%87%AA%E9%80%82%E5%BA%94%E5%9B%BE%E7%89%87%E5%8D%A0%E4%BD%8D%E5%9B%BE.html"><img itemprop="image" class="headimg lazyload" alt="为hexo博客添加自适应图片占位图(配合lazyload)" src="https://jsd.cdn.zzko.cn/gh/xingpingcn/picx-images-hosting@master/20230506/image.p9bxtn3d6ww.webp" class="lazyload" data-srcset="https://jsd.cdn.zzko.cn/gh/xingpingcn/picx-images-hosting@master/20230506/image.p9bxtn3d6ww.webp" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a></div><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://www.xingpingcn.top/%E4%B8%BAhexo%E5%8D%9A%E5%AE%A2%E6%B7%BB%E5%8A%A0%E8%87%AA%E9%80%82%E5%BA%94%E5%9B%BE%E7%89%87%E5%8D%A0%E4%BD%8D%E5%9B%BE.html" itemprop="url">为hexo博客添加自适应图片占位图(配合lazyload)</a></h2><div class="md article-desc" itemprop="articleBody"><p> 我们要得到的结果如封面所示</p><p> 由于博客采用了图片懒加载(lazyload)插件,在加载dom后和图片加载成功之前,图片占位图为1px的像素,图片加载成功之后,则会把布局撑开,造成布局抖动。如果把和要加载的图片(本博客所有图片都放在了GitHub图床上,所以要用到<code>image-size</code>库访问远程图片)一样大小的占位图替代1px大小的占位图,则能解决布局抖动问题。本post将会占位图以硬编码的方式写到<code>dom</code>中,这需要修改在生成hexo博客时会用到的<code>fancybox.js</code>(或许每个主题用到的文件里都不一样,但最终都会使用<code>hexo.extend.tag.register()</code>方法;本博客使用<code>volantis</code>主题)。</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2023-09-03T00:00:00+00:00">2023-09-03</time><span class="dot"></span> <a class="category-link" href="/categories/hexo%E6%8A%98%E8%85%BE/">hexo折腾</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/hexo%E6%8A%98%E8%85%BE/" itemprop="url"><span itemprop="name">hexo折腾</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://www.xingpingcn.top/%E4%B8%BAhexo%E5%8D%9A%E5%AE%A2%E6%B7%BB%E5%8A%A0%E8%87%AA%E9%80%82%E5%BA%94%E5%9B%BE%E7%89%87%E5%8D%A0%E4%BD%8D%E5%9B%BE.html" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2023-05-10-hexo-volantis-snippets/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><div class="headimg-div"> <a class="headimg-a" target="_blank" rel="external nofollow noopener noreferrer" href="https://www.qdovo.com/2023/05/10/hexo-volantis-snippets/"><img itemprop="image" class="headimg lazyload" alt="Hexo Volantis Snippets的vscode扩展" src="https://raw.githubusercontent.com/lovelyJason/hexo-volantis-snippets/main/logo.png" class="lazyload" data-srcset="https://raw.githubusercontent.com/lovelyJason/hexo-volantis-snippets/main/logo.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a></div><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://www.qdovo.com/2023/05/10/hexo-volantis-snippets/" itemprop="url">Hexo Volantis Snippets的vscode扩展</a></h2><div class="md article-desc" itemprop="articleBody"><p>本篇文章适用于vscode+hexo+volantis的博客,快速向文章内插入标签,提升写文章的速度</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2023-05-10T00:00:00+00:00">2023-05-10</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/">开发心得</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" itemprop="url"><span itemprop="name">开发心得</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://www.qdovo.com/2023/05/10/hexo-volantis-snippets/" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2023-1-18-LocalMusic/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2023/01/07/Volantis%E9%AD%94%E6%94%B9%E6%95%99%E7%A8%8B/#aplayer%E9%87%87%E7%94%A8%E6%9C%AC%E5%9C%B0%E9%9F%B3%E6%BA%90%E9%80%9A%E7%94%A8" itemprop="url">Aplayer采用本地音源</a></h2><div class="md article-desc" itemprop="articleBody"><p>通过修改<code>metingjs</code>的代码将Aplayer播放器的音乐源改为本地,经过测试,Volantis自带的消息通知,右键播放器,导航栏播放器均正常显示.经过修改也可以适用于其他使用<code>metingjs</code>的主题</p><p>新的代码仅向<code>metingjs</code>增加了本地音源功能,原有功能保持不变</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2023-01-18T00:00:00+00:00">2023-01-18</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/">开发心得</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" itemprop="url"><span itemprop="name">开发心得</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2023/01/07/Volantis%E9%AD%94%E6%94%B9%E6%95%99%E7%A8%8B/#aplayer%E9%87%87%E7%94%A8%E6%9C%AC%E5%9C%B0%E9%9F%B3%E6%BA%90%E9%80%9A%E7%94%A8" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2023-01-07-VolantisModify/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2023/01/07/Volantis%E9%AD%94%E6%94%B9%E6%95%99%E7%A8%8B/" itemprop="url">Volantis魔改教程</a></h2><div class="md article-desc" itemprop="articleBody"><p>暗黑模式动画,看板娘随音乐启停说话,主页特效,KaTeX公式,网页压缩,透明卡片等</p><p>部分内容非Volantis主题也适用</p><span class="p center small"><div class="note"><div id="binft_example"></div></div></span><script>!function(){var e,t,l,i;e=document.getElementById("binft_example"),t=!0,l=["有花堪折直需折,莫待无花空折枝.","闲居少邻并,草径入荒园.鸟宿池边树,僧敲月下门.","侯门一入深如海,从此萧郎是路人.","才见岭头云似盖,已惊岩下雪如尘.","人间万事消磨尽,只有清香似旧时.","日暮酒醒人已远,满天风雨下西楼.","落灯花,棋未收,叹新丰逆旅淹留.","软风吹过窗纱,心期便隔天涯.","迷惑失故路,薄暮无宿栖.","不见白头相携老,只许与君共天明.","晓迎秋露一枝新,不占园中最上春.","荷尽已无擎雨盖,菊残犹有傲霜枝.","春未绿,鬓先丝.人间别久不成悲.","江东子弟多才俊,卷土重来未可知.","莫听穿林打叶声,何妨吟啸且徐行.","在天愿作比翼鸟,在地愿为连理枝."].map((function(e){return e+""})),i={text:"",prefixP:-1,skillI:0,skillP:0,direction:"forward",delay:2,step:1},function n(){var r=l[i.skillI];i.step?i.step--:(i.step=1,i.prefixP<"".length?(0<=i.prefixP&&(i.text+=""[i.prefixP]),i.prefixP++):"forward"===i.direction?i.skillP<r.length?(i.text+=r[i.skillP],i.skillP++):i.delay?i.delay--:(i.direction="backward",i.delay=2):0<i.skillP?(i.text=i.text.slice(0,-1),i.skillP--):(i.skillI=(i.skillI+1)%l.length,i.direction="forward")),e.textContent=i.text,e.appendChild(function(e){for(var l=document.createDocumentFragment(),i=0;i<e;i++){var n=document.createElement("span");n.textContent="_",n.style.color=t?(t=!1,"rgba(0,0,0,0)"):(t=!0,"rgba(0,0,0,1)"),l.appendChild(n)}return l}(i.prefixP<"".length?Math.min(1,1+i.prefixP):Math.min(1,r.length-i.skillP))),setTimeout(n,75)}()}()</script></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2023-01-07T00:00:00+00:00">2023-01-07</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/">开发心得</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" itemprop="url"><span itemprop="name">开发心得</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2023/01/07/Volantis%E9%AD%94%E6%94%B9%E6%95%99%E7%A8%8B/" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2022-12-26-GiteeFriendsLink/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2022/12/26/volantis%E4%BD%BF%E7%94%A8php%E5%AE%9E%E7%8E%B0Gitee%E5%8F%8B%E9%93%BE/" itemprop="url">volantis使用php实现Gitee友链</a></h2><div class="md article-desc" itemprop="articleBody"><p>添加Gitee动态友链</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2022-12-26T00:00:00+00:00">2022-12-26</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/">开发心得</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" itemprop="url"><span itemprop="name">开发心得</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2022/12/26/volantis%E4%BD%BF%E7%94%A8php%E5%AE%9E%E7%8E%B0Gitee%E5%8F%8B%E9%93%BE/" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2022-12-06-experience/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://mengfanjun020906.github.io/2022/12/06/%E7%BB%99%E8%87%AA%E5%B7%B1%E7%9A%84hexo%E5%8D%9A%E5%AE%A2%E4%B8%AA%E6%80%A7%E5%8C%96Volantis%E4%B8%BB%E9%A2%98/" itemprop="url">配置Volantis 主题遇到的问题和解决</a></h2><div class="md article-desc" itemprop="articleBody"><p>本篇文章记录了我对 Volantis 主题一路磕磕碰碰的个性化配置,希望为接下来要去配置的新手避个坑</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2022-12-06T00:00:00+00:00">2022-12-06</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/">开发心得</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" itemprop="url"><span itemprop="name">开发心得</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://mengfanjun020906.github.io/2022/12/06/%E7%BB%99%E8%87%AA%E5%B7%B1%E7%9A%84hexo%E5%8D%9A%E5%AE%A2%E4%B8%AA%E6%80%A7%E5%8C%96Volantis%E4%B8%BB%E9%A2%98/" itemprop="url">去源站阅读</a></div></div></div></div><div class="post-wrapper"><div class="post post-v3 white-box reveal shadow floatable blur" itemscope itemtype="http://schema.org/Article"><link itemprop="mainEntityOfPage" href="https://volantis.js.org/blogs/2022-08-18-darkmode-new/"><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Volantis"></span><span hidden itemprop="post" itemscope itemtype="http://schema.org/Post"><meta itemprop="name" content="Volantis"><meta itemprop="description" content="Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"></span><span hidden><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"></span><h2 class="article-title" itemprop="name headline"> <a target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2022/08/18/volantis%E4%B8%BB%E9%A2%98%E8%87%AA%E5%AE%9A%E4%B9%89-%E6%9A%97%E9%BB%91%E6%A8%A1%E5%BC%8F%E5%8A%A8%E7%94%BB-2022%E6%96%B0%E7%89%88/" itemprop="url">volantis新版暗黑模式动画</a></h2><div class="md article-desc" itemprop="articleBody"><p>为暗黑模式的切换增加动画</p></div><div class="meta-v3" line_style="solid"><div> <a class="avatar" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/"><img src="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/apple-touch-icon.png"><meta itemprop="name" content="Volantis Team"><meta itemprop="url" content="https://github.com/volantis-x/"></span> <time itemprop="dateCreated datePublished" datetime="2022-08-18T00:00:00+00:00">2022-08-18</time><span class="dot"></span> <a class="category-link" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/">开发心得</a> <span hidden itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" itemprop="url"><span itemprop="name">开发心得</span></a></span></div><div> <a class="readmore" target="_blank" rel="external nofollow noopener noreferrer" href="https://blog.dearxuan.com/2022/08/18/volantis%E4%B8%BB%E9%A2%98%E8%87%AA%E5%AE%9A%E4%B9%89-%E6%9A%97%E9%BB%91%E6%A8%A1%E5%BC%8F%E5%8A%A8%E7%94%BB-2022%E6%96%B0%E7%89%88/" itemprop="url">去源站阅读</a></div></div></div></div></section><br><div class="prev-next"><p class="current"> 1 / 6</p><a class="next" rel="next" href="/page/2/"><section class="post next white-box shadow floatable blur"> 下一页 <i class="fa-solid fa-chevron-right" aria-hidden="true"></i></section></a></div></div><aside id="l_side" itemscope itemtype="http://schema.org/WPSideBar"><section class="widget text desktop mobile"><header><i class="fa-brands fa-qq fa-fw" aria-hidden="true"></i> <span class="name">加入 QQ 群</span></header><div class="content"><p>如果你在使用中遇到问题,请到 <a href="https://github.com/volantis-x/hexo-theme-volantis/issues" target="_blank" rel="external nofollow noopener noreferrer">Github Issues</a> 或者 <a href="/faqs/#comments">留言板</a> 进行反馈,你也可以加入 <a href="https://t.me/volantis_x" target="_blank" rel="external nofollow noopener noreferrer">Telegram</a> 或者 <strong>QQ 群</strong>,验证码:vlts-2021<br><a href="https://qm.qq.com/cgi-bin/qm/qr?k=FpexWW5GCLWOM3jF3LG-YWfllXuv7cMs&jump_from=webapi" target="_blank" rel="external nofollow noopener noreferrer"><img src="https://bu.dusays.com/2021/09/24/ae832f0aadee8.png" class="lazyload" data-srcset="https://bu.dusays.com/2021/09/24/ae832f0aadee8.png" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a></p></div></section><section class="widget category desktop"><header><a href="/blog/categories/"><i class="fa-solid fa-folder-open fa-fw" aria-hidden="true"></i> <span class="name">文章分类</span></a></header><div class="content"><ul class="entry navigation"><li><a class="flat-box" title="/categories/hexo%E6%8A%98%E8%85%BE/" href="/categories/hexo%E6%8A%98%E8%85%BE/" active-action="action-categorieshexoE68A98E885BE"><div class="name">hexo折腾</div><div class="badge">(1)</div></a></li><li><a class="flat-box" title="/categories/%E5%AE%98%E6%96%B9%E8%B5%84%E8%AE%AF/" href="/categories/%E5%AE%98%E6%96%B9%E8%B5%84%E8%AE%AF/" active-action="action-categoriesE5AE98E696B9E8B584E8AEAF"><div class="name">官方资讯</div><div class="badge">(10)</div></a></li><li><a class="flat-box" title="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" href="/categories/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/" active-action="action-categoriesE5BC80E58F91E5BF83E5BE97"><div class="name">开发心得</div><div class="badge">(12)</div></a></li><li><a class="flat-box" title="/categories/%E8%BF%9B%E9%98%B6%E7%8E%A9%E6%B3%95/" href="/categories/%E8%BF%9B%E9%98%B6%E7%8E%A9%E6%B3%95/" active-action="action-categoriesE8BF9BE998B6E78EA9E6B395"><div class="name">进阶玩法</div><div class="badge">(14)</div></a></li></ul></div></section><section class="widget grid desktop mobile"><header><i class="fa-solid fa-map-signs fa-fw" aria-hidden="true"></i> <span class="name">分类导航</span></header><div class="content"><div class="grid navigation fixed"><a class="flat-box" href="/faqs/" active-action="action-faqs"><i class="fa-solid fa-question-circle fa-fw" aria-hidden="true"></i> 常见问题</a><a class="flat-box" href="/examples/" active-action="action-examples"><i class="fa-solid fa-play-circle fa-fw" aria-hidden="true"></i> 示例博客</a><a class="flat-box" href="/contributors/" active-action="action-contributors"><i class="fa-solid fa-handshake fa-fw" aria-hidden="true"></i> 特别感谢</a><a class="flat-box" href="/archives/" active-action="action-archives"><i class="fa-solid fa-file-alt fa-fw" aria-hidden="true"></i> 测试博文</a><a class="flat-box" href="https://github.com/volantis-x/hexo-theme-volantis/" rel="external nofollow noopener noreferrer" target="_blank" active-action="action-https:githubcomvolantis-xhexo-theme-volantis"><i class="fa-solid fa-file-code fa-fw" aria-hidden="true"></i> 主题源码</a><a class="flat-box" href="https://github.com/volantis-x/hexo-theme-volantis/releases/" rel="external nofollow noopener noreferrer" target="_blank" active-action="action-https:githubcomvolantis-xhexo-theme-volantisreleases"><i class="fa-solid fa-tags fa-fw" aria-hidden="true"></i> 更新日志</a></div></div></section><div class="widget-sticky"><section class="widget text desktop mobile"><header><a href="/contributors/"><i class="fa-solid fa-plus fa-fw" aria-hidden="true"></i> <span class="name">社区活动</span></a></header><div class="content"><p><strong>如何让自己的文章收录到这里?</strong><br>官方网站是开源的,只要您的文章与 Hexo 博客搭建相关,就可以自助进行收录,详细的操作步骤请见:「<a href="/contributors/#%E5%8F%91%E5%B8%83%E4%B8%8E%E5%88%86%E4%BA%AB%E6%96%87%E7%AB%A0"><strong>发布与分享文章</strong></a>」。</p></div></section></div></aside></div><footer class="footer clearfix" itemscope itemtype="http://schema.org/WPFooter"><br><br><div class="aplayer-container"><meting-js theme="#1BCDFC" autoplay="false" volume="0.4" loop="all" order="random" fixed="false" list-max-height="320px" server="netease" type="playlist" id="5062959861" list-folded="true"></meting-js></div><br><div class="social-wrapper" itemprop="about" itemscope itemtype="http://schema.org/Thing"> <a href="/atom.xml" class="social flat-btn" target="_blank" rel="external nofollow noopener noreferrer" itemprop="url"><img src="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/020-rss.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/020-rss.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a> <a href="https://github.com/volantis-x/" class="social flat-btn" target="_blank" rel="external nofollow noopener noreferrer" itemprop="url"><img src="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/029-github.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/029-github.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a> <a href="https://t.me/volantis_x" class="social flat-btn" target="_blank" rel="external nofollow noopener noreferrer" itemprop="url"><img src="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/010-facebook.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/010-facebook.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a> <a href="https://t.me/volantis_x" class="social flat-btn" target="_blank" rel="external nofollow noopener noreferrer" itemprop="url"><img src="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/018-twitter.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/018-twitter.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a> <a href="https://t.me/volantis_x" class="social flat-btn" target="_blank" rel="external nofollow noopener noreferrer" itemprop="url"><img src="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/045-telegram.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/045-telegram.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a> <a href="https://t.me/volantis_x" class="social flat-btn" target="_blank" rel="external nofollow noopener noreferrer" itemprop="url"><img src="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/006-youtube.svg" class="lazyload" data-srcset="https://unpkg.com/[email protected]/media/org.volantis/icon/1322024-social-media/006-youtube.svg" srcset="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="></a></div><p>本站使用 <a href="https://github.com/volantis-x/hexo-theme-volantis/#6.0.0-alpha.1" target="_blank" rel="external nofollow noopener noreferrer">Volantis</a> 作为主题,您可以在 GitHub 找到<a href="https://github.com/volantis-x/volantis-docs" target="_blank" rel="external nofollow noopener noreferrer">本站源码</a>。</p><div><p><span>本站总访问量为<span id="busuanzi_value_site_pv"><i class="fa-solid fa-loader fa-spin fa-fw" aria-hidden="true"></i></span> 次</span> <span>访客数为<span id="busuanzi_value_site_uv"><i class="fa-solid fa-loader fa-spin fa-fw" aria-hidden="true"></i></span> 人</span></p></div><div class="copyright"><p><a href="https://github.com/volantis-x/" target="_blank" rel="external nofollow noopener noreferrer">Copyright © Since 2017 Volantis Team</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"))</script><script>volantis.css("https://unpkg.com/[email protected]/libs/@fortawesome/fontawesome-pro/css/all.min.css")</script><script src="/js/app.js"></script><div id="rightmenu-wrapper"><ul class="list-v rightmenu" id="rightmenu-content"><li class="navigation menuNavigation-Content"><a class="nav icon-only fix-cursor-default" onclick="history.back()"><i class="fa-duotone fa-arrow-left PETERRIVE fa-fw"></i></a><a class="nav icon-only fix-cursor-default" onclick="history.forward()"><i class="fa-duotone fa-arrow-right PETERRIVE fa-fw"></i></a><a class="nav icon-only fix-cursor-default" onclick="window.location.reload()"><i class="fa-duotone fa-redo PETERRIVE fa-fw"></i></a><a class="nav icon-only fix-cursor-default" onclick="VolantisApp.scrolltoElement(volantis.dom.bodyAnchor)"><i class="fa-duotone fa-arrow-up PETERRIVE fa-fw"></i></a></li><hr class="menuLoad-Content"><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="copyPaste" data-event="copyPaste" data-group="inputBox"><i class="fa-duotone PETERRIVE fa-paste fa-fw"></i> 粘贴文本</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="copyAll" data-event="copyAll" data-group="inputBox"><i class="fa-duotone PETERRIVE fa-object-ungroup fa-fw"></i> 全选文本</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="copyCut" data-event="copyCut" data-group="inputBox"><i class="fa-duotone PETERRIVE fa-cut fa-fw"></i> 剪切文本</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="copyText" data-event="copyText" data-group="seletctText"><i class="fa-duotone PETERRIVE fa-copy fa-fw"></i> 复制文本</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="searchWord" data-event="OpenSearch(__text__)" data-group="seletctText"><i class="fa-duotone PETERRIVE fa-search fa-fw"></i> 站内搜索</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="bingSearch" data-event="window.open(`https://cn.bing.com/search?q=${__text__}`)" data-group="seletctText"><i class="fa-duotone PETERRIVE fa-search fa-fw"></i> 必应搜索</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="openTab" data-event="window.open(__link__)" data-group="elementCheck"><i class="fa-duotone PETERRIVE fa-external-link-square-alt fa-fw"></i> 新标签页打开</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="copyLink" data-event="copyLink" data-group="elementCheck"><i class="fa-duotone PETERRIVE fa-link fa-fw"></i> 复制链接地址</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="copyImg" data-event="copyImg" data-group="elementImage"><i class="fa-duotone PETERRIVE fa-image fa-fw"></i> 复制图片</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="googleImg" data-event="window.open(`https://www.google.com/searchbyimage?image_url=${__link__}`)" data-group="elementImage"><i class="fa-duotone PETERRIVE fa-images fa-fw"></i> 谷歌识图</span></li><hr class="menuLoad-Content"><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="prev" data-event="volantis.rightmenu.jump('prev')" data-group="prevNext"><i class="fa-duotone fa-angles-left PETERRIVE fa-fw"></i> 查看上一篇</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="next" data-event="volantis.rightmenu.jump('next')" data-group="prevNext"><i class="fa-duotone fa-angles-right PETERRIVE fa-fw"></i> 查看下一篇</span></li><hr class="menuLoad-Content"><li class="menuLoad-Content"><a class="vlts-menu fix-cursor-default" id="help" href="/faqs/" data-group="link"><i class="fa-duotone fa-question EMERALD fa-fw"></i> 常见问题</a></li><li class="menuLoad-Content"><a class="vlts-menu fix-cursor-default" id="examples" href="/examples/" data-group="link"><i class="fa-duotone fa-rss PETERRIVE fa-fw"></i> 示例博客</a></li><li class="menuLoad-Content"><a class="vlts-menu fix-cursor-default" id="contributors" href="/contributors/" data-group="link"><i class="fa-duotone fa-fan fa-spin AMETHYST fa-fw"></i> 加入社区</a></li><hr class="menuLoad-Content"><li class="menuLoad-Content"><a class="vlts-menu fix-cursor-default" id="source_docs" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/volantis-docs/" data-group="link"><i class="fa-duotone fa-code-branch WETASPHALT fa-fw"></i> 本站源码</a></li><li class="menuLoad-Content"><a class="vlts-menu fix-cursor-default" id="source_theme" target="_blank" rel="external nofollow noopener noreferrer" href="https://github.com/volantis-x/hexo-theme-volantis/" data-group="link"><i class="fa-duotone fa-code-branch CONCRETE fa-fw"></i> 主题源码</a></li><hr class="menuLoad-Content"><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="darkMode" data-event="volantis.dark.toggle()" data-group="darkMode"><i class="fa-duotone fa-eclipse-alt WISTERIA fa-fw"></i> 暗黑模式</span></li><hr class="menuLoad-Content"><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="printMode" data-event="printMode" data-group="articlePage"><i class="fa-duotone fa-print TURQUOISE fa-fw"></i> 打印页面</span></li><li class="menuLoad-Content"><span class="vlts-menu fix-cursor-default event" id="readMode" data-event="readMode" data-group="articlePage"><i class="fa-duotone fa-book-open EMERALD fa-fw"></i> 阅读模式</span></li><hr class="menuLoad-Content"><div id="menuMusic"><li class="music name menuOption-Content"><p class="nav music-title fix-cursor-default"></p></li><li class="music ctrl"><a class="nav icon-only backward fix-cursor-default" title="backward"><i class="fa-duotone PETERRIVE fa-step-backward fa-fw"></i></a><a class="nav icon-only toggle fix-cursor-default" title="toggle"><i class="fa-duotone PETERRIVE fa-play fa-fw"></i></a><a class="nav icon-only forward fix-cursor-default" title="forward"><i class="fa-duotone PETERRIVE fa-step-forward fa-fw"></i></a></li><li class="music volume"><div class="nav volume"><div class="aplayer-volume-bar-wrap"><div class="aplayer-volume-bar fix-cursor-pointer"><div class="aplayer-volume"></div><i class="left fa-duotone PETERRIVE fa-volume-off fa-fw"></i><i class="right fa-duotone PETERRIVE fa-volume-up fa-fw"></i></div></div></div></li></div></ul></div><script src="/js/plugins/rightMenus.js"></script><script>const RightMenusFunction={searchWord:e=>{OpenSearch(e)},bingSearch:e=>{window.open("https://cn.bing.com/search?q="+e)},openTab:e=>{window.open(e)},googleImg:e=>{window.open("https://www.google.com/searchbyimage?image_url="+e)},prev:()=>{volantis.rightmenu.jump("prev")},next:()=>{volantis.rightmenu.jump("next")},darkMode:()=>{volantis.dark.toggle()}}</script><script>const rootElement=document.documentElement,darkModeStorageKey="color-scheme",rootElementDarkModeAttributeName="color-scheme",setLS=(e,t)=>{localStorage.setItem(e,t)},removeLS=e=>{localStorage.removeItem(e)},getLS=e=>localStorage.getItem(e),getModeFromCSSMediaQuery=()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",resetRootDarkModeAttributeAndLS=()=>{var e;rootElement.removeAttribute("color-scheme"),e="color-scheme",localStorage.removeItem(e)},validColorModeKeys={dark:!0,light:!0},applyCustomDarkModeSettings=e=>{const t=e||getLS("color-scheme");getCustomDarkMode(),t===getModeFromCSSMediaQuery()?resetRootDarkModeAttributeAndLS():validColorModeKeys[t]?rootElement.setAttribute("color-scheme",t):resetRootDarkModeAttributeAndLS()},invertDarkModeObj={dark:"light",light:"dark"},getCustomDarkMode=()=>{let e=getLS("color-scheme");if(validColorModeKeys[e])e=invertDarkModeObj[e];else{if(null!==e)return;e=invertDarkModeObj[getModeFromCSSMediaQuery()]}volantis.dark.mode="dark"==e?"light":"dark"},toggleCustomDarkMode=()=>{let e=getLS("color-scheme");if(validColorModeKeys[e])e=invertDarkModeObj[e];else{if(null!==e)return;e=invertDarkModeObj[getModeFromCSSMediaQuery()]}var t,o;return t="color-scheme",o=e,localStorage.setItem(t,o),e};function bindToggleButton(){document.querySelectorAll("#wrapper .toggle-mode-btn,#rightmenu-wrapper .toggle-mode-btn").forEach((function(e){volantis.dom.$(e).on("click",volantis.dark.toggle)}))}volantis.dark.toggle=()=>{const e=toggleCustomDarkMode();applyCustomDarkModeSettings(e),volantis.dark.method.toggle.start()},applyCustomDarkModeSettings(),document.addEventListener("DOMContentLoaded",()=>{volantis.requestAnimationFrame(bindToggleButton)});const darkModelListeners={dark:e=>{e.matches&&(volantis.dark.mode="dark"),volantis.dark.method.toggle.start()},light:e=>{e.matches&&(volantis.dark.mode="light"),volantis.dark.method.toggle.start()}};window.matchMedia("(prefers-color-scheme: dark)").addListener(darkModelListeners.dark),window.matchMedia("(prefers-color-scheme: light)").addListener(darkModelListeners.light)</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()</script><script defer="defer" src="https://cdn.bootcdn.net/ajax/libs/vanilla-lazyload/17.1.0/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()}))</script><script>window.FPConfig={delay:0,ignoreKeywords:["#"],maxRPS:6,hoverDelay:0}</script><script defer="defer" src="https://unpkg.com/[email protected]/libs/flying-pages/flying-pages.min.js"></script><script type="text/javascript">function p_scrollrebeal(){ScrollReveal().reveal("#l_main .reveal",{distance:"32px",duration:"800",interval:"20",scale:"1",easing:"ease-out"})}function init_scrollrebeal(){"undefined"==typeof ScrollReveal?volantis.requestAnimationFrame(init_scrollrebeal):p_scrollrebeal()}volantis.js("https://cdn.bootcdn.net/ajax/libs/scrollReveal.js/4.0.9/scrollreveal.min.js"),document.addEventListener("DOMContentLoaded",init_scrollrebeal)</script><script>function SetAPlayerPlugin(){let e=document.querySelectorAll("meting-js");if(0!==e.length)if(e[0].aplayer&&e[0].aplayer.on){document.querySelectorAll(".aplayer-icon-menu").forEach(e=>{e.setAttribute("aria-label","Aplayer Menu")});try{setTimeout(()=>{e.forEach((e,t)=>{const a=e.aplayer;if(!a)return;"5062959861"===e.meta.id&&"undefined"!=typeof RightMenuAplayer&&RightMenuAplayer.checkAPlayer(),a.events.events.play.every(e=>"messagePlay"!==e.name)&&a.on("play",(function(){let e=a.list.index,t=a.list.audios[e].title,i=a.list.audios[e].artist;setTimeout(()=>{VolantisApp.message("音乐通知",t+" - "+i,{icon:"fa-light fa-play light-blue",transitionIn:"flipInX",transitionOut:"flipOutX"})},100)})),a.events.events.pause.every(e=>"messagePause"!==e.name)&&a.on("pause",(function(){let e=a.list.index,t=a.list.audios[e].title,i=a.list.audios[e].artist;setTimeout(()=>{a.paused&&VolantisApp.message("音乐通知",t+" - "+i,{icon:"fa-light fa-pause light-blue",transitionIn:"flipInX",transitionOut:"flipOutX"})},100)}))})},500)}catch(e){console.error(e)}}else volantis.requestAnimationFrame(SetAPlayerPlugin)}volantis.css("https://cdn.bootcdn.net/ajax/libs/aplayer/1.10.1/APlayer.min.css"),(async()=>{await volantis.js("https://cdn.bootcdn.net/ajax/libs/aplayer/1.10.1/APlayer.min.js"),await volantis.js("https://unpkg.com/meting@2/dist/Meting.min.js"),await volantis.js("/js/plugins/aplayer.js")})(),document.addEventListener("DOMContentLoaded",()=>{SetAPlayerPlugin()})</script><script>function check_giscus(){return"dark"===volantis.dark.mode?volantis.giscus.Theme="dark":volantis.giscus.Theme="light",document.getElementById("giscus_container")}function p_giscus(){const t=check_giscus();if(!t)return;let e=Object.assign({theme:{light:"light",dark:"dark"},repo:"volantis-x/community","repo-id":"MDEwOlJlcG9zaXRvcnkyNDIzNjY1ODM=",mapping:"number",term:"145","reactions-enabled":"1","emit-metadata":"0",lang:"zh-CN","input-position":"top"},pdata.commentConfig);const s=document.createElement("script");s.setAttribute("src","https://giscus.app/client.js"),Object.keys(e).forEach(t=>{"theme"!=t&&s.setAttribute("data-"+t,e[t])}),s.setAttribute("data-theme",volantis.giscus.Theme),s.setAttribute("crossorigin","anonymous"),t.appendChild(s)}function dark_giscus(){if(!check_giscus())return;const t={setConfig:{theme:volantis.giscus.Theme}};document.querySelector("iframe.giscus-frame").contentWindow.postMessage({giscus:t},"https://giscus.app")}volantis.layoutHelper("comments",'<div id="giscus_container"></div>'),volantis.giscus={},p_giscus(),volantis.dark.push(dark_giscus)</script><script defer="defer" src="https://npm.elemecdn.com/[email protected]/bsz.js"></script><script>async function loadSearchScript(){return volantis.js("/js/search/hexo.js")}function loadSearchService(){loadSearchScript(),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(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 p_highlightjs_copyCode(){(document.querySelector(".highlight .code pre")||document.querySelector(".article pre code"))&&VolantisApp.utilCopyCode(".highlight .code pre, .article pre code")}volantis.requestAnimationFrame(p_highlightjs_copyCode)</script><script>let imgs=["https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/006.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/051.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/039.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/025.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/052.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/002.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/001.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/054.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/012.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/003.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/042.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/019.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/046.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/056.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/038.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/035.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/005.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/016.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/034.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/004.webp","https://unpkg.com/[email protected]/media/wallpaper/minimalist/2020/033.webp"],index=0,IntervalParallax=null;function parallax(){let a=document.querySelector("#parallax-window");Parallax.window=a,Parallax.options.fade=1500,Parallax.cache=1,next_parallax(),Parallax.init(),imgs.length>1&&(IntervalParallax=setInterval((function(){next_parallax()}),"10000"))}function next_parallax(){"undefined"!=typeof Parallax&&(document.querySelector("#full")||document.querySelector("#half"))&&imgs.length>=1&&(Parallax.options.src=imgs[index%imgs.length],Parallax.start(),index++,Parallax.cache&&(fetch(imgs[index%imgs.length]+"?t="+(new Date).getTime()),index==imgs.length&&(Parallax.cache=0)))}var runningOnBrowser="undefined"!=typeof window,isBot=runningOnBrowser&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro|msn)bot|crawl|spider|yand|duckgo/i.test(navigator.userAgent);isBot||volantis.js("/js/plugins/parallax.js").then(()=>{parallax()})</script><script>function load_swiper(){document.querySelectorAll(".swiper-container")[0]&&(volantis.css("https://cdn.bootcdn.net/ajax/libs/Swiper/8.3.2/swiper-bundle.min.css"),volantis.js("https://cdn.bootcdn.net/ajax/libs/Swiper/8.3.2/swiper-bundle.min.js").then(()=>{p_swiper()}))}function p_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()</script><script>volantis.css("https://cdn.bootcdn.net/ajax/libs/pace/1.2.4/themes/blue/pace-theme-minimal.min.css"),volantis.js("https://cdn.bootcdn.net/ajax/libs/pace/1.2.4/pace.min.js").then(()=>{Pace.options.restartOnPushState=!1,volantis.scroll.push(()=>{Pace.stop(),Pace.trigger("start"),Pace.bar.update(100*volantis.scroll.progress()),document.body.className=document.body.className.replaceAll("pace-running ","")},"阅读进度")})</script><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)})</script><script>try{let e=(e,t,n=2)=>Math.abs(e-t)<=n,t=(t,n)=>!e(t.width,n.width)||!e(t.height,n.height),n=new WeakMap,i=(e,i=e.getClientBoundingRect())=>{let o=n.get(e);o&&!t(o,i)||(n.set(e,i),e.style["contain-intrinsic-size"]=`${i.width}px ${i.height}px`)},o=new IntersectionObserver((e,t)=>{e.forEach(e=>{i(e.target,e.boundingClientRect)})},{rootMargin:"500px 0px 500px 0px"}),r=new ResizeObserver((e,t)=>{e.forEach(e=>{i(e.target,e.contentRect)})}),s=e=>{let t=document.querySelectorAll(e);t.length&&(t.forEach(e=>{o.observe(e),r.observe(e)}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{t[0].style["content-visibility"]="auto"})}))};(()=>{"content-visibility"in document.documentElement.style&&s(".post-story")})()}catch(e){console.log(e)}</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":"Volantis","url":"https://volantis.js.org/","logo":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}},{"@context":"http://schema.org","@type":"Person","name":"Volantis Team","image":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"},"url":"https://volantis.js.org/","sameAs":["https://github.com/volantis-x"],"description":"Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"},{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://volantis.js.org/","name":"Volantis"}}]},{"@context":"http://schema.org","@type":"WebSite","name":"Volantis","url":"https://volantis.js.org/","keywords":"Volantis,Hexo,Hexo主题,Blog,博客","description":"Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。","author":{"@type":"Person","name":"Volantis Team","image":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"},"url":"https://volantis.js.org/","description":"Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。"},"publisher":{"@type":"Organization","name":"Volantis","url":"https://volantis.js.org/","logo":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}},"potentialAction":{"@type":"SearchAction","name":"Site Search","target":{"@type":"EntryPoint","urlTemplate":"https://volantis.js.org?s={search_term_string}"},"query-input":"required name=search_term_string"}},{"@context":"http://schema.org","@type":"BlogPosting","description":"Volantis 是一个功能丰富、高度模块化的 Hexo 博客主题。得益于其强大的模块化特性,您可以轻松搭建一个极简风格的博客,也可以仿照官网搭建一个多人协作的、包含文档模块的大体量综合型博客。","inLanguage":"zh-CN","mainEntityOfPage":{"@type":"WebPage"},"author":{"@type":"Person","name":"Volantis Team","image":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png"},"url":"https://volantis.js.org/"},"publisher":{"@type":"Organization","name":"Volantis","logo":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}},"wordCount":0,"image":{"@type":"ImageObject","url":"https://unpkg.com/[email protected]/media/org.volantis/blog/favicon/android-chrome-192x192.png","width":192,"height":192}}]</script></div><script>volantis.rightmenu.jump=e=>{const t=document.querySelector("prev"===e?"article .prev-next a.prev":"article .prev-next a.next");t&&("undefined"!=typeof pjax?pjax.loadUrl(t.href):window.location.href=t.href)},volantis.rightmenu.handle(()=>{const e=document.querySelector("#prev").parentElement,t=document.querySelector("#next").parentElement,n=document.querySelector("article .prev-next a.prev p.title"),r=document.querySelector("article .prev-next a.next p.title");e.style.display=n?"block":"none",e.title=n?n.innerText:null,t.style.display=r?"block":"none",t.title=r?r.innerText:null},"prevNext",!1)</script></body></html>