From 4d04c02872fb20e7d51bc9228aba9135e8f296c4 Mon Sep 17 00:00:00 2001 From: Van Date: Wed, 20 Mar 2019 13:49:45 +0800 Subject: [PATCH] https://github.com/b3log/solo/issues/12720 9IPHP --- 9IPHP/archive-articles.ftl | 7 +- 9IPHP/archives.ftl | 5 +- 9IPHP/article-list.ftl | 6 +- 9IPHP/article.ftl | 142 +++--- 9IPHP/category-articles.ftl | 5 +- 9IPHP/common-comment.ftl | 2 +- 9IPHP/css/base.css | 2 +- 9IPHP/css/base.scss | 836 ++++++++++++++++++----------------- 9IPHP/dynamic.ftl | 9 +- 9IPHP/footer.ftl | 9 +- 9IPHP/header.ftl | 12 +- 9IPHP/images/code-bg.png | Bin 343 -> 0 bytes 9IPHP/index.ftl | 10 +- 9IPHP/js/common.js | 84 ++-- 9IPHP/js/common.min.js | 2 +- 9IPHP/js/isotope.pkgd.js | 19 - 9IPHP/js/isotope.pkgd.min.js | 1 - 9IPHP/links.ftl | 5 +- 9IPHP/macro-head.ftl | 37 -- 9IPHP/page.ftl | 5 +- 9IPHP/side.ftl | 159 ++++--- 9IPHP/tag-articles.ftl | 7 +- 9IPHP/tags.ftl | 18 +- 23 files changed, 631 insertions(+), 751 deletions(-) delete mode 100644 9IPHP/images/code-bg.png delete mode 100644 9IPHP/js/isotope.pkgd.js delete mode 100644 9IPHP/js/isotope.pkgd.min.js delete mode 100644 9IPHP/macro-head.ftl diff --git a/9IPHP/archive-articles.ftl b/9IPHP/archive-articles.ftl index 0dd2170..44317ed 100644 --- a/9IPHP/archive-articles.ftl +++ b/9IPHP/archive-articles.ftl @@ -17,13 +17,12 @@ along with this program. If not, see . --> -<#include "macro-head.ftl"> +<#include "../../common-template/macro-common_head.ftl"> - <@head title="${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) - ${blogTitle}"> - - + <@head title="${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} ${archiveLabel} - ${blogTitle}"> + diff --git a/9IPHP/archives.ftl b/9IPHP/archives.ftl index 98d3ef7..fd4bae4 100644 --- a/9IPHP/archives.ftl +++ b/9IPHP/archives.ftl @@ -17,13 +17,12 @@ along with this program. If not, see . --> -<#include "macro-head.ftl"> +<#include "../../common-template/macro-common_head.ftl"> <@head title="${archiveLabel} - ${blogTitle}"> - - + diff --git a/9IPHP/article-list.ftl b/9IPHP/article-list.ftl index 3d72d2f..5cd1bec 100644 --- a/9IPHP/article-list.ftl +++ b/9IPHP/article-list.ftl @@ -38,20 +38,20 @@
- +   |   - + ${article.articleCommentCount} ${commentLabel}   |   - + ${article.articleViewCount} ${viewLabel} diff --git a/9IPHP/article.ftl b/9IPHP/article.ftl index 0e4592d..7af2b38 100644 --- a/9IPHP/article.ftl +++ b/9IPHP/article.ftl @@ -17,50 +17,34 @@ along with this program. If not, see . --> -<#include "macro-head.ftl"> +<#include "../../common-template/macro-common_head.ftl"> <#include "macro-comments.ftl"> <#include "../../common-template/macro-comment_script.ftl"> - - <@head title="${article.articleTitle} - ${blogTitle}"> - - - + + <@head title="${article.articleTitle} - ${blogTitle}" description="${article.articleAbstract?html}"> + <#if previousArticlePermalink??> <#if nextArticlePermalink??> - - - - - - - - - - - - - - - - - - + + + <#include "header.ftl"> -
-
-
-
+ -
- ${article.articleContent} +
+ ${article.articleContent} <#if "" != article.articleSign.signHTML?trim>
${article.articleSign.signHTML}
-
+
-
+ <#-- div class="copyright"> + ${articleCP1Label} + + ${article.articleTitle} + - + + ${blogTitle} + +
-
+
<#if previousArticlePermalink??> <#if nextArticlePermalink??> -
- +
+ <@comments commentList=articleComments article=article> -
-
-
-
- - +
+
+
+
+ + <#include "side.ftl"> - - + + <#include "footer.ftl"> <@comment_script oId=article.oId commentable=article.commentable> page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}"; - <#if 0 != randomArticlesDisplayCount> + <#if 0 != randomArticlesDisplayCount> page.loadRandomArticles(); - - <#if 0 != externalRelevantArticlesDisplayCount> + + <#if 0 != externalRelevantArticlesDisplayCount> page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>," , "

${externalRelevantArticlesLabel}

"); - - <#if 0 != relevantArticlesDisplayCount> + + <#if 0 != relevantArticlesDisplayCount> page.loadRelevantArticles('${article.oId}', '

${relevantArticlesLabel}

'); - - Skin.initArticle('${tocLabel}', '${siteViewLabel}') - - + + Skin.initToc() + + diff --git a/9IPHP/category-articles.ftl b/9IPHP/category-articles.ftl index 3b7f269..a862735 100644 --- a/9IPHP/category-articles.ftl +++ b/9IPHP/category-articles.ftl @@ -17,13 +17,12 @@ along with this program. If not, see . --> -<#include "macro-head.ftl"> +<#include "../../common-template/macro-common_head.ftl"> <@head title="${category.categoryTitle} - ${blogTitle}"> - - + diff --git a/9IPHP/common-comment.ftl b/9IPHP/common-comment.ftl index 59af862..1da3b9d 100644 --- a/9IPHP/common-comment.ftl +++ b/9IPHP/common-comment.ftl @@ -19,7 +19,7 @@ -->
  • -
    diff --git a/9IPHP/css/base.css b/9IPHP/css/base.css index fde8deb..ecd60df 100644 --- a/9IPHP/css/base.css +++ b/9IPHP/css/base.css @@ -1 +1 @@ -html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;height:100%}body{margin:0;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size:14px;background-color:#fff;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}::-moz-selection{text-shadow:none;background:rgba(65,131,196,0.4)}::selection{text-shadow:none;background:rgba(66,133,244,0.4)}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6,dl,dd,p{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}a{outline:0;text-decoration:none}a:hover{text-decoration:underline}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;height:auto;-ms-interpolation-mode:bicubic;overflow:hidden;font-size:12px}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;outline:none}button,input{line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}blockquote{margin:0}@-webkit-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.tooltipped{position:relative;cursor:pointer}.tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.tooltipped--hover::before,.tooltipped--hover::after,.tooltipped:hover::before,.tooltipped:hover::after,.tooltipped:active::before,.tooltipped:active::after,.tooltipped:focus::before,.tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.tooltipped__s::after,.tooltipped__se::after,.tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.tooltipped__s::before,.tooltipped__se::before,.tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.tooltipped__sw::after{margin-right:-15px}.tooltipped__n::after,.tooltipped__ne::after,.tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.tooltipped__n::before,.tooltipped__ne::before,.tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.tooltipped__nw::after{margin-right:-15px}.tooltipped__s::after,.tooltipped__n::after{transform:translateX(50%)}.tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out;color:#fff;font-size:12px;line-height:14px}.vditor-upload ul{margin:0}.vditor-upload--tip{height:auto;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{display:block}.vditor-upload__close{display:none;position:absolute;right:5px;cursor:pointer;padding:5px;top:0}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out;padding:5px;box-sizing:border-box}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}.vditor-reset{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif;word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.vditor-reset ul,.vditor-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.vditor-reset li{margin-top:0.25em}.vditor-reset audio{max-width:100%}.vditor-reset video{max-height:90vh}.vditor-reset img.emoji{cursor:auto;max-width:20px;vertical-align:top}.vditor-reset h1,.vditor-reset h2,.vditor-reset h3,.vditor-reset h4,.vditor-reset h5,.vditor-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.vditor-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.vditor-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.vditor-reset h3{font-size:1.25em}.vditor-reset h4{font-size:1em}.vditor-reset h5{font-size:0.875em}.vditor-reset h6{font-size:0.85em}.vditor-reset hr{height:0.15em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.vditor-reset p{margin-top:0;margin-bottom:16px}.vditor-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin:0 0 16px 0}.vditor-reset blockquote p{margin:0}.vditor-reset ins>iframe{border:0}.vditor-reset iframe{border:1px solid #d1d5da}.vditor-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.vditor-reset thead{text-align:center}.vditor-reset td,.vditor-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.vditor-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.vditor-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.vditor-reset tr:hover{background:#efefef}.vditor-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace;word-break:break-word}.vditor-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-image:url("https://cdn.jsdelivr.net/npm/vditor@1.1.2/src/assets/images/code-bg.png");background-size:20px 20px;border-radius:5px;display:block;overflow:auto}.vditor-reset pre:hover div.vditor-copy{display:block}.vditor-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #d1d5da;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.vditor-reset summary{cursor:pointer}.vditor-reset summary:focus{outline:none}.vditor-reset svg{height:auto;width:auto}.vditor-reset .katex{position:relative}.vditor-task{list-style:none;margin-left:-1.4em;display:flex;align-items:center}.vditor-task input{margin-right:5px}.vditor-copy{position:relative;display:none}.vditor-copy textarea{position:absolute;top:-100000px}.vditor-copy span{cursor:pointer;position:absolute;right:0.5em;top:0.5em;height:20px;width:20px}.vditor-copy svg{height:20px;width:20px}a{outline:0;text-decoration:none;color:#383838}a:hover{color:#ff4d3a;text-decoration:underline}.vditor-reset a{color:#ff4d3a}.fn-pointer{cursor:pointer}.fn-inline{display:inline}.fn-clear:before,.fn-clear:after{display:table;content:""}.fn-clear:after{clear:both}.fn-left{float:left}.fn-right{float:right}.fn-none{display:none}.fn-hidden{visibility:hidden}.fn-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}a[class^="icon-"],a[class*=" icon-"]{color:#333}a[class^="icon-"]:hover,a[class*=" icon-"]:hover{text-decoration:none;color:#4285f4}#commentForm,#replyForm{width:100%}.comments{position:relative}.comment-body-ref{position:absolute;width:80%;background-color:#fff;right:0;border:1px solid #eee}@font-face{font-family:'icomoon';src:url("fonts/icomoon.eot?oyqnlj");src:url("fonts/icomoon.eot?oyqnlj#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?oyqnlj") format("truetype"),url("fonts/icomoon.woff?oyqnlj") format("woff"),url("fonts/icomoon.svg?oyqnlj#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-list:before{content:"\f0ca"}.icon-home:before{content:"\f015"}.icon-comments:before{content:"\f0e6"}.icon-date:before{content:"\f073"}.icon-search:before{content:"\f002"}.icon-up:before{content:"\f077"}.icon-inbox:before{content:"\f01c"}.icon-tags:before{content:"\f02c"}.icon-link:before{content:"\f0c1"}.icon-refresh:before{content:"\f021"}.icon-category:before{content:"\e9bc"}.icon-logout:before{content:"\ea14"}.icon-views:before{content:"\e900"}.icon-register:before{content:"\e973"}.icon-setting:before{content:"\e994"}.icon-login:before{content:"\ea13"}.icon-rss:before{content:"\e901"}*::selection{background:none repeat scroll 0% 0% #3D4450;color:#FFF;outline:none}a{transition:all .3s;outline:none}.pagination{margin-bottom:30px;line-height:30px;font-family:Georgia}.pagination .page-number:first-child{border-left:1px solid #ddd}.pagination .page-number{display:inline-block;padding:0 10px;border:1px solid #ddd;border-left:0;text-decoration:none;float:left}.pagination a.page-number:hover{color:#ff4d3a;background-color:#eee}.pagination .page-number.current{color:#fff;background:#ff4d3a;border-color:#ff4d3a;margin-left:-1px}.module{box-shadow:0 1px 1px rgba(0,0,0,0.05);margin-bottom:20px}.module header h2{border-bottom:1px solid #ff4d3a;padding:10px;line-height:18px;font-size:16px;font-weight:400}.module main{padding:20px}.ft-warn{color:#ff4d3a}.ft-gray{color:#aaa}.ft-center{text-align:center}.list,.module main.list{padding:0}.list li{list-style:none;border-bottom:1px solid #eee;line-height:40px;padding:0 20px}.list li:last-child{border-bottom:0}.list a{color:#666;text-decoration:none;display:block}.list a:hover{color:#ff4d3a}.form input,.form textarea{border:1px solid #ccc;background-color:#FAFAFA;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset;padding:0 10px;width:100%;line-height:28px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.form input{height:30px}.form input:focus,.form textarea:focus{background-color:#FFF;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset,0 0 5px rgba(81,167,232,0.5);border:1px solid #51A7E8}.form button{background-color:#EB5750;border:0;color:#fff}.form button:hover{background-color:#e42f19}.wrapper{width:90%;margin:0 auto;min-width:720px;max-width:1300px}aside{width:28%;min-width:236px}.main-wrap{display:flex}.main-wrap>main{margin-right:30px;flex:1;min-width:1px}.banner{background-color:#393939;height:75px}.banner h1 a{color:#fff;line-height:75px;text-decoration:none}.banner small{color:#DFDFDF;font-size:15px}.banner .fn-right a{line-height:75px;color:#DFDFDF;text-decoration:none;margin-left:10px;opacity:0.6}.banner .fn-right a:hover{opacity:1}.navbar{border-bottom:1px solid #eee;height:50px;margin-bottom:30px}.navbar.pin{position:fixed;width:100%;background-color:rgba(255,255,255,0.95);top:0;z-index:10}.navbar nav a{color:#555;text-decoration:none;line-height:50px;padding:0 10px;display:inline-block}.navbar nav a:hover{color:#333}.navbar nav a.current{background-color:#eee}.navbar form{position:relative;margin-top:8px}.navbar .form input{padding-right:40px}.navbar button{background-color:#EB5750;border:0;color:#fff;position:absolute;top:0;right:0;height:30px;width:30px}.navbar button:hover{background-color:#e42f19}.page-icon{float:left;height:14px;width:14px;margin:18px 5px 0 0}.footer{padding:30px 0;text-align:center;background:#111;margin-top:30px;color:#fff}.footer a{color:#ff4d3a;text-decoration:none}.icon-up{position:fixed;bottom:122px;right:20px;color:#fff;background-color:#111;height:30px;width:30px;text-align:center;line-height:28px;border-radius:15px;transition:all .3s;cursor:pointer;display:none}.icon-up:hover{background-color:#ff4d3a}aside .ad{background-color:#3cbc8d;border-color:#36a96b;color:#fff;padding:20px;margin-bottom:20px;border:1px solid transparent;box-sizing:border-box}aside .meta main{text-align:right;line-height:20px}aside .meta img{float:left;height:80px;width:80px;border-radius:5px}aside .tag.tooltipped{display:inline-block;padding:2px 5px;margin-bottom:10px;border:1px solid #e1e1e1;text-decoration:none;margin-right:10px;line-height:22px}aside.has-toc>ul>li{list-style:none;float:left;width:50%;margin:0;cursor:pointer;line-height:18px;font-size:16px;text-align:center;font-weight:400}aside.has-toc ul>li.current{color:#ff4d3a}aside .b3-solo-list{font-size:14px}aside.has-toc>section:last-child{margin-top:20px}.article__toc{display:none}.post{border:1px solid #ededed;margin-bottom:20px;padding:20px;box-sizing:border-box}.post h1{margin-bottom:10px}.post h1 a{font-size:24px;font-weight:500;text-decoration:none}.post sup{color:#aaa;font-weight:300}.post .meta{color:#aaa;margin-bottom:10px}.post .meta a{color:#aaa;text-decoration:none}.post .meta a:hover{color:#ff4d3a}.tags>a.tag{color:#fff;font-size:12px;display:inline-block;background-color:#bbb;margin-right:10px;padding:0 5px;line-height:22px;text-decoration:none;margin-top:10px}.tags>a.tag:before{content:"#"}.tags>a.tag:hover{background:#999}.post footer .copyright{padding:10px;font-size:14px;line-height:16px;border:1px solid #ff4d3a;border-left-width:20px;margin:20px 0}.post .rel a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px;text-decoration:none;margin:20px 0}.post .rel a:hover{background-color:#eee}.title h2{font-size:16px;font-weight:bold;padding-bottom:10px;border-bottom:1px solid #f1f1f1;margin-top:20px}.title>h2.tip{border-bottom:0}.comments>li{list-style:none;border-bottom:1px solid #f1f1f1;padding:10px}.comments>li>div{display:flex}.comments .avatar{width:50px;height:50px;border-radius:100%;margin-right:20px;background-size:contain}.comments main{flex:1;min-width:1px}.comments .vditor-reset{margin-top:10px}.comments .user-name{color:#666;text-decoration:none}.comments .user-name:hover{color:#ff4d3a}.comments .reply-btn{float:right;background-color:#ff4d3a;color:#fff;text-decoration:none;font-size:12px;padding:2px 5px}.comments .reply-btn:hover{background-color:#e42f19}#commentForm{margin-top:20px}.form .captcha{height:28px}.other{border:1px solid #ededed;margin-bottom:20px;padding:0 20px 20px}@media (max-width: 900px){.navbar .form{display:none}}@media (max-width: 700px){.page-icon{margin:13px 3px 0 0}.wrapper{width:100%;min-width:auto;padding:0 10px;box-sizing:border-box}.main-wrap>main{margin-right:0}.main-wrap,.responsive{display:block}aside{width:100%;box-sizing:border-box}.banner{margin-bottom:20px}.banner small,.banner .fn-right,.navbar{display:none}.icon-list{position:absolute;right:10px;top:20px;background-color:#fff;font-size:20px;padding:8px 6px;cursor:pointer}.responsive .list{background-color:#fff;position:absolute;width:100%;border:1px solid #eee;left:0;display:none;z-index:10;top:75px}.responsive .list li.current{background-color:#eee}} +html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;height:100%}body{margin:0;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size:14px;background-color:#fff;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}::-moz-selection{text-shadow:none;background:rgba(65,131,196,0.4)}::selection{text-shadow:none;background:rgba(66,133,244,0.4)}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6,dl,dd,p{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}a{outline:0;text-decoration:none}a:hover{text-decoration:underline}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;height:auto;-ms-interpolation-mode:bicubic;overflow:hidden;font-size:12px}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;outline:none}button,input{line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}blockquote{margin:0}.fn__flex{display:flex}.fn__flex-center{align-self:center}.fn__flex-inline{display:inline-flex;align-items:center}.fn__flex-1{flex:1;min-width:1px}.fn__flex-column{min-height:100%;display:flex;flex-direction:column}.fn__pointer{cursor:pointer}.fn__clear:before,.fn__clear:after{display:table;content:""}.fn__clear:after{clear:both}.fn__left{float:left}.fn__right{float:right}.fn__none{display:none}.fn__hidden{visibility:hidden}.fn__ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.ft__13{font-size:13px}.ft__smaller{font-size:12px}.ft__center{text-align:center}.ft__nowrap{white-space:nowrap}.article__toc{overflow:auto}.article__toc::-webkit-scrollbar{display:none}.article__toc li{list-style-type:none}.article__toc li a{padding-left:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article__toc li a:hover{text-decoration:none}.article__toc li.toc__h3 a{padding-left:20px}.article__toc li.toc__h4 a{padding-left:30px}.article__toc li.toc__h5 a{padding-left:40px}.user__site:hover{text-decoration:none}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}.vditor-tooltipped{position:relative;cursor:pointer}.vditor-tooltipped::after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font-size:11px;font-weight:normal;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,0.8);border-radius:3px;line-height:16px;opacity:0}.vditor-tooltipped::before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,0.8);pointer-events:none;content:"";border:5px solid transparent;opacity:0}.vditor-tooltipped--hover::before,.vditor-tooltipped--hover::after,.vditor-tooltipped:hover::before,.vditor-tooltipped:hover::after,.vditor-tooltipped:active::before,.vditor-tooltipped:active::after,.vditor-tooltipped:focus::before,.vditor-tooltipped:focus::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s}.vditor-tooltipped__s::after,.vditor-tooltipped__se::after,.vditor-tooltipped__sw::after{top:100%;right:50%;margin-top:5px}.vditor-tooltipped__s::before,.vditor-tooltipped__se::before,.vditor-tooltipped__sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,0.8)}.vditor-tooltipped__se::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__sw::after{margin-right:-15px}.vditor-tooltipped__n::after,.vditor-tooltipped__ne::after,.vditor-tooltipped__nw::after{right:50%;bottom:100%;margin-bottom:5px}.vditor-tooltipped__n::before,.vditor-tooltipped__ne::before,.vditor-tooltipped__nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,0.8)}.vditor-tooltipped__ne::after{right:auto;left:50%;margin-left:-15px}.vditor-tooltipped__nw::after{margin-right:-15px}.vditor-tooltipped__s::after,.vditor-tooltipped__n::after{transform:translateX(50%)}.vditor-tooltipped__w::after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.vditor-tooltipped__w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,0.8)}.vditor-tooltipped__e::after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.vditor-tooltipped__e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,0.8)}.vditor-panel{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px;z-index:1;font-size:14px;display:none;user-select:none;max-width:200px;min-width:80px}.vditor-panel h1,.vditor-panel h2,.vditor-panel h3,.vditor-panel h4,.vditor-panel h5,.vditor-panel h6{margin:0;cursor:pointer;padding:3px 10px;border-radius:3px;line-height:normal}.vditor-panel h1:hover,.vditor-panel h2:hover,.vditor-panel h3:hover,.vditor-panel h4:hover,.vditor-panel h5:hover,.vditor-panel h6:hover{background-color:#4285f4;color:#fff}.vditor-toolbar{background-color:#f6f8fa;border-bottom:1px solid #d1d5da;padding:0 5px;border-radius:3px 3px 0 0}.vditor-toolbar>div{padding:10px 5px;float:left;line-height:14px;height:36px;box-sizing:border-box}.vditor-toolbar svg{fill:currentColor;display:inline-block;stroke-width:0;stroke:currentColor;width:14px;height:14px}.vditor-toolbar .vditor-tooltipped{color:#586069}.vditor-toolbar .vditor-tooltipped:hover{color:#4285f4}.vditor-toolbar label{overflow:hidden;position:relative;height:14px;width:15px;display:block;cursor:pointer}.vditor-toolbar input{position:absolute;width:1px;opacity:.001;height:14px;overflow:hidden}.vditor-menu--current svg{color:#4285f4}.vditor-menu__divider{width:10px}.vditor-menu__br{width:100%;padding:0 !important;height:0 !important}.vditor-emojis{display:inline-block}.vditor-emojis__tail{font-size:12px;text-align:right;color:#586069}.vditor-emojis__tail a{text-decoration:none;color:#586069}.vditor-emojis__tail a:hover{color:#4285f4}.vditor-emojis span{cursor:pointer;border-radius:3px;float:left;height:26px;width:26px;text-align:center;line-height:20px;padding:3px;box-sizing:border-box;font-size:16px}.vditor-emojis span:hover{background-color:#4285f4}.vditor-emojis img{height:20px;width:20px;float:left}.vditor{display:flex;flex-direction:column;border:1px solid #d1d5da;border-radius:3px;box-sizing:border-box}.vditor--fullscreen{position:fixed;top:0;width:100% !important;left:0;height:100vh !important;z-index:90;background-color:#fff}.vditor-content{display:flex;min-height:60px;flex:1;position:relative}.vditor-textarea{flex:1;border:0;resize:none;padding:10px;box-sizing:border-box;background-color:#fafbfc;outline:0 none;font-size:16px;line-height:22px;color:#24292e;border-radius:0 0 3px 3px}.vditor-textarea[disabled]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-preview{flex:1;background-color:#fff;overflow:auto;padding:10px;box-shadow:inset 1px 0 #d1d5da;box-sizing:border-box;border-radius:0 0 3px 0}.vditor-preview::-webkit-scrollbar{display:none}.vditor-counter{padding:0 3px;position:absolute;bottom:10px;right:20px;color:#24292e;background-color:rgba(255,255,255,0.6);border-radius:3px;font-size:12px;user-select:none}.vditor-counter--error{color:#d23f31;background-color:rgba(210,63,49,0.1)}.vditor-resize{padding:1px 0;border-radius:5px;cursor:row-resize;transition:all .15s ease-in-out;user-select:none;background-color:#f6f8fa}.vditor-resize:hover{background-color:#4285f4}.vditor-resize:hover svg{color:#fff}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;display:block;margin:0 auto;color:#586069}.vditor-upload{opacity:0;position:absolute;width:100%;height:5px;left:0;top:-3px;border-radius:3px;overflow:hidden;transition:all .15s ease-in-out;color:#fff;font-size:12px;line-height:14px}.vditor-upload ul{margin:0}.vditor-upload--tip{height:auto;opacity:1 !important}.vditor-upload--tip .vditor-upload__close{display:block}.vditor-upload__close{display:none;position:absolute;right:5px;cursor:pointer;padding:5px;top:0}.vditor-upload__progress{height:100%;background-color:rgba(66,133,244,0.8);transition:all .15s ease-in-out;padding:5px;box-sizing:border-box}.vditor-hint{background-color:#fff;position:absolute;box-shadow:0 1px 2px rgba(0,0,0,0.2);border-radius:3px;padding:5px 0;z-index:1;line-height:20px;list-style:none;color:#24292e;font-size:12px;margin:0;max-width:200px;min-width:80px;display:none}.vditor-hint li{cursor:pointer;padding:3px 10px;border-bottom:1px solid #d1d5da;line-height:20px}.vditor-hint li:last-child{border-bottom:0}.vditor-hint--current,.vditor-hint li:hover{background-color:#4285f4;color:#fff}.vditor-hint__emoji{font-size:16px;float:left;margin-right:3px}.vditor-hint img{height:20px;width:20px;float:left;margin-right:3px}.vditor-reset{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif;word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.vditor-reset ul,.vditor-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.vditor-reset li{margin-top:0.25em}.vditor-reset audio{max-width:100%}.vditor-reset video{max-height:90vh}.vditor-reset img.emoji{cursor:auto;max-width:20px;vertical-align:top}.vditor-reset h1,.vditor-reset h2,.vditor-reset h3,.vditor-reset h4,.vditor-reset h5,.vditor-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.vditor-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.vditor-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.vditor-reset h3{font-size:1.25em}.vditor-reset h4{font-size:1em}.vditor-reset h5{font-size:0.875em}.vditor-reset h6{font-size:0.85em}.vditor-reset hr{height:0.15em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.vditor-reset p{margin-top:0;margin-bottom:16px}.vditor-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin:0 0 16px 0}.vditor-reset blockquote p{margin:0}.vditor-reset ins>iframe{border:0}.vditor-reset iframe{border:1px solid #d1d5da}.vditor-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.vditor-reset thead{text-align:center}.vditor-reset td,.vditor-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.vditor-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.vditor-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.vditor-reset tr:hover{background:#efefef}.vditor-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(27,31,35,0.05);border-radius:3px;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace;word-break:break-word}.vditor-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-image:url("https://cdn.jsdelivr.net/npm/vditor@1.1.2/src/assets/images/code-bg.png");background-size:20px 20px;border-radius:5px;display:block;overflow:auto}.vditor-reset pre:hover div.vditor-copy{display:block}.vditor-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #d1d5da;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.vditor-reset summary{cursor:pointer}.vditor-reset summary:focus{outline:none}.vditor-reset svg{height:auto;width:auto}.vditor-reset .katex{position:relative}.vditor-task{list-style:none;margin-left:-1.4em;display:flex;align-items:center}.vditor-task input{margin-right:5px}.vditor-copy{position:relative;display:none}.vditor-copy textarea{position:absolute;top:-100000px}.vditor-copy span{cursor:pointer;position:absolute;right:0.5em;top:0.5em;height:20px;width:20px}.vditor-copy svg{height:20px;width:20px}a{outline:0;text-decoration:none;color:#383838}a:hover{color:#ff4d3a;text-decoration:underline}.vditor-reset a{color:#ff4d3a}.fn-pointer{cursor:pointer}.fn-inline{display:inline}.fn-clear:before,.fn-clear:after{display:table;content:""}.fn-clear:after{clear:both}.fn-left{float:left}.fn-right{float:right}.fn-none{display:none}.fn-hidden{visibility:hidden}.fn-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}a[class^="icon-"],a[class*=" icon-"]{color:#333}a[class^="icon-"]:hover,a[class*=" icon-"]:hover{text-decoration:none;color:#4285f4}#commentForm,#replyForm{width:100%}.comments{position:relative}.comment-body-ref{position:absolute;width:80%;background-color:#fff;right:0;border:1px solid #eee}@font-face{font-family:'icomoon';src:url("fonts/icomoon.eot?oyqnlj");src:url("fonts/icomoon.eot?oyqnlj#iefix") format("embedded-opentype"),url("fonts/icomoon.ttf?oyqnlj") format("truetype"),url("fonts/icomoon.woff?oyqnlj") format("woff"),url("fonts/icomoon.svg?oyqnlj#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-list:before{content:"\f0ca"}.icon-home:before{content:"\f015"}.icon-comments:before{content:"\f0e6"}.icon-date:before{content:"\f073"}.icon-search:before{content:"\f002"}.icon-up:before{content:"\f077"}.icon-inbox:before{content:"\f01c"}.icon-tags:before{content:"\f02c"}.icon-link:before{content:"\f0c1"}.icon-refresh:before{content:"\f021"}.icon-category:before{content:"\e9bc"}.icon-logout:before{content:"\ea14"}.icon-views:before{content:"\e900"}.icon-register:before{content:"\e973"}.icon-setting:before{content:"\e994"}.icon-login:before{content:"\ea13"}.icon-rss:before{content:"\e901"}*::selection{background:none repeat scroll 0% 0% #3D4450;color:#FFF;outline:none}a{transition:all .3s;outline:none}.pagination{margin-bottom:30px;line-height:30px;font-family:Georgia}.pagination .page-number:first-child{border-left:1px solid #ddd}.pagination .page-number{display:inline-block;padding:0 10px;border:1px solid #ddd;border-left:0;text-decoration:none;float:left}.pagination a.page-number:hover{color:#ff4d3a;background-color:#eee}.pagination .page-number.current{color:#fff;background:#ff4d3a;border-color:#ff4d3a;margin-left:-1px}.module{box-shadow:0 1px 1px rgba(0,0,0,0.05);margin-bottom:20px}.module header h2{border-bottom:1px solid #ff4d3a;padding:10px;line-height:18px;font-size:16px;font-weight:400}.module main{padding:20px}.ft-warn{color:#ff4d3a}.ft-gray{color:#aaa}.ft-center{text-align:center}.list,.module main.list{padding:0}.list li{list-style:none;border-bottom:1px solid #eee;line-height:40px;padding:0 20px}.list li:last-child{border-bottom:0}.list a{color:#666;text-decoration:none;display:block}.list a:hover{color:#ff4d3a}.form input,.form textarea{border:1px solid #ccc;background-color:#FAFAFA;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset;padding:0 10px;width:100%;line-height:28px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.form input{height:30px}.form input:focus,.form textarea:focus{background-color:#FFF;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset,0 0 5px rgba(81,167,232,0.5);border:1px solid #51A7E8}.form button{background-color:#EB5750;border:0;color:#fff}.form button:hover{background-color:#e42f19}.wrapper{width:90%;margin:0 auto;min-width:720px;max-width:1300px}aside{width:28%;min-width:236px}aside .tag.vditor-tooltipped{display:inline-block;padding:2px 5px;margin-bottom:10px;border:1px solid #e1e1e1;text-decoration:none;margin-right:10px;line-height:22px}aside .ad{background-color:#3cbc8d;color:#fff;padding:20px;margin-bottom:20px;border:1px solid transparent;box-sizing:border-box}aside .meta main{text-align:right;line-height:20px}aside .meta img{float:left;height:80px;width:80px;border-radius:5px}.main-wrap{display:flex}.main-wrap>main{margin-right:30px;flex:1;min-width:1px}.banner{background-color:#393939;height:75px}.banner h1 a{color:#fff;line-height:75px;text-decoration:none}.banner small{color:#DFDFDF;font-size:15px}.banner .fn-right a{line-height:75px;color:#DFDFDF;text-decoration:none;margin-left:10px;opacity:0.6}.banner .fn-right a:hover{opacity:1}.navbar{border-bottom:1px solid #eee;height:50px;margin-bottom:30px}.navbar.pin{position:fixed;width:100%;background-color:rgba(255,255,255,0.95);top:0;z-index:10}.navbar nav a{color:#555;text-decoration:none;line-height:50px;padding:0 10px;display:inline-block}.navbar nav a:hover{color:#333}.navbar nav a.current{background-color:#eee}.navbar form{position:relative;margin-top:8px}.navbar .form input{padding-right:40px}.navbar button{background-color:#EB5750;border:0;color:#fff;position:absolute;top:0;right:0;height:30px;width:30px}.navbar button:hover{background-color:#e42f19}.page-icon{float:left;height:14px;width:14px;margin:18px 5px 0 0}.footer{padding:30px 0;text-align:center;background:#111;margin-top:30px;color:#fff}.footer a{color:#ff4d3a;text-decoration:none}.icon-up{position:fixed;bottom:122px;right:20px;color:#fff;background-color:#111;height:30px;width:30px;text-align:center;line-height:28px;border-radius:15px;transition:all .3s;cursor:pointer;display:none}.icon-up:hover{background-color:#ff4d3a}.post{border:1px solid #ededed;margin-bottom:20px;padding:20px;box-sizing:border-box}.post h1{margin-bottom:10px}.post h1 a{font-size:24px;font-weight:500;text-decoration:none}.post sup{color:#aaa;font-weight:300}.post .meta{color:#aaa;margin-bottom:10px}.post .meta a{color:#aaa;text-decoration:none}.post .meta a:hover{color:#ff4d3a}.tags>a.tag{color:#fff;font-size:12px;display:inline-block;background-color:#bbb;margin-right:10px;padding:0 5px;line-height:22px;text-decoration:none;margin-top:10px}.tags>a.tag:before{content:"#"}.tags>a.tag:hover{background:#999}.post footer .copyright{padding:10px;font-size:14px;line-height:16px;border:1px solid #ff4d3a;border-left-width:20px;margin:20px 0}.post .rel a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px;text-decoration:none;margin:20px 0}.post .rel a:hover{background-color:#eee}.title h2{font-size:16px;font-weight:bold;padding-bottom:10px;border-bottom:1px solid #f1f1f1;margin-top:20px}.title>h2.tip{border-bottom:0}.article__toc{top:81px;bottom:132px}.article__toc .toc--current a{color:#ff4d3a}.comments>li{list-style:none;border-bottom:1px solid #f1f1f1;padding:10px}.comments>li>div{display:flex}.comments .avatar{width:50px;height:50px;border-radius:100%;margin-right:20px;background-size:contain}.comments main{flex:1;min-width:1px}.comments .vditor-reset{margin-top:10px}.comments .user-name{color:#666;text-decoration:none}.comments .user-name:hover{color:#ff4d3a}.comments .reply-btn{float:right;background-color:#ff4d3a;color:#fff;text-decoration:none;font-size:12px;padding:2px 5px}.comments .reply-btn:hover{background-color:#e42f19}#commentForm{margin-top:20px}.form .captcha{height:28px}.other{border:1px solid #ededed;margin-bottom:20px;padding:0 20px 20px}@media (max-width: 900px){.navbar .form{display:none}}@media (max-width: 700px){.page-icon{margin:13px 3px 0 0}.wrapper{width:100%;min-width:auto;padding:0 10px;box-sizing:border-box}.main-wrap>main{margin-right:0}.main-wrap,.responsive{display:block}aside{width:100%;box-sizing:border-box}.banner{margin-bottom:20px}.banner small,.banner .fn-right,.navbar{display:none}.icon-list{position:absolute;right:10px;top:20px;background-color:#fff;font-size:20px;padding:8px 6px;cursor:pointer}.responsive .list{background-color:#fff;position:absolute;width:100%;border:1px solid #eee;left:0;display:none;z-index:10;top:75px}.responsive .list li.current{background-color:#eee}} diff --git a/9IPHP/css/base.scss b/9IPHP/css/base.scss index a9cd45e..c3a929d 100644 --- a/9IPHP/css/base.scss +++ b/9IPHP/css/base.scss @@ -19,93 +19,109 @@ * skin style * * @author Liyuan Li - * @version 1.0.0.1, Mar 16, 2019 + * @version 1.1.0.0, Mar 20, 2019 */ /* start common */ @import "../../../scss/reset"; -@import "../../../scss/tooltipped"; +@import "../../../scss/function"; +@import "../../../scss/toc"; +@import "../../../scss/usite"; @import "vditor/src/assets/scss/classic"; + a { - outline: 0; - text-decoration: none; - color: #383838; + outline: 0; + text-decoration: none; + color: #383838; } + a:hover { - color: #ff4d3a; - text-decoration: underline; + color: #ff4d3a; + text-decoration: underline; } + .vditor-reset a { - color: #ff4d3a; + color: #ff4d3a; } + .fn-pointer { - cursor: pointer + cursor: pointer } + .fn-inline { - display: inline; + display: inline; } + .fn-clear:before, .fn-clear:after { - display: table; - content: "" + display: table; + content: "" } + .fn-clear:after { - clear: both + clear: both } + .fn-left { - float: left + float: left } + .fn-right { - float: right + float: right } + .fn-none { - display: none + display: none } + .fn-hidden { - visibility: hidden + visibility: hidden } + .fn-ellipsis { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - word-wrap: normal + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-wrap: normal } a[class^="icon-"], a[class*=" icon-"] { - color: #333 + color: #333 } + a[class^="icon-"]:hover, a[class*=" icon-"]:hover { - text-decoration: none; - color: #4285f4 + text-decoration: none; + color: #4285f4 } #commentForm, #replyForm { - width: 100%; + width: 100%; } .comments { - position: relative; + position: relative; } .comment-body-ref { - position: absolute; - width: 80%; - background-color: #fff; - right: 0; - border: 1px solid #eee; + position: absolute; + width: 80%; + background-color: #fff; + right: 0; + border: 1px solid #eee; } + /* end common */ /* start reset common */ @font-face { font-family: 'icomoon'; - src: url('fonts/icomoon.eot?oyqnlj'); - src: url('fonts/icomoon.eot?oyqnlj#iefix') format('embedded-opentype'), - url('fonts/icomoon.ttf?oyqnlj') format('truetype'), - url('fonts/icomoon.woff?oyqnlj') format('woff'), - url('fonts/icomoon.svg?oyqnlj#icomoon') format('svg'); + src: url('fonts/icomoon.eot?oyqnlj'); + src: url('fonts/icomoon.eot?oyqnlj#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?oyqnlj') format('truetype'), + url('fonts/icomoon.woff?oyqnlj') format('woff'), + url('fonts/icomoon.svg?oyqnlj#icomoon') format('svg'); font-weight: normal; font-style: normal; } @@ -128,361 +144,216 @@ a[class*=" icon-"]:hover { .icon-list:before { content: "\f0ca"; } + .icon-home:before { content: "\f015"; } + .icon-comments:before { content: "\f0e6"; } + .icon-date:before { content: "\f073"; } + .icon-search:before { content: "\f002"; } + .icon-up:before { content: "\f077"; } + .icon-inbox:before { content: "\f01c"; } + .icon-tags:before { content: "\f02c"; } + .icon-link:before { content: "\f0c1"; } + .icon-refresh:before { content: "\f021"; } + .icon-category:before { content: "\e9bc"; } + .icon-logout:before { content: "\ea14"; } + .icon-views:before { content: "\e900"; } + .icon-register:before { content: "\e973"; } + .icon-setting:before { content: "\e994"; } + .icon-login:before { content: "\ea13"; } + .icon-rss:before { content: "\e901"; } *::selection { - background: none repeat scroll 0% 0% #3D4450; - color: #FFF; - outline: none; + background: none repeat scroll 0% 0% #3D4450; + color: #FFF; + outline: none; } a { - transition: all .3s; - outline: none; + transition: all .3s; + outline: none; } .pagination { - margin-bottom: 30px; - line-height: 30px; - font-family: Georgia; + margin-bottom: 30px; + line-height: 30px; + font-family: Georgia; } .pagination .page-number:first-child { - border-left: 1px solid #ddd; + border-left: 1px solid #ddd; } .pagination .page-number { - display: inline-block; - padding: 0 10px; - border: 1px solid #ddd; - border-left:0; - text-decoration: none; - float: left; + display: inline-block; + padding: 0 10px; + border: 1px solid #ddd; + border-left: 0; + text-decoration: none; + float: left; } .pagination a.page-number:hover { - color: #ff4d3a; - background-color: #eee; + color: #ff4d3a; + background-color: #eee; } .pagination .page-number.current { - color: #fff; - background: #ff4d3a; - border-color: #ff4d3a; - margin-left: -1px; + color: #fff; + background: #ff4d3a; + border-color: #ff4d3a; + margin-left: -1px; } .module { - box-shadow: .0 1px 1px rgba(0,0,0,0.05); - margin-bottom: 20px; + box-shadow: .0 1px 1px rgba(0, 0, 0, 0.05); + margin-bottom: 20px; } .module header h2 { - border-bottom: 1px solid #ff4d3a; - padding: 10px; - line-height: 18px; - font-size: 16px; - font-weight: 400; + border-bottom: 1px solid #ff4d3a; + padding: 10px; + line-height: 18px; + font-size: 16px; + font-weight: 400; } .module main { - padding: 20px; + padding: 20px; } .ft-warn { - color: #ff4d3a; + color: #ff4d3a; } .ft-gray { - color: #aaa; + color: #aaa; } .ft-center { - text-align: center; + text-align: center; } .list, .module main.list { - padding: 0; + padding: 0; } .list li { - list-style: none; - border-bottom: 1px solid #eee; - line-height: 40px; - padding: 0 20px; + list-style: none; + border-bottom: 1px solid #eee; + line-height: 40px; + padding: 0 20px; } .list li:last-child { - border-bottom: 0; + border-bottom: 0; } .list a { - color: #666; - text-decoration: none; - display: block; + color: #666; + text-decoration: none; + display: block; } .list a:hover { - color: #ff4d3a; + color: #ff4d3a; } .form input, .form textarea { - border: 1px solid #ccc; - background-color: #FAFAFA; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; - padding: 0 10px; - width: 100%; - line-height: 28px; - box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box + border: 1px solid #ccc; + background-color: #FAFAFA; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset; + padding: 0 10px; + width: 100%; + line-height: 28px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box } .form input { - height: 30px; + height: 30px; } .form input:focus, .form textarea:focus { - background-color: #FFF; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset, 0 0 5px rgba(81, 167, 232, 0.5); - border: 1px solid #51A7E8 + background-color: #FFF; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset, 0 0 5px rgba(81, 167, 232, 0.5); + border: 1px solid #51A7E8 } .form button { - background-color: #EB5750; - border: 0; - color: #fff; + background-color: #EB5750; + border: 0; + color: #fff; } .form button:hover { - background-color: #e42f19; + background-color: #e42f19; } + /* end reset common */ /* start framework */ .wrapper { - width: 90%; - margin: 0 auto; - min-width: 720px; - max-width: 1300px; + width: 90%; + margin: 0 auto; + min-width: 720px; + max-width: 1300px; } aside { - width: 28%; - min-width: 236px; -} - -.main-wrap { - display: flex; -} - -.main-wrap > main { - margin-right: 30px; - flex: 1; - min-width: 1px; -} -/* end framework */ - -/* start header */ -.banner { - background-color: #393939; - height: 75px; -} - -.banner h1 a { - color: #fff; - line-height: 75px; - text-decoration: none; -} - -.banner small { - color: #DFDFDF; - font-size: 15px; -} - -.banner .fn-right a { - line-height: 75px; - color: #DFDFDF; - text-decoration: none; - margin-left: 10px; - opacity: 0.6; -} - -.banner .fn-right a:hover { - opacity: 1; -} - -.navbar { - border-bottom: 1px solid #eee; - height: 50px; - margin-bottom: 30px; -} - -.navbar.pin { - position: fixed; - width: 100%; - background-color: rgba(255, 255, 255, 0.95); - top: 0; - z-index: 10; -} - -.navbar nav a { - color: #555; - text-decoration: none; - line-height: 50px; - padding: 0 10px; - display: inline-block; -} - -.navbar nav a:hover { - color: #333; -} - -.navbar nav a.current { - background-color: #eee; -} - -.navbar form { - position: relative; - margin-top: 8px; -} - -.navbar .form input { - padding-right: 40px; -} - -.navbar button { - background-color: #EB5750; - border: 0; - color: #fff; - position: absolute; - top: 0; - right: 0; - height: 30px; - width: 30px; -} - -.navbar button:hover { - background-color: #e42f19; -} - -.page-icon { - float: left; - height: 14px; - width: 14px; - margin: 18px 5px 0 0; -} -/* end header */ - -/* start footer */ -.footer { - padding: 30px 0; - text-align: center; - background: #111; - margin-top: 30px; - color: #fff; -} - -.footer a { - color: #ff4d3a; - text-decoration: none; -} - -.icon-up { - position: fixed; - bottom: 122px; - right: 20px; - color: #fff; - background-color: #111; - height: 30px; - width: 30px; - text-align: center; - line-height: 28px; - border-radius: 15px; - transition: all .3s; - cursor: pointer; - display: none; -} - -.icon-up:hover { - background-color: #ff4d3a; -} -/* end footer */ - -/* start side */ -aside .ad { - background-color: #3cbc8d; - border-color: #36a96b; - color: #fff; - padding: 20px; - margin-bottom: 20px; - border: 1px solid transparent; - box-sizing: border-box; -} - -aside .meta main { - text-align: right; - line-height: 20px; -} - -aside .meta img { - float: left; - height: 80px; - width: 80px; - border-radius: 5px; -} - -aside .tag.tooltipped { + width: 28%; + min-width: 236px; + .tag.vditor-tooltipped { display: inline-block; padding: 2px 5px; margin-bottom: 10px; @@ -490,260 +361,407 @@ aside .tag.tooltipped { text-decoration: none; margin-right: 10px; line-height: 22px; -} + } + .ad { + background-color: #3cbc8d; + color: #fff; + padding: 20px; + margin-bottom: 20px; + border: 1px solid transparent; + box-sizing: border-box; + } -aside.has-toc > ul > li { - list-style: none; + .meta main { + text-align: right; + line-height: 20px; + } + + .meta img { float: left; - width: 50%; - margin: 0; - cursor: pointer; - line-height: 18px; - font-size: 16px; - text-align: center; - font-weight: 400; + height: 80px; + width: 80px; + border-radius: 5px; + } } -aside.has-toc ul > li.current { - color: #ff4d3a; +.main-wrap { + display: flex; } -aside .b3-solo-list { - font-size: 14px; +.main-wrap > main { + margin-right: 30px; + flex: 1; + min-width: 1px; } -aside.has-toc > section:last-child { - margin-top: 20px; +/* end framework */ + +/* start header */ +.banner { + background-color: #393939; + height: 75px; } -.article__toc { - display: none; +.banner h1 a { + color: #fff; + line-height: 75px; + text-decoration: none; } -/* end side */ + +.banner small { + color: #DFDFDF; + font-size: 15px; +} + +.banner .fn-right a { + line-height: 75px; + color: #DFDFDF; + text-decoration: none; + margin-left: 10px; + opacity: 0.6; +} + +.banner .fn-right a:hover { + opacity: 1; +} + +.navbar { + border-bottom: 1px solid #eee; + height: 50px; + margin-bottom: 30px; +} + +.navbar.pin { + position: fixed; + width: 100%; + background-color: rgba(255, 255, 255, 0.95); + top: 0; + z-index: 10; +} + +.navbar nav a { + color: #555; + text-decoration: none; + line-height: 50px; + padding: 0 10px; + display: inline-block; +} + +.navbar nav a:hover { + color: #333; +} + +.navbar nav a.current { + background-color: #eee; +} + +.navbar form { + position: relative; + margin-top: 8px; +} + +.navbar .form input { + padding-right: 40px; +} + +.navbar button { + background-color: #EB5750; + border: 0; + color: #fff; + position: absolute; + top: 0; + right: 0; + height: 30px; + width: 30px; +} + +.navbar button:hover { + background-color: #e42f19; +} + +.page-icon { + float: left; + height: 14px; + width: 14px; + margin: 18px 5px 0 0; +} + +/* end header */ + +/* start footer */ +.footer { + padding: 30px 0; + text-align: center; + background: #111; + margin-top: 30px; + color: #fff; +} + +.footer a { + color: #ff4d3a; + text-decoration: none; +} + +.icon-up { + position: fixed; + bottom: 122px; + right: 20px; + color: #fff; + background-color: #111; + height: 30px; + width: 30px; + text-align: center; + line-height: 28px; + border-radius: 15px; + transition: all .3s; + cursor: pointer; + display: none; +} + +.icon-up:hover { + background-color: #ff4d3a; +} + +/* end footer */ /* start article list */ .post { - border: 1px solid #ededed; - margin-bottom: 20px; - padding: 20px; - box-sizing: border-box; + border: 1px solid #ededed; + margin-bottom: 20px; + padding: 20px; + box-sizing: border-box; } .post h1 { - margin-bottom: 10px; + margin-bottom: 10px; } .post h1 a { - font-size: 24px; - font-weight: 500; - text-decoration: none; + font-size: 24px; + font-weight: 500; + text-decoration: none; } .post sup { - color: #aaa; - font-weight: 300; + color: #aaa; + font-weight: 300; } .post .meta { - color: #aaa; - margin-bottom: 10px; + color: #aaa; + margin-bottom: 10px; } .post .meta a { - color: #aaa; - text-decoration: none; + color: #aaa; + text-decoration: none; } .post .meta a:hover { - color: #ff4d3a; + color: #ff4d3a; } .tags > a.tag { - color: #fff; - font-size: 12px; - display: inline-block; - background-color: #bbb; - margin-right: 10px; - padding: 0 5px; - line-height: 22px; - text-decoration: none; - margin-top: 10px; + color: #fff; + font-size: 12px; + display: inline-block; + background-color: #bbb; + margin-right: 10px; + padding: 0 5px; + line-height: 22px; + text-decoration: none; + margin-top: 10px; } + .tags > a.tag:before { - content: "#"; + content: "#"; } + .tags > a.tag:hover { - background: #999; + background: #999; } .post footer .copyright { - padding: 10px; - font-size: 14px; - line-height: 16px; - border: 1px solid #ff4d3a; - border-left-width: 20px; - margin: 20px 0; + padding: 10px; + font-size: 14px; + line-height: 16px; + border: 1px solid #ff4d3a; + border-left-width: 20px; + margin: 20px 0; } .post .rel a { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; - text-decoration: none; - margin: 20px 0; + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; + text-decoration: none; + margin: 20px 0; } .post .rel a:hover { - background-color: #eee; + background-color: #eee; } .title h2 { - font-size: 16px; - font-weight: bold; - padding-bottom: 10px; - border-bottom: 1px solid #f1f1f1; - margin-top: 20px; + font-size: 16px; + font-weight: bold; + padding-bottom: 10px; + border-bottom: 1px solid #f1f1f1; + margin-top: 20px; } .title > h2.tip { - border-bottom: 0 + border-bottom: 0 } + +.article__toc { + top: 81px; + bottom: 132px; + .toc--current a { + color: #ff4d3a + } +} + /* end article list */ /* start comments */ .comments > li { - list-style: none; - border-bottom: 1px solid #f1f1f1; - padding: 10px; + list-style: none; + border-bottom: 1px solid #f1f1f1; + padding: 10px; } .comments > li > div { - display: flex; + display: flex; } .comments .avatar { - width: 50px; - height: 50px; - border-radius: 100%; - margin-right: 20px; - background-size: contain; + width: 50px; + height: 50px; + border-radius: 100%; + margin-right: 20px; + background-size: contain; } .comments main { - flex: 1; - min-width: 1px; + flex: 1; + min-width: 1px; } .comments .vditor-reset { - margin-top: 10px; + margin-top: 10px; } .comments .user-name { - color: #666; - text-decoration: none; + color: #666; + text-decoration: none; } .comments .user-name:hover { - color: #ff4d3a; + color: #ff4d3a; } .comments .reply-btn { - float: right; - background-color: #ff4d3a; - color: #fff; - text-decoration: none; - font-size: 12px; - padding: 2px 5px; + float: right; + background-color: #ff4d3a; + color: #fff; + text-decoration: none; + font-size: 12px; + padding: 2px 5px; } .comments .reply-btn:hover { - background-color: #e42f19; + background-color: #e42f19; } #commentForm { - margin-top: 20px; + margin-top: 20px; } .form .captcha { - height: 28px; + height: 28px; } + /* end comments */ /* start other */ .other { - border: 1px solid #ededed; - margin-bottom: 20px; - padding: 0 20px 20px; + border: 1px solid #ededed; + margin-bottom: 20px; + padding: 0 20px 20px; } + /* end other */ /* start responsive */ @media (max-width: 900px) { - .navbar .form { - display: none; - } + .navbar .form { + display: none; + } } + @media (max-width: 700px) { - .page-icon { - margin: 13px 3px 0 0; - } + .page-icon { + margin: 13px 3px 0 0; + } - .wrapper { - width: 100%; - min-width: auto; - padding: 0 10px; - box-sizing: border-box; - } + .wrapper { + width: 100%; + min-width: auto; + padding: 0 10px; + box-sizing: border-box; + } - .main-wrap > main { - margin-right: 0; - } + .main-wrap > main { + margin-right: 0; + } - .main-wrap, - .responsive { - display: block; - } + .main-wrap, + .responsive { + display: block; + } - aside { - width: 100%; - box-sizing: border-box; - } + aside { + width: 100%; + box-sizing: border-box; + } - .banner { - margin-bottom: 20px; - } + .banner { + margin-bottom: 20px; + } - .banner small, - .banner .fn-right, - .navbar { - display: none; - } + .banner small, + .banner .fn-right, + .navbar { + display: none; + } - .icon-list { - position: absolute; - right: 10px; - top: 20px; - background-color: #fff; - font-size: 20px; - padding: 8px 6px; - cursor: pointer; - } + .icon-list { + position: absolute; + right: 10px; + top: 20px; + background-color: #fff; + font-size: 20px; + padding: 8px 6px; + cursor: pointer; + } - .responsive .list { - background-color: #fff; - position: absolute; - width: 100%; - border: 1px solid #eee; - left: 0; - display: none; - z-index: 10; - top: 75px; - } + .responsive .list { + background-color: #fff; + position: absolute; + width: 100%; + border: 1px solid #eee; + left: 0; + display: none; + z-index: 10; + top: 75px; + } - .responsive .list li.current { - background-color: #eee; - } + .responsive .list li.current { + background-color: #eee; + } } + /* end responsive */ \ No newline at end of file diff --git a/9IPHP/dynamic.ftl b/9IPHP/dynamic.ftl index a2252c8..58ef4c0 100644 --- a/9IPHP/dynamic.ftl +++ b/9IPHP/dynamic.ftl @@ -17,13 +17,12 @@ along with this program. If not, see . --> -<#include "macro-head.ftl"> +<#include "../../common-template/macro-common_head.ftl"> - <@head title="${blogTitle}"> - - + <@head title="${dynamicLabel} - ${blogTitle}"> + @@ -36,7 +35,7 @@ <#list recentComments as comment>
  • -
    diff --git a/9IPHP/footer.ftl b/9IPHP/footer.ftl index 292ef3c..25f5f16 100644 --- a/9IPHP/footer.ftl +++ b/9IPHP/footer.ftl @@ -30,9 +30,8 @@ by Vanessa
    - - - - -<#include "../../common-template/skin-script.ftl"> + + + +<#include "../../common-template/label.ftl"> ${plugins} diff --git a/9IPHP/header.ftl b/9IPHP/header.ftl index 227b70e..bbd8e59 100644 --- a/9IPHP/header.ftl +++ b/9IPHP/header.ftl @@ -28,15 +28,15 @@   ${blogSubtitle} diff --git a/9IPHP/images/code-bg.png b/9IPHP/images/code-bg.png deleted file mode 100644 index ea1d136cb6c1285d6a250692dae86cd285491924..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmV-d0jU0oP)b^_2t_{@)LXfd{vDJ(znna=?D+8=CSWyK9pFar;;{VveK2)20T_T;{g z_t390c#gQF{3Yu--T!(2Iq!Ercxd*gq3>qxOkC=dJu9%8Uh$gz)Z)a!on62F_1@*G zzU`@(=`?>X%v#v}ulr5ruk_nLJ*ltD;5Rld^F7{2vpx0YFi+0&p&MiMeHb5JJ%0w* z{+9dyVb$8d9B0#iH207EO{2bc*ca!i?qfUm?}b}omH9Z|i}#4{a~t&zrW}uYDbJTu pd>Yo8?-SE&@Z|XtEaBITzX7jsYbLNO$. --> -<#include "macro-head.ftl"> +<#include "../../common-template/macro-common_head.ftl"> <@head title="${blogTitle}"> - <#if metaKeywords??> - - - <#if metaDescription??> - - + diff --git a/9IPHP/js/common.js b/9IPHP/js/common.js index b074e9b..958a096 100644 --- a/9IPHP/js/common.js +++ b/9IPHP/js/common.js @@ -44,12 +44,16 @@ var Skin = { if ($(window).scrollTop() > $banner.height()) { $navbar.addClass('pin') - $('.main-wrap').parent().css('margin-top', '86px') + $('.main-wrap').parent().css('margin-top', '81px') + $('.article__toc').css('position', 'fixed') } else { $navbar.removeClass('pin') $('.main-wrap').parent().css('margin-top', '0') + $('.article__toc').css('position', 'inherit') } }) + + $(window).scroll() }, init: function () { this._initCommon($('.icon-up')) @@ -70,63 +74,27 @@ var Skin = { $('.responsive .list').slideToggle() }) }, - _initArticleCommon: function (tocLabel, siteViewLabel) { - // TOC - if ($('.article__toc').length > 0 && $(window).width() > 1000) { - $('.article__toc, .article__toc > ul').show() - - var $sectionF = $('aside section:first').html($('.b3-solo-list')), - $sectionL = $('aside section:last') - $sectionF.height($(window).height() - 154). - css({'overflow': 'auto', 'width': $('aside').width() + 'px'}) - $sectionL.hide() - // 切换 tab - $('aside > ul > li').click(function () { - if ($(this).data('tab') === 'toc') { - $sectionL.animate({ - 'opacity': '0', - 'top': '-50px', - }, 300, function () { - $sectionF.show().css('top', '-50px') - $sectionF.animate({ - 'opacity': '1', - 'top': '0', - }, 300).show() - }) - } else { - $sectionF.animate({ - 'opacity': '0', - 'top': '-50px', - }, 300, function () { - $sectionF.hide().css('top', '-50px') - $sectionL.animate({ - 'opacity': '1', - 'top': '0', - }, 300).show() - }).hide() - } - $('aside > ul > li').removeClass('current') - $(this).addClass('current') - }) - - $(window).scroll(function () { - if ($(window).scrollTop() > 125) { - $('aside section:eq(0)').css({ - position: 'fixed', - top: '51px', - backgroundColor: '#fff', - }) - } else { - $('aside section:eq(0)').css({ - position: 'inherit', - borderLeft: 0, - }) - } - }) + initToc: function () { + var $articleToc = $('.article__toc') + if ($articleToc.length === 0) { + return false } - }, - initArticle: function (tocLabel, siteViewLabel) { - this._initArticleCommon(tocLabel, siteViewLabel) + + $articleToc.css({ + width: $articleToc.parent().width(), + left: $articleToc.parent().offset().left, + }).find('a').click(function () { + $articleToc.find('li').removeClass('toc--current') + $(this).parent().addClass('toc--current') + var id = $(this).attr('href') + setTimeout(function () { + $(window).scrollTop($(id).offset().top - 60) + }) + }) }, } -Skin.init() \ No newline at end of file + +$(document).ready(function () { + Util.init() + Skin.init() +}) \ No newline at end of file diff --git a/9IPHP/js/common.min.js b/9IPHP/js/common.min.js index 290d412..5a3a338 100644 --- a/9IPHP/js/common.min.js +++ b/9IPHP/js/common.min.js @@ -1 +1 @@ -var Skin={_initCommon:function(i){var t=$("header .banner"),n=$("header .navbar");$(window).scroll(function(){if(125<$(window).scrollTop()?i.show():i.hide(),$(window).width()<701)return!1;$(window).scrollTop()>t.height()?(n.addClass("pin"),$(".main-wrap").parent().css("margin-top","86px")):(n.removeClass("pin"),$(".main-wrap").parent().css("margin-top","0"))})},init:function(){this._initCommon($(".icon-up")),$(".navbar nav a").each(function(){this.href===location.href&&(this.className="current")}),$(".responsive .list a").each(function(){this.href===location.href&&$(this).parent().addClass("current")}),$(".responsive .icon-list").click(function(){$(".responsive .list").slideToggle()})},_initArticleCommon:function(i,t){if(0<$(".b3-solo-list li").length&&1e3<$(window).width()){$("aside").addClass("has-toc");var n='
    • '+i+'
    • '+t+"
    ";$("aside").prepend(n);var o=$("aside section:first").html($(".b3-solo-list")),s=$("aside section:last");o.height($(window).height()-154).css({overflow:"auto",width:$("aside").width()+"px"}),s.hide(),$("aside > ul > li").click(function(){"toc"===$(this).data("tab")?s.animate({opacity:"0",top:"-50px"},300,function(){o.show().css("top","-50px"),o.animate({opacity:"1",top:"0"},300).show()}):o.animate({opacity:"0",top:"-50px"},300,function(){o.hide().css("top","-50px"),s.animate({opacity:"1",top:"0"},300).show()}).hide(),$("aside > ul > li").removeClass("current"),$(this).addClass("current")}),$(window).scroll(function(){125<$(window).scrollTop()?$("aside section:eq(0)").css({position:"fixed",top:"51px",backgroundColor:"#fff"}):$("aside section:eq(0)").css({position:"inherit",borderLeft:0})})}},initArticle:function(i,t){this._initArticleCommon(i,t)}};Skin.init(); \ No newline at end of file +var Skin={_initCommon:function(i){var n=$("header .banner"),t=$("header .navbar");$(window).scroll(function(){if(125<$(window).scrollTop()?i.show():i.hide(),$(window).width()<701)return!1;$(window).scrollTop()>n.height()?(t.addClass("pin"),$(".main-wrap").parent().css("margin-top","81px"),$(".article__toc").css("position","fixed")):(t.removeClass("pin"),$(".main-wrap").parent().css("margin-top","0"),$(".article__toc").css("position","inherit"))}),$(window).scroll()},init:function(){this._initCommon($(".icon-up")),$(".navbar nav a").each(function(){this.href===location.href&&(this.className="current")}),$(".responsive .list a").each(function(){this.href===location.href&&$(this).parent().addClass("current")}),$(".responsive .icon-list").click(function(){$(".responsive .list").slideToggle()})},initToc:function(){var n=$(".article__toc");if(0===n.length)return!1;n.css({width:n.parent().width(),position:"fixed",left:n.parent().offset().left}).find("a").click(function(){n.find("li").removeClass("toc--current"),$(this).parent().addClass("toc--current");var i=$(this).attr("href");setTimeout(function(){$(window).scrollTop($(i).offset().top-60)})})}};$(document).ready(function(){Util.init(),Skin.init()}); \ No newline at end of file diff --git a/9IPHP/js/isotope.pkgd.js b/9IPHP/js/isotope.pkgd.js deleted file mode 100644 index 3f27f16..0000000 --- a/9IPHP/js/isotope.pkgd.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Solo - A small and beautiful blogging system written in Java. - * Copyright (c) 2010-2019, b3log.org & hacpai.com - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function u(t,e,o){var n,s="$()."+i+'("'+e+'")';return t.each(function(t,u){var h=a.data(u,i);if(!h)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var d=h[e];if(!d||"_"==e.charAt(0))return void r(s+" is not a valid method");var l=d.apply(h,o);n=void 0===n?l:n}),void 0!==n?n:t}function h(t,e){t.each(function(t,o){var n=a.data(o,i);n?(n.option(e),n._init()):(n=new s(o,e),a.data(o,i,n))})}(a=a||e||t.jQuery)&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){return u(this,t,n.call(arguments,1))}return h(this,t),this},o(a))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var n=Array.prototype.slice,s=t.console,r=void 0===s?function(){}:function(t){s.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=0,n=i[o];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];n;){var r=s&&s[n];r&&(this.off(t,n),delete s[n]),n.apply(this,e),o+=r?0:1,n=i[o]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e