diff --git a/_config.yml b/_config.yml index c532fc0..05af435 100755 --- a/_config.yml +++ b/_config.yml @@ -1,11 +1,10 @@ ######## Stellar info ######## stellar: - version: '1.0.0-rc.1' + version: '1.0.0-rc.2' homepage: 'https://xaoxuu.com/wiki/stellar/' repo: 'https://github.com/xaoxuu/hexo-theme-stellar' - # The cdn version needs to be consistent with the stellar version - cdn_css: # 'https://cdn.jsdelivr.net/npm/hexo-theme-stellar@1.0/source/css/main.min.css' - cdn_js: # 'https://cdn.jsdelivr.net/npm/hexo-theme-stellar@1.0/source/js/main.min.js' + cdn_css: # Use cdn links instead of /css/main.css + cdn_js: # Use cdn links instead of /js/main.js ######## head tags ######## @@ -66,13 +65,7 @@ article: enable: false max_count: 5 placeholder_img: https://7.dusays.com/2021/02/20/76b86c0226ffd.svg - # 分享文章 - share: - qq: https://cdn.jsdelivr.net/gh/volantis-x/cdn-org/logo/128/qq.png - qzone: https://cdn.jsdelivr.net/gh/volantis-x/cdn-org/logo/128/qzone.png - weibo: https://cdn.jsdelivr.net/gh/volantis-x/cdn-org/logo/128/weibo.png - # 需要安装插件 npm i hexo-helper-qrcode - wechat: https://cdn.jsdelivr.net/gh/volantis-x/cdn-org/logo/128/wechat.png + ######## Comments ######## @@ -110,11 +103,11 @@ footer: tag_plugins: # {% note text %} note: - default_color: '' + default_color: '' # white, dark, red, orange, yellow, green, cyan, blue, purple # {% checkbox %} checkbox: interactive: false # enable interactive for user - # {% link title, url, img %} + # {% link url title [img:src] [description] %} link: default_img: https://7.dusays.com/2021/02/20/8f277b4ee0ecd.svg diff --git a/dist/css/main.css b/dist/css/main.css new file mode 100644 index 0000000..393be98 --- /dev/null +++ b/dist/css/main.css @@ -0,0 +1 @@ +:root{--site-bg:#f8f8f8;--block:#f2f2f2;--block-border:#e8e8e8;--hover-block:#eee;--text-p0:#111;--text-p1:#333;--text-p2:#5a5a5a;--text-p3:#818181;--text-meta:#d0d0d0;--card:#fff;--theme-highlight:#03c7fa;--theme-bg:#e8fafe;--swiper-theme-color:#1bcdfc!important}body[theme=dark]{--site-bg:#000;--block:#111;--block-border:#282828;--hover-block:#1c1c1c;--text-p0:#fff;--text-p1:#fff;--text-p2:#b2b2b2;--text-p3:#727272;--text-meta:#4c4c4c;--card:#333;--theme-highlight:#1bcdfc;--theme-bg:#304247}*{outline:0}html{font-family:Dosis,-apple-system,"Helvetica Neue",Helvetica,Arial,"WenQuanYi Micro Hei","Microsoft Yahei",Menlo,Monaco,monospace,courier,sans-serif;font-size:16px}.post-list .card-title,.post-list .list-title,.post-list .post-card#archive a.post time,article.md .highlight,article.md code,pre{font-family:Menlo,Monaco,monospace,courier,sans-serif}body{background:var(--site-bg);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent}h1{font-size:2rem;font-weight:600}pre{font-size:.8125rem;tab-size:4;-moz-tab-size:4;-o-tab-size:4;-webkit-tab-size:4}a{text-decoration:none;color:#2196f3}.l_left .widgets .widget-wrap .widget-body p>a:not([class]):hover,.page-footer a,article.md p>a:not([class]):hover{text-decoration:underline}a:hover{color:#ff5722}a.button{font-weight:500;line-height:1;padding:.75rem 2rem;border-radius:3px;transition:background .2s ease-out;-moz-transition:background .2s ease-out;-webkit-transition:background .2s ease-out;-o-transition:background .2s ease-out;font-size:.9375rem}.cap,button{font-weight:600}a.button.cyan{background:#1bcdfc;color:#fff}.cap,.page-footer,.page-footer a{color:var(--text-p3)}a.button.cyan:hover{background:#ff5722}.cap{font-size:.75rem}.cap.breadcrumb{color:#ff7844}.cap.blue{color:#0d87e9}.cap.cyan{color:#03c3f5}.cap.green{color:#37b749}span.dot,span.sep{font-size:.9em;margin:0 .25em}span.dot:before{content:'·'}span.sep:before{content:'/';padding-left:2px;padding-right:2px}hr{color:var(--text-meta);opacity:.1}button{padding:1em;border:none;outline:0;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.dis-select,.post-list .paginator-wrap,article.md .highlight .gutter{-moz-user-select:none;-webkit-user-select:none}button:hover{color:#fff;background:#1bcdfc}li{font-size:.9375rem}svg.icon{width:1em;height:1em;vertical-align:middle;fill:currentColor;overflow:hidden}ol,ul{padding-left:1.5rem}ol ol,ol ul,ul ol,ul ul{padding-left:0}.dis-select{-ms-user-select:none;user-select:none}table:not([class]){overflow:auto;display:inline-block;max-width:100%;vertical-align:text-top;border-collapse:collapse}table:not([class]) th,table:not([class]) tr:hover{background:var(--hover-block)}table:not([class]) td,table:not([class]) th{padding:8px 16px;border:2px solid var(--hover-block);line-height:1.5;font-size:90%}article.md .highlight figcaption,article.md h2,div.timenode .header{border-bottom:1px solid var(--block-border)}table:not([class]) tr{word-break:keep-all;background:var(--block)}.page-footer{margin:16px;font-size:.75rem}.page-footer p{margin:4px 0;line-height:1.2}.page-footer a:hover{color:#ff5722}article.md .highlight{margin:1rem 0;border-radius:4px;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;width:100%;background:var(--block);border:1px solid var(--block-border);line-height:1.5;position:relative;overflow:auto;display:block}article.md .highlight figcaption{color:var(--text-p2);font-size:.8125rem;padding:4px .5rem;position:sticky;left:0;background:var(--hover-block);border-top-left-radius:calc(4px - 1px);border-top-right-radius:calc(4px - 1px)}article.md .highlight figcaption span{margin-right:4px}article.md .highlight>table{overflow:auto;display:block;margin:0;background:0 0;border:none}article.md .highlight>table td,article.md .highlight>table th{padding:0;border:none;line-height:1.5}article.md .highlight>table::-webkit-scrollbar{height:4px;width:4px}article.md .highlight>table::-webkit-scrollbar-track-piece{background:0 0}article.md .highlight>table::-webkit-scrollbar-thumb{background:0 0;cursor:pointer;border-radius:4px}article.md .highlight>table:hover::-webkit-scrollbar-thumb{background:var(--text-meta)}article.md .highlight>table:hover::-webkit-scrollbar-thumb:hover{background:var(--text-p3)}article.md .highlight>table tr,article.md .highlight>table tr:hover{background:0 0}article.md .highlight .gutter{pointer-events:none;-ms-user-select:none;user-select:none;text-align:right;padding:0 1em;border-width:0;margin-left:0;position:sticky;left:0;z-index:1;background:var(--block)}article.md .highlight .gutter pre .line{color:var(--text-p2)}article.md .highlight .code pre{display:block;padding:.5em 1rem}article.md .highlight .gutter+.code pre{padding-left:.25em}article.md .highlight .code{vertical-align:top}article.md .highlight .code:before{content:"";position:absolute;top:0;right:0;padding:4px .5rem;opacity:.25;font-weight:700}article.md .highlight.yaml .code:before{content:"YAML"}article.md .highlight.json .code:before{content:"JSON"}article.md .highlight.diff .code:before{content:"diff"}article.md .highlight.html .code:before{content:"HTML"}article.md .highlight.javascript .code:before,article.md .highlight.js .code:before{content:"JS"}article.md .highlight.css .code:before{content:"CSS"}article.md .highlight.less .code:before{content:"Less"}article.md .highlight.stylus .code:before{content:"Stylus"}article.md .highlight.bash .code:before{content:"bash"}article.md .highlight.shell .code:before{content:"shell"}article.md .highlight.sh .code:before{content:"sh"}article.md .highlight.ini .code:before{content:"ini"}article.md .highlight.c .code:before{content:"C"}article.md .highlight.cpp .code:before{content:"C++"}article.md .highlight.objc .code:before,article.md .highlight.objectivec .code:before{content:"Objective-C"}article.md .highlight.swift .code:before{content:"Swift"}article.md .highlight.java .code:before{content:"Java"}article.md .highlight.python .code:before{content:"Python"}article.md .highlight.php .code:before{content:"PHP"}article.md .highlight.rust .code:before{content:"Rust"}article.md .highlight.sql .code:before{content:"SQL"}article.md .highlight.ruby .code:before{content:"Ruby"}article.md .highlight.makefile .code:before{content:"Makefile"}article.md .highlight.go .code:before{content:"Go"}article.md .highlight.typescript .code:before{content:"TypeScript"}pre .code:before{display:none}pre .line,pre .params{color:var(--text-p1)}pre .line .addition{color:#3fa33f}pre .line .deletion{color:#ee2b29}pre .marked{background-color:rgba(254,213,66,.4);padding:2px 8px 2px 0;border-radius:2px;width:100%}pre .attr,pre .attribute,pre .title{color:#3f51b5}pre .comment{color:var(--text-p3)}pre .javascript .function,pre .keyword,pre .meta-keyword{color:#9c27b0}pre .built_in,pre .tag .name,pre .type{color:#4ba7ee}pre .constant,pre .css .class,pre .css .id,pre .css .pseudo,pre .html .doctype,pre .literal,pre .number,pre .preprocessor,pre .regexp,pre .ruby .constant,pre .variable,pre .xml .doctype,pre .xml .pi,pre .xml .tag .title{color:#fd8607}pre .class,pre .css .rules .attribute,pre .ruby .class .title{color:#ff9800}pre .meta-string,pre .string{color:#449e48}pre .header,pre .inheritance,pre .ruby .symbol,pre .value,pre .xml .cdata{color:#4caf50}pre .css .hexcolor{color:#6cc}pre .coffeescript .title,pre .function,pre .javascript .title,pre .perl .sub,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword{color:#69c}.highlight.css .line .selector-tag,.highlight.css .line .tag .name,.highlight.html .line .selector-tag,.highlight.html .line .tag .name,.highlight.less .line .selector-tag,.highlight.less .line .tag .name,.highlight.stylus .line .selector-tag,.highlight.stylus .line .tag .name{color:#ee2b29}.highlight.css .line .selector-attr,.highlight.css .line .selector-class,.highlight.html .line .selector-attr,.highlight.html .line .selector-class,.highlight.less .line .selector-attr,.highlight.less .line .selector-class,.highlight.stylus .line .selector-attr,.highlight.stylus .line .selector-class{color:#fd8607}.highlight.css .line .attribute,.highlight.html .line .attribute,.highlight.less .line .attribute,.highlight.stylus .line .attribute{color:#3f51b5}.highlight.css .line .number,.highlight.html .line .number,.highlight.less .line .number,.highlight.stylus .line .number{color:#17afca}.highlight.c .line .meta,.highlight.objc .line .meta,.highlight.objectivec .line .meta,.highlight.swift .line .meta{color:#9c27b0}.highlight.c .line .meta-string,.highlight.c .line .string,.highlight.objc .line .meta-string,.highlight.objc .line .string,.highlight.objectivec .line .meta-string,.highlight.objectivec .line .string,.highlight.swift .line .meta-string,.highlight.swift .line .string{color:#fb3f1b}.highlight.c .line .class,.highlight.objc .line .class,.highlight.objectivec .line .class,.highlight.swift .line .class{color:var(--text-p1)}.highlight.c .line .class .title,.highlight.objc .line .class .title,.highlight.objectivec .line .class .title,.highlight.swift .line .class .title{color:#1e80f0}.highlight.c .line .comment,.highlight.objc .line .comment,.highlight.objectivec .line .comment,.highlight.swift .line .comment{color:#3fa33f}.highlight.json .line .attr{color:#e24f5a}.highlight.json .line .literal{color:#3f51b5}.highlight.yaml .line .attr{color:#e24f5a}.comments-wrap{padding:32px 16px}.comments-wrap div.cmt-body.utterances{margin:0 -4px}.comments-wrap a.avatar{border-radius:120px!important;overflow:hidden!important}.l_cover{height:100vh;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.l_cover .cover-wrap{margin-bottom:0;max-width:500px}.l_cover .cover-wrap .logo{margin-bottom:2rem}.l_cover .cover-wrap .logo img{object-fit:contain;max-height:35vh;max-width:100%}.l_cover .cover-wrap .cover-title{font-weight:700;font-size:1.5rem;margin:1rem 0}.l_cover .cover-wrap .cover-title:first-child{font-size:3rem}.l_cover .cover-wrap .description{margin:1rem 0}.l_cover .cover-wrap .start-wrap{margin:32px 0;flex-shrink:0}.l_cover .cover-wrap .start-wrap a.start{display:inline-block}img{max-width:100%}img.lazyload:not(.placeholder){transition:filter .25s ease-out;-moz-transition:filter .25s ease-out;-webkit-transition:filter .25s ease-out;-o-transition:filter .25s ease-out}img.lazyload:not(.placeholder):not(.loaded){opacity:0;filter:blur(8px)}img.lazyload:not(.placeholder).loaded{opacity:1;filter:none}.post-list .paginator-wrap{display:flex;justify-content:space-between;align-items:center;-ms-user-select:none;user-select:none;font-weight:500}.site-card-group .site-card,div.related-posts-wrap .related-posts,nav.menu{-moz-user-select:none;-webkit-user-select:none}.post-list .paginator-wrap svg.icon{font-size:1.8rem}.post-list .paginator-wrap .paginator{text-align:center;padding:16px}.post-list .paginator-wrap div.paginator{font-size:.875rem;color:var(--text-p2)}.post-list .paginator-wrap a.paginator{color:#2196f3;transition:color .2s ease-out;-moz-transition:color .2s ease-out;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out}.post-list .paginator-wrap a.paginator.disable{pointer-events:none;opacity:.25}.post-list .paginator-wrap a.paginator:hover{color:#ff5722}.read-next-wrap{padding:32px 16px}.read-next-wrap .body .post-title{margin:.5rem 0;line-height:1.2;color:var(--text-p2);font-weight:500}.read-next-wrap .body .post-title a{color:inherit}.read-next-wrap .body .post-title a:hover{color:#ff5722}.read-next-wrap .body .post-title.read{color:var(--text-p3);font-size:.75rem}.read-next-wrap .body .post-title.unread{font-size:1.5rem}.references-wrap{margin:32px 16px;padding:1rem;background:var(--block);border-radius:4px}.references-wrap .header{font-weight:500;color:var(--text-p3);margin-bottom:1rem}.references-wrap .body ul{margin:0}.references-wrap .body .post-title{margin:.5rem 0;line-height:1.2;font-size:.8125rem}div.related-posts-wrap{padding:32px 16px}div.related-posts-wrap:empty{display:none}div.related-posts-wrap .related-posts{width:100%;display:flex;margin:16px 0;overflow-x:scroll;-ms-user-select:none;user-select:none;align-items:flex-start;padding-bottom:8px}div.related-posts-wrap .related-posts::-webkit-scrollbar{height:8px;width:8px}div.related-posts-wrap .related-posts::-webkit-scrollbar-track-piece{background:0 0}div.related-posts-wrap .related-posts::-webkit-scrollbar-thumb{background:var(--text-meta);cursor:pointer;border-radius:4px}div.related-posts-wrap .related-posts::-webkit-scrollbar-thumb:hover{background:var(--text-p3)}div.related-posts-wrap .related-posts a{flex-grow:0;flex-shrink:0;background:var(--card);border-radius:.5rem;padding-bottom:1rem;line-height:1.2;display:flex;flex-direction:column;overflow:hidden;width:360px;opacity:.7;transition:opacity .5s ease-out;-moz-transition:opacity .5s ease-out;-webkit-transition:opacity .5s ease-out;-o-transition:opacity .5s ease-out;border:1px solid var(--hover-block)}article.md h1:hover a.headerlink:before,article.md h2:hover a.headerlink:before,article.md h3:hover a.headerlink:before,article.md h4:hover a.headerlink:before,article.md h5:hover a.headerlink:before,article.md h6:hover a.headerlink:before,div.related-posts-wrap .related-posts a:hover{opacity:1}div.related-posts-wrap .related-posts a .img{height:180px;overflow:hidden}div.related-posts-wrap .related-posts a .img img{width:100%;height:100%;object-fit:cover}@media screen and (max-width:768px){div.related-posts-wrap .related-posts a{width:300px}div.related-posts-wrap .related-posts a .img{height:150px}}div.related-posts-wrap .related-posts a .title{color:var(--text-p1);font-weight:500;font-size:.9375rem;margin:1rem 1rem 0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2}div.related-posts-wrap .related-posts a .excerpt{color:var(--text-p2);font-size:.8125rem;margin:.4rem 1rem 0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}div.related-posts-wrap .related-posts a+a{margin-left:16px}.tag-plugin.about{background:var(--block);border-radius:6px;padding:2rem}.tag-plugin.about .about-header{display:flex;flex-direction:row-reverse;justify-content:space-between;flex-wrap:wrap}.tag-plugin.about .about-header img{object-fit:contain}.tag-plugin.about .about-header>img{margin:auto 0}.tag-plugin.about .about-header>p{font-size:.75rem;font-weight:500;color:var(--text-p3);padding-top:.75rem}.tag-plugin.about .about-header>p strong:first-child{font-size:3rem;font-weight:700;color:var(--text-p1);margin-right:.75rem}.tag-plugin.about .about-header .avatar{display:inline-flex;margin:0 1rem}.tag-plugin.about .about-body>p{font-size:.875rem;line-height:1.5}.md .checkbox,details,details[open]>div.body,details[open]>div.body li,details[open]>div.body p{font-size:.9375rem}.tag-plugin.about .about-body .tag-plugin.navbar:last-child nav.cap{padding:0;background:0 0}.tag-plugin.about .about-body .tag-plugin.navbar:last-child nav.cap a{margin:0;padding:0;color:#2196f3}.tag-plugin.about .about-body .tag-plugin.navbar:last-child nav.cap a:hover{color:#ff5722;background:0 0}.tag-plugin.about .about-body .tag-plugin.navbar:last-child nav.cap a+a{margin-left:1rem}.tag-plugin.about .about-header+.about-body{margin-top:1.5rem}@media screen and (max-width:500px){div.related-posts-wrap .related-posts a{width:300px}.tag-plugin.about{padding:1rem}.tag-plugin.about .about-header{flex-direction:column}.tag-plugin.about .about-header .avatar{margin:1rem auto}.tag-plugin.about .about-header p{width:100%}}.md .checkbox{display:flex;align-items:center;margin:0}.md .checkbox input{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;position:relative;height:16px;width:16px;cursor:pointer;display:inline-block;outline:0;border-radius:2px;flex-shrink:0;margin-right:8px;pointer-events:none}.md .checkbox input[type=checkbox]:after,.md .checkbox input[type=checkbox]:before{position:absolute;content:"";background:var(--site-bg)}.md .checkbox input[type=checkbox]:before{left:1px;top:5px;width:0;height:2px;transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg)}.md .checkbox input[type=checkbox]:after{right:7px;bottom:3px;width:2px;height:0;transform:rotate(40deg);-webkit-transform:rotate(40deg);-moz-transform:rotate(40deg);-ms-transform:rotate(40deg);-o-transform:rotate(40deg)}.md .checkbox input[type=checkbox]:checked:before{left:0;top:7px;width:6px;height:2px}.md .checkbox input[type=checkbox]:checked:after{right:3px;bottom:1px;width:2px;height:10px}.md .checkbox[symbol=minus] input[type=checkbox]:after,.md .checkbox[symbol=minus] input[type=checkbox]:before{transform:rotate(0);left:1px;top:5px;width:0;height:2px}.md .checkbox[symbol=minus] input[type=checkbox]:checked:after,.md .checkbox[symbol=minus] input[type=checkbox]:checked:before{left:1px;top:5px;width:10px;height:2px}.md .checkbox[symbol=plus] input[type=checkbox]:before{transform:rotate(0);left:1px;top:5px;width:0;height:2px}.md .checkbox[symbol=plus] input[type=checkbox]:after{transform:rotate(0);left:5px;top:1px;width:2px;height:0}.md .checkbox[symbol=plus] input[type=checkbox]:checked:before{left:1px;top:5px;width:10px;height:2px}.md .checkbox[symbol=plus] input[type=checkbox]:checked:after{left:5px;top:1px;width:2px;height:10px}.md .checkbox[symbol=times] input[type=checkbox]:before{transform:rotate(45deg);left:3px;top:1px;width:0;height:2px}.md .checkbox[symbol=times] input[type=checkbox]:after{transform:rotate(135deg);right:3px;top:1px;width:0;height:2px}.md .checkbox[symbol=times] input[type=checkbox]:checked:before{left:1px;top:5px;width:10px;height:2px}.md .checkbox[symbol=times] input[type=checkbox]:checked:after{right:1px;top:5px;width:10px;height:2px}.md .checkbox input[type=radio]{border-radius:50%;transform:translateY(-1px)}.md .checkbox input[type=radio]:before{content:"";display:block;width:8px;height:8px;border-radius:50%;margin:2px;transform:scale(0)}.md .checkbox input[type=radio]:checked:before{transform:scale(1)}.md .checkbox input{border:2px solid var(--theme)}.md .checkbox input[type=checkbox]:checked,.md .checkbox input[type=radio]:checked:before{background:var(--theme)}.md div.note,details{background:var(--theme-bg)}.tag-plugin.checkbox{--theme:#1bcdfc}.tag-plugin.checkbox[color=red]{--theme:#f5554a}.tag-plugin.checkbox[color=orange]{--theme:#fa7319}.tag-plugin.checkbox[color=yellow]{--theme:#ffc340}.tag-plugin.checkbox[color=green]{--theme:#50ca61}.tag-plugin.checkbox[color=cyan]{--theme:#31d2fc}.tag-plugin.checkbox[color=blue]{--theme:#2196f3}.tag-plugin.checkbox[color=purple]{--theme:#a53cb7}.tag-plugin{--theme:var(--block-border);--theme-bg:var(--block)}.tag-plugin[color=red]{--theme:#fab3ae;--theme-bg:#fdecea}.tag-plugin[color=orange]{--theme:#fdc199;--theme-bg:#feefe5}.tag-plugin[color=yellow]{--theme:#ffe4aa;--theme-bg:#fff8e9}.tag-plugin[color=green]{--theme:#b1e7b9;--theme-bg:#ebf9ed}.tag-plugin[color=cyan]{--theme:#a3ebfd;--theme-bg:#e8fafe}.tag-plugin[color=blue]{--theme:#a6d5fa;--theme-bg:#e8f4fd}.tag-plugin[color=purple]{--theme:#d7a8df;--theme-bg:#f5e9f7}.tag-plugin[color=white]{--theme-bg:#fff}.tag-plugin[color=dark]{--theme-bg:#3f3f3f;color:var(--card)!important}body[theme=dark] .tag-plugin[color=red]{--theme:#803934;--theme-bg:#463433}body[theme=dark] .tag-plugin[color=orange]{--theme:#82461e;--theme-bg:#46372d}body[theme=dark] .tag-plugin[color=yellow]{--theme:#846a2f;--theme-bg:#474032}body[theme=dark] .tag-plugin[color=green]{--theme:#376d3e;--theme-bg:#344135}body[theme=dark] .tag-plugin[color=cyan]{--theme:#297083;--theme-bg:#304247}body[theme=dark] .tag-plugin[color=blue]{--theme:#2b5a7f;--theme-bg:#313c46}body[theme=dark] .tag-plugin[color=purple]{--theme:#5d2e65;--theme-bg:#3d313f}body[theme=dark] .tag-plugin[color=white]{--theme-bg:#fff;color:var(--card)}body[theme=dark] .tag-plugin[color=dark]{--theme-bg:#0c0c0c;color:var(--text-p0)!important}details{display:block;padding:1rem;margin:1rem 0;border-radius:4px;border:1px solid var(--theme)}details summary{cursor:pointer;padding:1rem;margin:-1rem;border-radius:4px;color:var(--text-p2);font-size:.875rem;font-weight:500;position:relative;line-height:normal;outline:0}details summary>h1,details summary>h2,details summary>h3,details summary>h4,details summary>h5,details summary>h6,details summary>p{display:inline;border-bottom:none!important}details summary:hover{color:var(--text-p0)}details summary:hover:after{position:absolute;content:'+';text-align:center;top:50%;transform:translateY(-50%);right:1rem}details[open]>summary{border-bottom:1px solid var(--theme);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--text-p1);margin-bottom:0}details[open]>summary:hover:after{content:'-'}details[open]>div.body{padding:1rem;margin:0 -1rem -1rem;background:var(--card);border-bottom-left-radius:4px;border-bottom-right-radius:4px}details[open]>div.body ol,details[open]>div.body p,details[open]>div.body ul{margin-top:.5rem;margin-bottom:.5rem}details[open]>div.body ol:first-child,details[open]>div.body p:first-child,details[open]>div.body ul:first-child{margin-top:0}details[open]>div.body ol:last-child,details[open]>div.body p:last-child,details[open]>div.body ul:last-child{margin-bottom:0}details[codeblock]>div.body{padding:0;background:0 0}details[codeblock]>div.body .highlight{border:none;border-radius:0;background:0 0;margin:0}.md .frame-wrap{position:relative;overflow:hidden;margin:0 auto;max-width:100%;display:flex;flex-direction:column;align-items:center}.md .frame-wrap img,.md .frame-wrap video{border-radius:0}.md .frame-wrap .frame{z-index:1;display:block;position:absolute;background-size:100%;background-repeat:no-repeat;overflow:hidden}.md .img-wrap .frame-wrap[focus]{height:auto}.md .frame-wrap#iphone11 img,.md .frame-wrap#iphone11 video{width:287px;margin-top:19px;margin-bottom:20px}.md .frame-wrap#iphone11 .frame{background-image:url(https://cdn.jsdelivr.net/gh/volantis-x/cdn-volantis@3/img/frame/iphone11.svg);width:329px;height:658px}#toc .doc-tree a.doc-tree-link:hover,#toc a.toc-link:hover,.img-wrap .image-meta .image-download:hover{background:var(--hover-block)}.md .frame-wrap[focus=top] img,.md .frame-wrap[focus=top] video{margin-bottom:0!important}.md .frame-wrap:not([focus=bottom]) .frame{top:0}.md .frame-wrap[focus=bottom] img,.md .frame-wrap[focus=bottom] video{bottom:0;margin-top:0!important}.md .frame-wrap[focus=bottom] .frame{bottom:0}@media screen and (max-width:500px){.md .frame-wrap#iphone11 img,.md .frame-wrap#iphone11 video{width:208px;margin-top:13px;margin-bottom:14px}.md .frame-wrap#iphone11 .frame{width:238px;height:476px}}a.ghcard{display:inline-block;line-height:0}.img-wrap{margin-top:1rem;margin-bottom:1rem}.img-wrap .img-bg{line-height:0;text-align:center;border-radius:4px}.img-wrap img{display:inline-block;object-fit:contain}.img-wrap .image-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:.5rem}.img-wrap .image-meta .image-caption{display:inline-block;font-size:.75rem;line-height:1.4;color:var(--text-p3);flex-grow:1}.img-wrap .image-meta .image-caption:empty{display:none}.img-wrap .image-meta .image-caption.left{text-align:left}.img-wrap .image-meta .image-caption.center{text-align:center}.img-wrap .image-meta .image-download{margin-left:4px;padding:4px;line-height:0;border-radius:4px;transition:color .2s ease-out background .2s ease-out ease-out;-moz-transition:color .2s ease-out,background .2s ease-out;-webkit-transition:color .2s ease-out,background .2s ease-out;-o-transition:color .2s ease-out,background .2s ease-out}.md .tag.link{margin-top:1em;margin-bottom:1em;max-width:360px}.md .link-card{margin-right:1em;background:var(--card);display:inline-flex;justify-content:space-between;align-items:center;cursor:pointer;min-width:280px;max-width:100%;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);transition:box-shadow .28s ease-out;-moz-transition:box-shadow .28s ease-out;-webkit-transition:box-shadow .28s ease-out;-o-transition:box-shadow .28s ease-out;border-radius:8px}@media screen and (max-width:425px){.md .link-card{max-width:100%;width:100%}}.md .link-card:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,.1),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)}.md .link-card div.left,.md .link-card div.right{pointer-events:none}.md .link-card div.right{width:54px;height:54px;margin:12px;overflow:hidden;flex-shrink:0;position:relative}.md .link-card div.right i{font-size:32px;line-height:48px;margin-left:4px}.md .link-card div.right img{display:block;position:absolute;border-radius:12px/4;top:50%;left:50%;transform:translate(-50%,-50%)}.md .link-card div.left{overflow:hidden;margin-left:16px}.md .link-card span{margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md .link-card span.title{font-weight:500;color:var(--text-p1);font-size:.875rem}.md .link-card span.url{flex-shrink:0;color:var(--text-p2);font-size:.8125rem}.md div.note,.md div.note div.title li,.md div.note div.title p{font-size:.9375rem}.md .link-group{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px}@media screen and (max-width:850px){.md .link-group{grid-template-columns:1fr}}.md .link-group .tag.link{margin:0}.md .link-group .link-card{width:100%}.md div.note{position:relative;margin-top:1rem;margin-bottom:1rem;padding:1rem;border-radius:4px;border:1px solid var(--theme);color:var(--text-p1)}.md div.note div.title{margin-bottom:.5rem}.md div.note div.title ol,.md div.note div.title p,.md div.note div.title ul{margin-top:.5rem;margin-bottom:.5rem}.md div.note div.title ol:first-child,.md div.note div.title p:first-child,.md div.note div.title ul:first-child{margin-top:0}.md div.note div.title ol:last-child,.md div.note div.title p:last-child,.md div.note div.title ul:last-child{margin-bottom:0}.md div.note div.body ol,.md div.note div.body p,.md div.note div.body ul{margin-top:.5rem;margin-bottom:.5rem}.md div.note div.body ol:first-child,.md div.note div.body p:first-child,.md div.note div.body ul:first-child{margin-top:0}.md div.note div.body ol:last-child,.md div.note div.body p:last-child,.md div.note div.body ul:last-child{margin-bottom:0}.md div.note div.body li,.md div.note div.body p{font-size:.875rem}.site-card-group{display:grid;grid-gap:16px 16px;grid-template-columns:repeat(auto-fill,calc((100% - 3 * 16px)/ 4));margin-bottom:2rem}@media screen and (max-width:1024px){.site-card-group{grid-template-columns:repeat(auto-fill,calc((100% - 2 * 16px)/ 3))}}.site-card-group .site-card{line-height:1.2;-ms-user-select:none;user-select:none;color:var(--text-p1)}.site-card-group .site-card .img{width:100%;height:120px;overflow:hidden;border-radius:6px;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);background:var(--color-block)}@media screen and (max-width:500px){.site-card-group{grid-template-columns:repeat(auto-fill,calc((100% - 1 * 16px)/ 2))}.site-card-group .site-card .img{height:100px}}.site-card-group .site-card .img img{width:100%;height:100%;transition:transform 2s ease;-moz-transition:transform 2s ease;-webkit-transition:transform 2s ease;-o-transition:transform 2s ease;object-fit:cover}.site-card-group .site-card .info{margin-top:8px}.site-card-group .site-card .info img{width:32px;height:32px;border-radius:16px;float:left;margin-right:8px;margin-top:2px}.site-card-group .site-card .info span{display:block}.site-card-group .site-card .info .title{font-weight:600;font-size:.9375rem;margin-top:1px;color:var(--color-p);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:1}.site-card-group .site-card .info .desc{font-size:.75rem;margin-top:2px;word-wrap:break-word;color:var(--color-meta);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2}.site-card-group .site-card .img{transition:box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;-webkit-transition:box-shadow .2s ease-out;-o-transition:box-shadow .2s ease-out}.site-card-group .site-card:hover .img{box-shadow:0 4px 8px 0 rgba(0,0,0,.1),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)}.site-card-group .site-card:hover .info .title{color:#ff5722}div.timeline{position:relative;display:block;margin:1rem 0;padding-top:1rem;padding-bottom:1rem}div.timeline svg.bottom,div.timenode{margin-bottom:1rem}div.timeline:before{content:'';z-index:0;position:absolute;background:var(--block-border);width:2px;left:16px;top:1rem;bottom:1rem}div.timeline svg.bottom,div.timeline svg.top{position:absolute;z-index:1;fill:var(--block-border);height:16px;width:16px;margin-left:9px}div.timeline svg.top{margin-top:-1rem}div.timenode{position:relative;background:var(--card);border:1px solid var(--block-border);border-radius:6px;margin-top:1rem;font-size:.875rem}div.timenode .header{line-height:1.2;background:var(--block);border-top-left-radius:5px;border-top-right-radius:5px;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}div.timenode .header span{font-weight:500;color:var(--text-p1);padding:.8rem 16px}div.timenode .header a{visibility:hidden;margin-left:4px;padding:.4rem 8px;margin-right:8px;line-height:0;border-radius:4px;color:var(--text-p1)}div.timenode .header a:hover{color:#2196f3}div.timenode .body{padding:.5rem 1rem}div.timenode .body .highlight,div.timenode .body ol,div.timenode .body p,div.timenode .body ul{margin:.5rem 0}div.timenode .body li{font-size:.875rem}div.timenode:hover .header a{visibility:visible}.widgets .post-title{margin:.5rem 0;line-height:1.2;font-size:.875rem;font-weight:500}.widgets .post-title a{color:inherit}.widgets .post-title a:hover{color:#ff5722}#toc .widget-body{line-height:1.2}#toc .widget-body .toc{padding:0 0 0 .25rem;margin:0}#toc .widget-body .toc .toc-item .toc-link{padding:.5rem 0 .5rem 1rem;font-weight:500;font-size:.8125rem;color:var(--text-p2)}#toc .widget-body .toc .toc-child .toc-item .toc-link{padding:.25rem 0 .25rem 1.8rem;font-weight:400;color:var(--text-p2)}#toc .widget-body .toc .toc-child .toc-child .toc-item .toc-link{padding-left:2.6rem;font-size:.75rem;color:var(--text-p3)}#toc .widget-body .toc .toc-child .toc-child .toc-child .toc-item .toc-link{padding-left:3.4rem}#toc .widget-body .toc:only-child .toc-item .toc-link{padding-left:.5rem}#toc .widget-body .toc:only-child .toc-child .toc-item .toc-link{padding-left:1.3rem}#toc .widget-body .toc:only-child .toc-child .toc-child .toc-item .toc-link{padding-left:2.1rem}#toc .widget-body .toc:only-child .toc-child .toc-child .toc-child .toc-item .toc-link{padding-left:2.9rem}#toc .toc-item{color:var(--text-p2);font-size:.75rem;padding:0;list-style:none}#toc .toc-item.active{color:#1bcdfc;border-left-color:#1bcdfc}#toc .toc-item .toc-child .toc-item{padding:0}#toc a.toc-link{color:inherit;display:block;line-height:1.2;border-radius:4px}#toc a.toc-link.active{color:var(--theme-highlight)!important}#toc .doc-tree{border-left:2px solid var(--hover-block)}#toc .doc-tree a.doc-tree-link{color:var(--text-p3);padding:.5rem;display:block;border-top-right-radius:4px;border-bottom-right-radius:4px;font-size:.75rem;font-weight:500}#toc .doc-tree a.doc-tree-link.active,.post-list .post-card#archive a.post{color:var(--text-p2);font-size:.875rem}#toc .widget-body.wiki .doc-tree.active{border-color:var(--text-meta)}#toc .widget-body.wiki .doc-tree.active:only-child{border-color:var(--hover-block)}.post-list .post-card#archive a.post{display:inline-flex;align-items:baseline;margin:.25rem 0;font-weight:600}.post-list .post-card#archive a.post:hover{color:#ff5722}.post-list .post-card#archive a.post time{margin-right:1em;flex-shrink:0;opacity:.5}.post-list .post-card#cats a.cat{display:flex;font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:4px;color:var(--text-p2)}.post-list .post-card#cats a.cat.child{padding-left:2rem}.post-list .post-card#cats a.cat:hover{background:var(--block);color:#ff5722}.post-list .post-card#cats a.cat .badge{opacity:.5;margin-left:4px}article.md.error-page{text-align:center;margin-top:2rem}article.md.error-page img#error{width:30vw;max-height:150px;margin-bottom:2rem}article.md.error-page h1{font-size:4rem;margin-bottom:0}article.md.error-page p.what,article.md.error-page p.why{margin:.5em}article.md.error-page p.why{font-size:.8125rem}article.md.error-page a#back{margin:2rem 0;display:inline-block}@media screen and (max-width:768px){article.md.error-page{margin-top:4rem}}.friends-wrap .group-header{margin:1rem 0}.friends-wrap .group-header p{margin:0}.friends-wrap .group-header p.title{font-size:1.125rem;font-weight:500}.friends-wrap .group-header p.description,.post-list .post-card#tags a.tag .name{font-size:.875rem}.friends-wrap .group-body{display:grid;grid-gap:4px 4px;grid-template-columns:repeat(auto-fill,96px);margin-bottom:2rem}.friends-wrap .user-simple a{margin:auto;color:var(--text-p1);font-size:.75rem;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2;border-radius:4px;overflow:hidden;position:relative;background:var(--card)}.float-panel,.friends-wrap.round .user-simple a:hover{background:var(--hover-block)}.friends-wrap .user-simple a img{object-fit:cover;display:block;width:64px;height:64px}.friends-wrap .user-simple a .name{padding-top:.5em}.friends-wrap.round .user-simple a{padding:.5rem;transition:background .2s ease-out;-moz-transition:background .2s ease-out;-webkit-transition:background .2s ease-out;-o-transition:background .2s ease-out}.friends-wrap.round .user-simple a img{border-radius:64px}.friends-wrap.rect .user-simple a{padding:0;display:block;transition:box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;-webkit-transition:box-shadow .2s ease-out;-o-transition:box-shadow .2s ease-out}.friends-wrap.rect .user-simple a img{width:96px;height:96px;border-radius:0}.friends-wrap.rect .user-simple a .name{padding:.5em}.friends-wrap.rect .user-simple a: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)}.post-list .post-card#tags a.tag{display:inline-flex;align-items:center;margin:.25rem .5rem;position:relative;font-weight:500;color:var(--text-p2)}.post-list .post-card#tags a.tag:hover{color:#ff5722}.post-list .post-card#tags a.tag span{margin:0 .25rem}.post-list .post-card#tags a.tag .badge{opacity:.5;font-size:.75rem}.l_body{display:flex;margin:auto;padding:0 16px;justify-content:center}.l_body .l_left{z-index:8;width:280px;flex-shrink:0;height:100vh;position:sticky;position:-webkit-sticky;top:0}.l_body .l_main{flex-shrink:1;flex-grow:1;width:320px;max-width:720px}.l_body .l_main footer{margin-top:4rem;margin-bottom:2rem}.float-panel{position:sticky;right:0;bottom:2rem;float:right;z-index:9;display:flex;border-radius:2rem 0 0 2rem;padding:4px;overflow:hidden}.sidebar-toggle.mobile{cursor:pointer;color:var(--text-p2);background:#fff;padding:.5rem;margin-right:1rem;border-radius:32px;line-height:1;width:2rem;height:2rem;font-size:13px}.l_main header .logo-wrap .title,article.md h2{font-size:1.5rem}.l_body.mobile.sidebar .sidebar-toggle.mobile{background:#ff5722;color:#fff}@media screen and (max-width:768px){.mobile-only{display:block!important}.l_body{padding:0}.l_body .l_left{position:fixed;height:100vh;width:280px;transform:translateX(-336px);margin:0;left:0;background:var(--site-bg);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_body .l_main{max-width:100%}.l_body.mobile .l_left{transition:transform .38s ease-out;-moz-transition:transform .38s ease-out;-webkit-transition:transform .38s ease-out;-o-transition:transform .38s ease-out}.l_body.mobile.sidebar .l_left{transform:translateX(0)}}.l_main{position:relative}.l_main header{display:none;margin:32px 16px 16px;padding:.25rem;background:var(--block);border-radius:6px}.l_main header .logo-wrap{margin:.5rem .75rem}.l_main header .logo-wrap .img{width:32px;height:32px}.l_main nav.menu{margin:-2px}@media screen and (min-width:768px){.l_main{margin-top:32px}}@media screen and (max-width:768px){.l_main header{display:block}}article.md{max-width:100%;padding:1rem;overflow:hidden;color:var(--text-p1);line-height:1.7}article.md.content{margin-bottom:32px}article.md h1.article-title{margin-top:8px;line-height:1.2}article.md h1,article.md h2,article.md h3,article.md h4,article.md h5,article.md h6{line-height:1.8;color:var(--text-p0)}article.md a.headerlink:before{opacity:0;content:'#';position:absolute;width:.75em;margin-left:-.75em}article.md h2{margin-top:3rem;font-weight:400}article.md h3,article.md p>a:not([class]){font-weight:500}article.md h2:first-child{margin-top:1rem}article.md h3{margin-top:3rem;margin-bottom:0}article.md h2+h3,article.md h3+h4{margin-top:1rem}article.md h5{font-size:.875rem}article.md h6{font-size:.75rem}article.md p>a{transition:color .2s ease-out;-moz-transition:color .2s ease-out;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out}article.md code{color:#d56d28;word-break:break-all}article.md>div{margin:1rem 0}article.md blockquote{margin:1rem 0;padding:1rem;background:var(--block);border-left:4px solid #1bcdfc;border-radius:0 4px 4px 0;color:var(--text-p2)}article.md blockquote p{margin:.5em 0;font-size:.875rem}article.md ol,article.md ul{padding-left:2rem}article.md img{border-radius:4px;margin:auto;display:block}.nav-wrap{position:sticky;position:-webkit-sticky;margin-top:1.75rem;top:-2px;background:var(--site-bg);padding:.5rem 1.25rem .38rem;z-index:1}nav.cap{display:flex;overflow:scroll}nav.cap::-webkit-scrollbar{height:0;width:0}nav.cap::-webkit-scrollbar-track-piece{background:0 0}nav.cap::-webkit-scrollbar-thumb{background:var(--text-meta);cursor:pointer;border-radius:0}nav.cap::-webkit-scrollbar-thumb:hover{background:var(--text-p3)}nav.cap>p{margin:0}nav.cap a{padding:.5rem .75rem;color:var(--text-p3);border-radius:4px;font-weight:600;white-space:nowrap;transition:background .2s ease-out;-moz-transition:background .2s ease-out;-webkit-transition:background .2s ease-out;-o-transition:background .2s ease-out}nav.cap a:hover{background:var(--hover-block);color:var(--text-p1)}nav.cap a.active{font-weight:700;color:inherit}.md .tag-plugin.navbar nav.cap{margin:0;padding:1px;background:var(--block);border-radius:6px}.md .tag-plugin.navbar nav.cap a{margin:1px;padding:.5em .75rem}.md .tag-plugin.navbar nav.cap a:hover{background:#fff;color:var(--text-p1)}.breadcrumb-navigation{padding:16px 16px 0;margin-top:16px;font-size:.75rem;color:var(--text-p3);font-weight:500}.breadcrumb-navigation a.cap:hover{color:#dd3d00}.breadcrumb-navigation div+div{margin-top:2px}@media screen and (max-width:768px){.nav-wrap{margin-top:0}}.post-list{margin:1rem}.post-list .card-title,.post-list .list-title{font-weight:600;color:var(--text-meta);line-height:1.2}.post-list .list-title{margin:2rem 1rem 0;font-size:1.5rem}.post-list .card-title{padding-bottom:.5rem;font-size:1.2rem}.post-list .post-card{display:block;margin:1rem 0;color:var(--text-p2);border-radius:12px;box-shadow:0 2px 8px 0 rgba(0,0,0,.02);transition:box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;-webkit-transition:box-shadow .2s ease-out;-o-transition:box-shadow .2s ease-out;overflow:hidden;background:var(--card)}.post-list .post-card .meta.cap{margin-bottom:.5rem}.post-list .post-card .meta.cap span+span{margin-left:.5rem}.post-list .post-card:hover{box-shadow:0 2px 8px 0 rgba(0,0,0,.04),0 4px 16px 0 rgba(0,0,0,.04)}.post-list .post-card:hover .logo img{transform:scale(1.1)}.post-list .post-card:hover .excerpt .readmore{color:#2196f3}.post-list article{padding:1rem}.post-list .post-card .post-title{font-weight:500;margin:.5em 0;line-height:1.2;font-size:1.375rem;border-bottom:none;color:var(--text-p1);transition:color .2s ease-out;-moz-transition:color .2s ease-out;-webkit-transition:color .2s ease-out;-o-transition:color .2s ease-out}.post-list .post-card .excerpt{font-size:.875rem}.post-list .post-card .post-cover-wrap{overflow:hidden;margin-left:-24px;margin-top:-24px;margin-bottom:20px;width:calc(100% + 3 * 16px)}.post-list .post-card .post-cover{background-position:center;background-size:cover;height:320px;transition:transform 1s ease-out;-moz-transition:transform 1s ease-out;-webkit-transition:transform 1s ease-out;-o-transition:transform 1s ease-out}@media screen and (max-width:900px){.post-list .post-card .post-cover{height:280px}}@media screen and (max-width:768px){.post-list .post-card .post-cover{height:320px}}@media screen and (max-width:500px){.post-list .post-card .post-cover{height:280px}}@media screen and (max-width:425px){.post-list .post-card .post-cover{height:240px}}@media screen and (max-width:375px){.post-list .post-card .post-cover{height:200px}}.post-list .post-card.post:hover .post-title{color:#ff5722}.post-list .post-card.post:hover .post-cover{transform:scale(1.04)}.post-list .post-card.wiki article{display:flex;flex-wrap:wrap;transition:box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;-webkit-transition:box-shadow .2s ease-out;-o-transition:box-shadow .2s ease-out;justify-content:center}.post-list .post-card.wiki article .logo{display:flex;width:180px;margin:1rem;align-items:center}.post-list .post-card.wiki article .logo img{object-fit:contain;transition:transform .75s ease-out;-moz-transition:transform .75s ease-out;-webkit-transition:transform .75s ease-out;-o-transition:transform .75s ease-out}.post-list .post-card.wiki article .excerpt{margin:1rem;min-width:220px;flex:1;overflow:hidden;word-wrap:break-word}.post-list .post-card.wiki article .excerpt .title{font-weight:600;font-size:1.375rem}.post-list .post-card.wiki article .excerpt>p{margin:.5rem 0;font-size:.875rem}.l_left .wrap{display:flex;flex-direction:column;height:calc(100% - 4 * 16px);margin-top:32px;padding:16px}@media screen and (max-width:768px){.l_left .wrap{height:calc(100% - 2 * 16px);margin-top:0}}.logo-wrap{margin:16px 0;display:flex;align-items:center;color:var(--text-p0)}.logo-wrap a{color:inherit;display:flex;align-items:center}.logo-wrap .img{width:40px;height:40px;flex-shrink:0;border-radius:40px;border:2px solid transparent;overflow:hidden;margin-right:1rem}.logo-wrap .img img{object-fit:cover}.logo-wrap .title{font-size:1.75rem;font-weight:900;color:inherit;line-height:1;font-family:Dosis,-apple-system,"Helvetica Neue",Helvetica,Arial,"WenQuanYi Micro Hei","Microsoft Yahei",Menlo,Monaco,monospace,courier,sans-serif}nav.menu{margin-top:0;background:var(--block);border-radius:6px;-ms-user-select:none;user-select:none;display:flex;padding:1px;flex-wrap:wrap}nav.menu::-webkit-scrollbar{display:none}nav.menu::-webkit-scrollbar-track-piece{background:0 0}nav.menu::-webkit-scrollbar-thumb{display:none}nav.menu a.nav-item{text-overflow:ellipsis;word-break:keep-all;margin:1px;border-radius:4px;font-size:.875rem;font-weight:500;overflow:hidden;padding:.375rem .75rem;color:var(--text-p3)}nav.menu a.nav-item.active,nav.menu a.nav-item:hover{color:var(--text-p1);background:var(--card)}.l_left .widgets{margin:16px 0;overflow:scroll;flex-grow:1;z-index:1}.l_left .widgets::-webkit-scrollbar{height:0;width:0}.l_left .widgets::-webkit-scrollbar-track-piece{background:0 0}.l_left .widgets::-webkit-scrollbar-thumb{background:var(--text-meta);cursor:pointer;border-radius:0}.l_left .widgets::-webkit-scrollbar-thumb:hover{background:var(--text-p3)}.l_left .widgets .widget-wrap{margin:1rem 0 2rem}.l_left .widgets .widget-wrap .widget-header{display:flex;font-size:1rem;color:var(--text-meta);justify-content:space-between;align-items:center;font-weight:600;position:sticky;position:-webkit-sticky;top:-2px;background:var(--site-bg);padding:2px 0;z-index:1}.l_left .widgets .widget-wrap .widget-header .name{font-size:1rem}.l_left .widgets .widget-wrap .widget-header .cap-action{border-radius:4px;padding:4px;line-height:0;color:var(--text-meta);transition:color .2s ease-out background .2s ease-out ease-out;-moz-transition:color .2s ease-out,background .2s ease-out;-webkit-transition:color .2s ease-out,background .2s ease-out;-o-transition:color .2s ease-out,background .2s ease-out}.l_left .widgets .widget-wrap .widget-header .cap-action:hover{background:var(--hover-block);color:#ff5722}.l_left .widgets .widget-wrap .widget-header .cap-action .icon{fill:var(--text-meta)}.l_left .widgets .widget-wrap .widget-header .cap-action:hover .icon{fill:#ff5722}.l_left .widgets .widget-wrap .widget-body{margin:.5rem 0;font-size:.875rem;color:var(--text-p2)}.l_left .widgets .widget-wrap .widget-body p{margin-top:.5em;margin-bottom:.5em}.l_left .widgets .widget-wrap .widget-body p>a:not([class]){font-weight:500}.l_left .footer{margin-top:0;margin-bottom:1rem;line-height:0}.l_left .footer .social-wrap{display:grid;grid-gap:8px 8px;grid-template-columns:repeat(auto-fill,32px)}.l_left .footer a{display:inline-block;background:var(--card);padding:4px;border-radius:4px;filter:grayscale(100%);overflow:hidden;transition:box-shadow .2s ease-out;-moz-transition:box-shadow .2s ease-out;-webkit-transition:box-shadow .2s ease-out;-o-transition:box-shadow .2s ease-out}.l_left .footer a:hover{color:#ff5722;filter:grayscale(0);box-shadow:0 4px 8px 0 rgba(0,0,0,.1)}.swiper-container{width:100%;border-radius:4px}.swiper-container:not(.swiper-container-initialized){display:none}div.swiper-slide{text-align:center;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;align-self:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;width:50%}div.swiper-slide img{border-radius:4px}.swiper-container[width=max] div.swiper-slide{width:100%}.swiper-container[width=min] div.swiper-slide{width:25%}.swiper-button-next,.swiper-button-prev{padding:1rem .5rem;margin-top:-2rem!important;border-radius:4px;background:rgba(255,255,255,.25);transition:background .2s ease-out;-moz-transition:background .2s ease-out;-webkit-transition:background .2s ease-out;-o-transition:background .2s ease-out;--swiper-theme-color:#000!important}@supports (backdrop-filter:blur(20px)){.swiper-button-next,.swiper-button-prev{background:rgba(255,255,255,.5);backdrop-filter:saturate(200%) blur(20px)}}.swiper-button-next:after,.swiper-button-prev:after{font-size:1.2rem!important;font-weight:700!important}.swiper-button-next:hover,.swiper-button-prev:hover{background:#fff;--swiper-theme-color:#ff5722!important}.reveal{visibility:hidden} \ No newline at end of file diff --git a/dist/js/issues.js b/dist/js/issues.js new file mode 100644 index 0000000..356bee3 --- /dev/null +++ b/dist/js/issues.js @@ -0,0 +1 @@ +const IssuesAPI={requestIssuesAPI(s,e,t){let i=10;!function n(){return new Promise(((a,o)=>{let r=0,l=setTimeout((()=>{0===r&&(r=2,l=null,o("请求超时"),0==i&&t())}),5e3);fetch(s).then((function(s){if(2!==r&&(clearTimeout(l),a(s),l=null,r=1),s.ok)return s.json();throw new Error("Network response was not ok.")})).then((function(s){i=0,e(s)})).catch((function(s){i>0?(i-=1,setTimeout((()=>{n()}),5e3)):t()}))}))}()},parseIssueStrToJson(s){let e=s.match(/```json[\s|\S]*```/);if(e&&e.length>0&&(e=e[0]),e&&(e=e.split("```json")[1].split("```")[0],e))return JSON.parse(e)},groupIssuesData(s,e){var t=new Object;if(e.length>0)if(null!=s.group){const a=s.group.split("=");if(a.length>1){const o=a[0];let r=a[1];for(o&&r&&(r=r.split(",")),s.group=r,i=0;i

正在加载

'),this.requestIssuesAPI(s.api,(function(t){$(e).find(".loading").remove();const i=IssuesAPI.groupIssuesData(s,t),n=Object.keys(i);s.group.forEach(((s,t)=>{const a=i[s];if(a&&a.length>0)for(s.length>0?$(e).append("

"+s+"

"):""==name&&n.length>1&&$(e).append("

未分组

"),$(e).append('
'),j=0;j0?'
":'
';let n='
';s.avatar&&s.avatar.length>0&&(n+='"),n+=''+s.title+''+s.description+"
";const o="
"+i+n+"
";$(e).find(".site-card-group."+t).append(o)}}))}),(function(){$(e).find(".loading i").remove(),$(e).find(".loading p").text("加载失败,请稍后重试。")}))},getIssuesAPIForTimeline(s){const e=$(s.el)[0];$(e).append('

正在加载

'),this.requestIssuesAPI(s.api,(function(s){if($(e).find(".loading").remove(),s.length>0)for(i=0;i'+s[i].comments+"",n='
'+('

'+s[i].title+t+"

")+('

'+s[i].body+"

")+"
";$(e).append(n)}}),(function(){$(e).find(".loading i").remove(),$(e).find(".loading p").text("加载失败,请稍后重试。")}))},request(){const s=document.getElementsByClassName("issues-wrap");for(var e=0;e{const l=new Date,a=new Date(e),i=l.getTime()-a.getTime(),n=36e5,s=24*n;let r;if(t){const e=i/2592e6,t=i/s,l=i/n,a=i/6e4;r=e>12?null:e>=1?parseInt(e)+" "+stellar.config.date_suffix.month:t>=1?parseInt(t)+" "+stellar.config.date_suffix.day:l>=1?parseInt(l)+" "+stellar.config.date_suffix.hour:a>=1?parseInt(a)+" "+stellar.config.date_suffix.min:stellar.config.date_suffix.just}else r=parseInt(i/s);return r},loadCSS:(e,t,l,a)=>{var i,n=window.document,s=n.createElement("link");if(t)i=t;else{var r=(n.body||n.getElementsByTagName("head")[0]).childNodes;i=r[r.length-1]}var o=n.styleSheets;if(a)for(var d in a)a.hasOwnProperty(d)&&s.setAttribute(d,a[d]);s.rel="stylesheet",s.href=e,s.media="only x",function e(t){if(n.body)return t();setTimeout((function(){e(t)}))}((function(){i.parentNode.insertBefore(s,t?i:i.nextSibling)}));var c=function(e){for(var t=s.href,l=o.length;l--;)if(o[l].href===t)return e();setTimeout((function(){c(e)}))};function u(){s.addEventListener&&s.removeEventListener("load",u),s.media=l||"all"}return s.addEventListener&&s.addEventListener("load",u),s.onloadcssdefined=c,c(u),s},loadScript:(e,t)=>new Promise(((l,a)=>{var i=document.createElement("script");if(i.src=e,t)for(let e of Object.keys(t))i[e]=t[e];else i.async=!0;i.onerror=a,i.onload=i.onreadystatechange=function(){const e=this.readyState;e&&"loaded"!==e&&"complete"!==e||(i.onload=i.onreadystatechange=null,l())},document.head.appendChild(i)})),jQuery:e=>{"undefined"==typeof jQuery?util.loadScript(stellar.plugins.jQuery).then(e):e()}},l_body=document.querySelector(".l_body"),sidebar={toggle:()=>{l_body&&(l_body.classList.add("mobile"),l_body.classList.toggle("sidebar"))}},init={toc:()=>{util.jQuery((()=>{var e=[];$("article.md :header").each((function(t,l){e.push(l)})),$(document,window).scroll((function(t){var l=$(this).scrollTop(),a=null;for(var i in e){var n=$(e[i]);n.offset().top>l+32||(a?n.offset().top>=a.offset().top&&(a=n):a=n)}if(a){$("#toc a.toc-link").removeClass("active");var s="#"+a.attr("id");"#undefined"!=s?$('#toc a.toc-link[href="'+encodeURI(s)+'"]').addClass("active"):$("#toc a.toc-link:first").addClass("active")}}))}))},sidebar:()=>{util.jQuery((()=>{$("#toc a.toc-link").click((function(e){l_body.classList.remove("sidebar")})),$("#toc a#s-top").click((function(e){l_body.classList.remove("sidebar")}))}))},relativeDate:e=>{e.forEach((e=>{const t=e,l=t.getAttribute("datetime");let a=util.diffDate(l,!0);a&&(t.innerText=a)}))}};if(init.toc(),init.sidebar(),init.relativeDate(document.querySelectorAll("#post-meta time")),stellar.plugins.scrollreveal&&util.loadScript(stellar.plugins.scrollreveal.js).then((function(){ScrollReveal().reveal("body .reveal",{distance:stellar.plugins.scrollreveal.distance,duration:stellar.plugins.scrollreveal.duration,interval:stellar.plugins.scrollreveal.interval,scale:stellar.plugins.scrollreveal.scale,easing:"ease-out"})})),stellar.plugins.lazyload&&(util.loadScript(stellar.plugins.lazyload.js,{defer:!0}),window.lazyLoadOptions={elements_selector:".lazyload",threshold:0},window.addEventListener("LazyLoad::Initialized",(function(e){window.lazyLoadInstance=e.detail.instance}),!1),document.addEventListener("DOMContentLoaded",(function(){lazyLoadInstance.update()}))),stellar.plugins.issuesjs){null!=document.getElementById("issues-api")&&util.jQuery((()=>{util.loadScript(stellar.plugins.issuesjs,{defer:!0})}))}if(stellar.plugins.swiper){null!=document.getElementById("swiper-api")&&(util.loadCSS(stellar.plugins.swiper.css),util.loadScript(stellar.plugins.swiper.js,{defer:!0}).then((function(){new Swiper(".swiper-container",{slidesPerView:"auto",spaceBetween:8,centeredSlides:!0,zoom:!0,pagination:{el:".swiper-pagination",clickable:!0},autoplay:{delay:5e3,disableOnInteraction:!1},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}})})))}stellar.plugins.preload&&("instant_page"==stellar.plugins.preload.service?util.loadScript(stellar.plugins.preload.instant_page,{defer:!0,type:"module",integrity:"sha384-OeDn4XE77tdHo8pGtE1apMPmAipjoxUQ++eeJa6EtJCfHlvijigWiJpD7VDPWXV1"}):"flying_pages"==stellar.plugins.preload.service&&(window.FPConfig={delay:0,ignoreKeywords:[],maxRPS:5,hoverDelay:25},util.loadScript(stellar.plugins.preload.flying_pages,{defer:!0}))); \ No newline at end of file diff --git a/npm-publish.sh b/npm-publish.sh index 761101d..9bc44c6 100644 --- a/npm-publish.sh +++ b/npm-publish.sh @@ -37,10 +37,13 @@ function commit() { printf "\n" git commit -m "${msg}" + git checkout npm + git rebase main + printf "\n\n> \033[32m%s\033[0m" 'git push origin' printf "\n" - git push origin - + git push origin main + git push origin npm # done printf "\n\n> \033[32m%s\033[0m\n" 'Congratulations!' } @@ -58,4 +61,4 @@ do esac done -prepare #&& commit +prepare && commit diff --git a/package.json b/package.json index 97f4f70..fcd614d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hexo-theme-stellar", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.2", "description": "Elegant and powerful theme for Hexo.", "main": "package.json", "scripts": {