diff --git a/9IPHP/article-list.ftl b/9IPHP/article-list.ftl index ed9a73c..5e5d999 100644 --- a/9IPHP/article-list.ftl +++ b/9IPHP/article-list.ftl @@ -40,7 +40,8 @@
- +
-
- <#if 0 != paginationPageCount> - - \ No newline at end of file + + diff --git a/Community/article.ftl b/Community/article.ftl index 94d9382..b228085 100644 --- a/Community/article.ftl +++ b/Community/article.ftl @@ -43,7 +43,7 @@
diff --git a/Pinghsu/article-list.ftl b/Pinghsu/article-list.ftl index 31b91b0..3b60cc4 100644 --- a/Pinghsu/article-list.ftl +++ b/Pinghsu/article-list.ftl @@ -30,35 +30,36 @@
- <#if article.articlePutTop> - - ${topArticleLabel} - - - <#if article.hasUpdated> - - + + <#if article.articlePutTop> + + ${topArticleLabel} + + + <#if article.hasUpdated> + ${updatedLabel} - - - + + +

${article.articleTitle}

- <#list article.articleTags?split(",") as articleTag> - <#if articleTag_index == 0> -
- <#if article.category??> - ${article.category.categoryTitle} - <#else> - + <#list article.articleTags?split(",") as articleTag> + <#if articleTag_index == 0> +
+ <#if article.category??> + ${article.category.categoryTitle} + <#else> + + - - +
@@ -73,10 +74,10 @@ <#list paginationPageNums as paginationPageNum> <#if paginationPageNum == paginationCurrentPageNum> - ${paginationPageNum} + ${paginationPageNum} <#else> - ${paginationPageNum} + ${paginationPageNum} <#if paginationPageNums?last != paginationPageCount> @@ -86,4 +87,4 @@ - \ No newline at end of file + diff --git a/Pinghsu/article.ftl b/Pinghsu/article.ftl index b98971c..2b34aa9 100644 --- a/Pinghsu/article.ftl +++ b/Pinghsu/article.ftl @@ -41,16 +41,20 @@

- ${article.articleTitle} + ${article.articleTitle} <#if article.articlePutTop> - - ${topArticleLabel} - + + ${topArticleLabel} +

- Published on + <#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime> + Updated on + <#else> + Published on +
- <#list article.articleTags?split(",") as articleTag> - - + <#list article.articleTags?split(",") as articleTag> + +
- ${article.articleContent} - <#if "" != article.articleSign.signHTML?trim> -
- ${article.articleSign.signHTML} -
- + ${article.articleContent} + <#if "" != article.articleSign.signHTML?trim> +
+ ${article.articleSign.signHTML} +
+
- <#if article?? && article.articleToC?? && article.articleToC?size > 0> - <#include "../../common-template/toc.ftl"/> - + <#if article?? && article.articleToC?? && article.articleToC?size > 0> + <#include "../../common-template/toc.ftl"/> +
@@ -118,17 +122,17 @@ <#if previousArticlePermalink??> - + <#if nextArticlePermalink??> - + @@ -137,7 +141,7 @@
-<#if pjax> + <#if pjax> <#include "footer.ftl"> diff --git a/Pinghsu/css/base.css b/Pinghsu/css/base.css index c50745b..b081152 100644 --- a/Pinghsu/css/base.css +++ b/Pinghsu/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}.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}#nprogress{pointer-events:none}#nprogress .bar{background:#d23f31;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px #d23f31, 0 0 5px #d23f31;opacity:1.0;-webkit-transform:rotate(3deg) translate(0px, -4px);-ms-transform:rotate(3deg) translate(0px, -4px);transform:rotate(3deg) translate(0px, -4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#d23f31;border-left-color:#d23f31;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.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}.ico{background-image:url("../images/ico.png");float:right;width:42px;height:42px;border:1px solid #eaeaea;border-radius:50%;background-size:42px auto}.ico--0{background-position:0 -42px}.ico--1{background-position:0 -84px}.ico--2{background-position:0 -126px}.ico--3{background-position:0 -168px}.ico--4{background-position:0 -210px}.ico--5{background-position:0 -252px}.ico--6{background-position:0 -294px}.ico--7{background-position:0 -336px}.ico--8{background-position:0 -378px}.ico--9{background-position:0 -420px}svg{height:20px;width:20px}@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.15s;animation-fill-mode:forwards;animation-timing-function:ease-in}.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)}@keyframes scale-in{0%{opacity:0;transform:scale(0.5)}100%{opacity:1;transform:scale(1)}}.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:320px;min-width:80px;animation-duration:.15s;animation-name:scale-in;animation-timing-function:cubic-bezier(0.2, 0, 0.13, 1.5)}.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 label svg{position:absolute;top:0;left:0}.vditor-toolbar label input{position:absolute;width:15px;height:15px;top:0;left:0;opacity:.001;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-menu--disabled svg{color:rgba(88,96,105,0.6);cursor:not-allowed}.vditor-emojis{display:inline-block;overflow:auto}.vditor-emojis::-webkit-scrollbar{display:none}.vditor-emojis__tip{flex:1;width:200px;margin-right:10px;color:#586069;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vditor-emojis__tail{margin-top:5px;font-size:12px;color:#586069;display:flex}.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:30px;width:30px;text-align:center;line-height:26px;padding:3px;box-sizing:border-box;font-size:16px;transition:all 0.15s ease-in-out}.vditor-emojis span:hover{transform:scale(1.2)}.vditor-emojis img{height:20px;width:20px;float:left;margin:3px 0 0 3px}@keyframes slideInDown{from{transform:translate3d(0, -100%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}.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{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif;margin:0;height:100%;overflow:auto;width:100%;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;font-variant-ligatures:no-common-ligatures;white-space:pre-wrap;word-break:break-word;word-wrap:break-word}.vditor-textarea[contenteditable="false"]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-textarea:empty::before{content:attr(placeholder);color:rgba(36,41,46,0.68)}.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--editor{display:none}.vditor-preview--both{display:block}.vditor-preview--preview{position:absolute;top:0;left:-1px;bottom:0;right:0;display:block}.vditor-preview>div::-webkit-scrollbar{display:none}.vditor-preview>.vditor-reset{margin:0 auto}.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:3px 0;cursor:row-resize;user-select:none;position:absolute;width:100%}.vditor-resize--top{top:-3px}.vditor-resize--bottom{bottom:-3px}.vditor-resize>div{height:3px;background-color:#f6f8fa;transition:all 0.15s ease-in-out}.vditor-resize:hover>div,.vditor-resize--selected>div{background-color:#4285f4}.vditor-resize:hover svg,.vditor-resize--selected 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{position:absolute;height:3px;left:0;top:-2px;transition:all 0.15s ease-in-out;background-color:rgba(66,133,244,0.8)}.vditor-tip{position:absolute;font-size:12px;top:10px;color:#fff;animation-duration:.15s;animation-fill-mode:both;width:100%;text-align:center}.vditor-tip--show{display:block;animation-name:slideInDown}.vditor-tip__content{text-align:left;display:inline-block;line-height:16px;padding:3px 10px;border-radius:3px;background:rgba(66,133,244,0.8);position:relative}.vditor-tip__content ul{margin:2px 0;padding:0 0 0 18px}.vditor-tip__close{position:absolute;color:#586069;top:-7px;right:-15px;font-weight:bold;cursor:pointer}.vditor-tip__close:hover{color:#4285f4}.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-variant-ligatures:no-common-ligatures;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 ul ul{list-style-type:square}.vditor-reset ul ul{list-style-type:circle}.vditor-reset ul{list-style-type:disc}.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 audio:focus{outline:none}.vditor-reset video{max-height:90vh;max-width:100%}.vditor-reset img.emoji{cursor:auto;max-width:20px;vertical-align:sub}.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:2px;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;max-width:100%;box-sizing:border-box}.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%;border-radius:3px;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace;word-break:break-word;background-size:20px 20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==);white-space:pre-wrap}.vditor-reset pre>code{padding:0.5em;border-radius:5px;display:block;overflow:auto}.vditor-reset pre:hover div.vditor-copy{display:block}.vditor-reset .katex:hover div.vditor-copy{display:inline}.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 p:last-child,.vditor-reset blockquote:last-child,.vditor-reset pre:last-child,.vditor-reset ul:last-child,.vditor-reset ol:last-child,.vditor-reset hr:last-child{margin-bottom:0}.vditor-reset .katex{position:relative}.vditor-reset .language-echarts{overflow:hidden;height:420px}.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;left:-100000px}.vditor-copy span{cursor:pointer;position:absolute;right:0.5em;top:0.5em;height:14px;width:14px;display:block;background-color:#f6f8fa;border-radius:3px;padding:3px}.vditor-copy svg{color:#586069;height:14px;width:14px !important;display:block;fill:currentColor}.user__site{display:inline-block;margin:40px 5px 0;height:20px}body{display:flex;flex-direction:column;min-height:100%}.body--gray{background-color:#f7f7f7}a{text-decoration:none;color:#313131;outline:0;transition:all .3s}a:active,a:focus,a:hover{color:#eb5055;outline:0;text-decoration:none}::selection{color:#fff;background-color:#eb5055}.vditor-reset{font-size:14px}.vditor-reset a{color:#313131;border-bottom:1px solid #e0e0e0}.vditor-reset a:hover{color:#eb5055;border-bottom:1px solid #eb5055}.vditor-reset::-webkit-scrollbar{display:none}.ft__fade{color:rgba(0,0,0,0.38)}.ft__red{color:#eb5055}.ft__link{color:#5f5f5f}.ft__link:hover{color:#000}.tag{font-size:13px;display:inline-block;padding:0 15px;transition:all .3s;line-height:24px;color:#fff;cursor:pointer;background:#6fa3ef;border-radius:12px;margin-left:10px}.tag:hover{color:#5f5f5f;background:#e0e0e0}.tag--1{background:#ff9800}.tag--2{background:#46c47c}.tag--3{background:#eb5055}.tag--4{background:#db4437}.tag--5{background:#1b95e0}.tag--6{background:#fdc200}.tag--7{background:#4caf50}.wrapper{max-width:1024px;padding:0 10px;box-sizing:border-box;margin:0 auto}.wrapper--min{animation:fade-in;animation-duration:.5s;padding-top:115px;max-width:900px}.wrapper--miner{animation:fade-in;animation-duration:.5s;padding-top:115px;max-width:700px}.header{background-color:#fff;animation-duration:.5s;animation-fill-mode:both;line-height:70px;position:fixed;z-index:10;top:0;display:block;width:100%;height:70px;box-shadow:0 1px 5px rgba(0,0,0,0.1)}.header__logo{font-size:20px}.header__logo img{margin:10px 5px 0 0;height:50px;width:50px;float:left}.header__nav{float:right}.header__nav a{margin:0 15px}.header__nav a.current{color:#eb5055}.header__nav a.search{float:right;margin-top:5px}.header--up{animation-name:slideUp}.header--down{animation-name:slideDown}@keyframes slideUp{0%{transform:translateY(0)}100%{transform:translateY(-70px)}}@keyframes slideDown{0%{transform:translateY(-70px)}100%{transform:translateY(0)}}@keyframes fade-in{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}.footer{background-color:#fff;line-height:20px;position:relative;font-size:13px}.footer__border{border-bottom:1px solid rgba(184,197,214,0.2);margin-bottom:40px}.footer__nav{text-align:center;height:95px;line-height:95px}.footer__nav a{padding:0 25px}.footer__nav img{height:20px;width:20px;margin-right:3px}.footer__mid{margin:0 40px}.footer__copyright{font-size:12px;text-align:center;color:rgba(0,0,0,0.38)}.footer .wrapper{padding-bottom:40px}.article-list .item{float:left;width:33.3333%;padding:15px;align-items:center;box-sizing:border-box;transition:all .3s}.article-list .item__container{position:relative;border-radius:3px;background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);overflow:hidden}.article-list .item__cover{margin-bottom:130px;height:250px;transition:transform .5s ease, filter .5s ease;background-position:50% 50%;background-size:cover}.article-list .item__slant{transform:rotate(-10deg) translate(10px, -10px);opacity:.7;position:absolute;z-index:0;top:237px;left:3px;width:110%;height:100px;background-color:rgba(0,0,0,0.5)}.article-list .item__slant--white{left:3px;opacity:1;top:234px;transform:rotate(7deg) translate(-10px, 0);background-color:#fff}.article-list .item__main{top:250px;height:130px;box-sizing:border-box;padding:20px;background-color:#fff;position:absolute;width:100%}.article-list .item__main sup a{cursor:text}.article-list .item__main sup a:visited{color:#fff}.article-list .item__abstract{position:absolute;height:100%;top:0;width:100%;padding:40px 20px;color:#fff;word-break:break-all;box-sizing:border-box;transition:all .5s}.article-list .item__abstract>a{color:#fff;display:block;opacity:0;overflow:hidden;-webkit-line-clamp:7;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box}.article-list .item__title{margin-bottom:2px;height:44px}.article-list .item__title a{font-size:18px;line-height:22px;word-break:break-all;font-weight:normal;overflow:hidden;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box}.article-list .item__tag{float:right;color:#5f5f5f;margin:12px 10px}.article-list .item__container:hover{box-shadow:0 2px 4px rgba(0,0,0,0.1)}.article-list .item__container:hover .item__cover{transform:scale(1.1);filter:blur(3px)}.article-list .item__container:hover .item__abstract{background-color:rgba(0,0,0,0.5)}.article-list .item__container:hover .item__abstract>a{animation:fade-in;animation-duration:.5s;opacity:1}.pagination{text-align:center;margin:25px 0 40px}.pagination__item{color:#5f5f5f;padding:0 15px}.pagination__item--current{color:#eb5055}.post .vditor-reset{padding-bottom:15px}.post__fix{position:fixed;box-sizing:border-box;z-index:2;right:0;bottom:0;left:0;height:48px;border-top:1px solid #e0e0e0;background-color:#fff;animation-duration:.5s;animation-fill-mode:both}.post__fix--unpinned{animation-name:unpinned}.post__fix--pinned{animation-name:pinned}@keyframes unpinned{0%{transform:translateY(0)}100%{transform:translateY(48px)}}@keyframes pinned{0%{transform:translateY(48px)}100%{transform:translateY(0)}}.post__share{line-height:48px}.post__code{position:relative}.post__code canvas{position:absolute;bottom:30px;left:0}.post__arrow{float:right}.post__arrow a{margin-left:20px;line-height:48px}.post .item__title a{font-weight:400;font-size:21px}.post .item__title sup{font-weight:normal;color:#eb5055}.post .item__meta{font-size:12px;margin:5px 0 15px}.post .item__tags{border-bottom:1px solid #e0e0e0;margin-bottom:15px}.post .item__tags .tag{margin:0 10px 15px 0}.post__list{padding:20px 0 40px}.post__list-mid{margin:0 20px}.post__list h3{font-size:14px;padding-bottom:10px;color:rgba(0,0,0,0.38);font-weight:normal}.post__list li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;list-style:none;font-size:13px;line-height:26px}.post__list a{color:#5f5f5f}.post__list a:hover{color:#000}.post__toc{display:none;position:fixed;top:100px;max-width:200px;overflow:auto;height:70vh;padding-left:3px}.post__toc::-webkit-scrollbar{display:none}.post__toc .article__toc{overflow:initial;border-left:1px solid #e0e0e0;margin:0;font-size:14px;line-height:24px}.post__toc .article__toc li.current a{color:#eb5055}.post__toc .article__toc a{display:block;margin-top:-24px}.post__toc li:before{position:relative;top:-2px;left:-4px;display:inline-block;width:7px;height:7px;content:'';border-radius:50%}.post__toc li.current:before{background-color:#eb5055}.post__gray{position:relative}.comment{max-width:700px;box-sizing:border-box}.comment-body-ref{position:absolute;left:80px;width:76%}.comment__title{padding:30px 20px;color:#5f5f5f}.comment .item{margin:20px 0;border:1px solid rgba(184,197,214,0.2);border-radius:3px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);list-style:none;padding:20px}.comment .item__meta{color:#5f5f5f;font-size:12px}.comment .item__avatar{float:left;height:40px;width:40px;border-radius:20px;border:1px solid #e0e0e0;margin:0 20px 20px 0;background-size:cover;background-position:center center}.comment .item__name{color:#5f5f5f;float:left;line-height:40px}.comment .item:hover .item__reply{display:block;color:#eb5055}.comment #comments{position:relative}.comment #comment{position:relative;margin-bottom:30px;padding:20px;border-radius:3px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);border:0;resize:none;cursor:pointer;width:100%;box-sizing:border-box}.page__title{margin:10px 0;padding:0 15px;color:#5f5f5f}.page__content{margin:15px 0 40px}.page__item{float:left;list-style:none;box-shadow:0 1px 4px rgba(0,0,0,0.04);background-color:#fff;padding:15px;margin:15px;min-width:115px;line-height:22px}.page__item:hover{transform:scale(1.03)}.page__bottom{height:40px}.page__tags .tag{margin:15px}@media (max-width: 746px){.mobile__none{display:none}.footer__copyright{text-align:right}.footer .wrapper{padding:10px 20px}.article-list .item{padding:5px 0;width:100%}.wrapper--min{padding-top:75px}.wrapper--miner{padding-top:85px}.page__title{padding:0}.post__list{display:block}.post__list-mid{margin:20px 0}.comment__title{padding:10px}.comment #comment{padding:10px;margin-bottom:0}.comment .item{padding:10px;margin:10px 0}.page__item{float:none;display:block;padding:10px;margin:0 0 10px 0}.page__content{margin:0}.page__bottom{height:1px}.page__tags .tag{margin:0 10px 10px 0}.header__bar{display:block;float:right;margin-top:6px}.header__menu{background-color:#f7f7f7;position:absolute;top:70px;width:100%;left:0}.header__menu li{list-style:none}.header__menu li a{display:block;line-height:30px;padding:0 15px;box-sizing:border-box;border-bottom:1px solid #fff}} +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}#nprogress{pointer-events:none}#nprogress .bar{background:#d23f31;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px #d23f31, 0 0 5px #d23f31;opacity:1.0;-webkit-transform:rotate(3deg) translate(0px, -4px);-ms-transform:rotate(3deg) translate(0px, -4px);transform:rotate(3deg) translate(0px, -4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#d23f31;border-left-color:#d23f31;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.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}.ico{background-image:url("../images/ico.png");float:right;width:42px;height:42px;border:1px solid #eaeaea;border-radius:50%;background-size:42px auto}.ico--0{background-position:0 -42px}.ico--1{background-position:0 -84px}.ico--2{background-position:0 -126px}.ico--3{background-position:0 -168px}.ico--4{background-position:0 -210px}.ico--5{background-position:0 -252px}.ico--6{background-position:0 -294px}.ico--7{background-position:0 -336px}.ico--8{background-position:0 -378px}.ico--9{background-position:0 -420px}svg{height:20px;width:20px}@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.15s;animation-fill-mode:forwards;animation-timing-function:ease-in}.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)}@keyframes scale-in{0%{opacity:0;transform:scale(0.5)}100%{opacity:1;transform:scale(1)}}.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:320px;min-width:80px;animation-duration:.15s;animation-name:scale-in;animation-timing-function:cubic-bezier(0.2, 0, 0.13, 1.5)}.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 label svg{position:absolute;top:0;left:0}.vditor-toolbar label input{position:absolute;width:15px;height:15px;top:0;left:0;opacity:.001;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-menu--disabled svg{color:rgba(88,96,105,0.6);cursor:not-allowed}.vditor-emojis{display:inline-block;overflow:auto}.vditor-emojis::-webkit-scrollbar{display:none}.vditor-emojis__tip{flex:1;width:200px;margin-right:10px;color:#586069;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vditor-emojis__tail{margin-top:5px;font-size:12px;color:#586069;display:flex}.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:30px;width:30px;text-align:center;line-height:26px;padding:3px;box-sizing:border-box;font-size:16px;transition:all 0.15s ease-in-out}.vditor-emojis span:hover{transform:scale(1.2)}.vditor-emojis img{height:20px;width:20px;float:left;margin:3px 0 0 3px}@keyframes slideInDown{from{transform:translate3d(0, -100%, 0);visibility:visible}to{transform:translate3d(0, 0, 0)}}.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{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif;margin:0;height:100%;overflow:auto;width:100%;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;font-variant-ligatures:no-common-ligatures;white-space:pre-wrap;word-break:break-word;word-wrap:break-word}.vditor-textarea[contenteditable="false"]{opacity:0.3;cursor:not-allowed}.vditor-textarea:focus{background-color:#fff}.vditor-textarea:empty::before{content:attr(placeholder);color:rgba(36,41,46,0.68)}.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--editor{display:none}.vditor-preview--both{display:block}.vditor-preview--preview{position:absolute;top:0;left:-1px;bottom:0;right:0;display:block}.vditor-preview>div::-webkit-scrollbar{display:none}.vditor-preview>.vditor-reset{margin:0 auto}.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:3px 0;cursor:row-resize;user-select:none;position:absolute;width:100%}.vditor-resize--top{top:-3px}.vditor-resize--bottom{bottom:-3px}.vditor-resize>div{height:3px;background-color:#f6f8fa;transition:all 0.15s ease-in-out}.vditor-resize:hover>div,.vditor-resize--selected>div{background-color:#4285f4}.vditor-resize:hover svg,.vditor-resize--selected 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{position:absolute;height:3px;left:0;top:-2px;transition:all 0.15s ease-in-out;background-color:rgba(66,133,244,0.8)}.vditor-tip{position:absolute;font-size:12px;top:10px;color:#fff;animation-duration:.15s;animation-fill-mode:both;width:100%;text-align:center}.vditor-tip--show{display:block;animation-name:slideInDown}.vditor-tip__content{text-align:left;display:inline-block;line-height:16px;padding:3px 10px;border-radius:3px;background:rgba(66,133,244,0.8);position:relative}.vditor-tip__content ul{margin:2px 0;padding:0 0 0 18px}.vditor-tip__close{position:absolute;color:#586069;top:-7px;right:-15px;font-weight:bold;cursor:pointer}.vditor-tip__close:hover{color:#4285f4}.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-variant-ligatures:no-common-ligatures;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 ul ul{list-style-type:square}.vditor-reset ul ul{list-style-type:circle}.vditor-reset ul{list-style-type:disc}.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 audio:focus{outline:none}.vditor-reset video{max-height:90vh;max-width:100%}.vditor-reset img.emoji{cursor:auto;max-width:20px;vertical-align:sub}.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:2px;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;max-width:100%;box-sizing:border-box}.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%;border-radius:3px;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace;word-break:break-word;background-size:20px 20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==);white-space:pre-wrap}.vditor-reset pre>code{padding:0.5em;border-radius:5px;display:block;overflow:auto}.vditor-reset pre:hover div.vditor-copy{display:block}.vditor-reset .katex:hover div.vditor-copy{display:inline}.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 p:last-child,.vditor-reset blockquote:last-child,.vditor-reset pre:last-child,.vditor-reset ul:last-child,.vditor-reset ol:last-child,.vditor-reset hr:last-child{margin-bottom:0}.vditor-reset .katex{position:relative}.vditor-reset .language-echarts{overflow:hidden;height:420px}.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;left:-100000px}.vditor-copy span{cursor:pointer;position:absolute;right:0.5em;top:0.5em;height:14px;width:14px;display:block;background-color:#f6f8fa;border-radius:3px;padding:3px}.vditor-copy svg{color:#586069;height:14px;width:14px !important;display:block;fill:currentColor}.user__site{display:inline-block;margin:40px 5px 0;height:20px}body{display:flex;flex-direction:column;min-height:100%}.body--gray{background-color:#f7f7f7}a{text-decoration:none;color:#313131;outline:0;transition:all .3s}a:active,a:focus,a:hover{color:#eb5055;outline:0;text-decoration:none}::selection{color:#fff;background-color:#eb5055}.vditor-reset{font-size:14px}.vditor-reset a{color:#313131;border-bottom:1px solid #e0e0e0}.vditor-reset a:hover{color:#eb5055;border-bottom:1px solid #eb5055}.vditor-reset::-webkit-scrollbar{display:none}.ft__fade{color:rgba(0,0,0,0.38)}.ft__red{color:#eb5055}.ft__link{color:#5f5f5f}.ft__link:hover{color:#000}.tag{font-size:13px;display:inline-block;padding:0 15px;transition:all .3s;line-height:24px;color:#fff;cursor:pointer;background:#6fa3ef;border-radius:12px;margin-left:10px}.tag:hover{color:#5f5f5f;background:#e0e0e0}.tag--1{background:#ff9800}.tag--2{background:#46c47c}.tag--3{background:#eb5055}.tag--4{background:#db4437}.tag--5{background:#1b95e0}.tag--6{background:#fdc200}.tag--7{background:#4caf50}.wrapper{max-width:1024px;padding:0 10px;box-sizing:border-box;margin:0 auto}.wrapper--min{animation:fade-in;animation-duration:.5s;padding-top:115px;max-width:900px}.wrapper--miner{animation:fade-in;animation-duration:.5s;padding-top:115px;max-width:700px}.header{background-color:#fff;animation-duration:.5s;animation-fill-mode:both;line-height:70px;position:fixed;z-index:10;top:0;display:block;width:100%;height:70px;box-shadow:0 1px 5px rgba(0,0,0,0.1)}.header__logo{font-size:20px}.header__logo img{margin:10px 5px 0 0;height:50px;width:50px;float:left}.header__nav{float:right}.header__nav a{margin:0 15px}.header__nav a.current{color:#eb5055}.header__nav a.search{float:right;margin-top:5px}.header--up{animation-name:slideUp}.header--down{animation-name:slideDown}@keyframes slideUp{0%{transform:translateY(0)}100%{transform:translateY(-70px)}}@keyframes slideDown{0%{transform:translateY(-70px)}100%{transform:translateY(0)}}@keyframes fade-in{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}.footer{background-color:#fff;line-height:20px;position:relative;font-size:13px}.footer__border{border-bottom:1px solid rgba(184,197,214,0.2);margin-bottom:40px}.footer__nav{text-align:center;height:95px;line-height:95px}.footer__nav a{padding:0 25px}.footer__nav img{height:20px;width:20px;margin-right:3px}.footer__mid{margin:0 40px}.footer__copyright{font-size:12px;text-align:center;color:rgba(0,0,0,0.38)}.footer .wrapper{padding-bottom:40px}.article-list .item{float:left;width:33.3333%;padding:15px;align-items:center;box-sizing:border-box;transition:all .3s}.article-list .item__container{position:relative;border-radius:3px;background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);overflow:hidden}.article-list .item__cover{margin-bottom:130px;height:250px;transition:transform .5s ease, filter .5s ease;background-position:50% 50%;background-size:cover}.article-list .item__sup{position:absolute;top:7px}.article-list .item__slant{transform:rotate(-10deg) translate(10px, -10px);opacity:.7;position:absolute;z-index:0;top:237px;left:3px;width:110%;height:100px;background-color:rgba(0,0,0,0.5)}.article-list .item__slant--white{left:3px;opacity:1;top:234px;transform:rotate(7deg) translate(-10px, 0);background-color:#fff}.article-list .item__main{top:250px;height:130px;box-sizing:border-box;padding:20px;background-color:#fff;position:absolute;width:100%}.article-list .item__main sup a{cursor:text}.article-list .item__main sup a:visited{color:#fff}.article-list .item__abstract{position:absolute;height:100%;top:0;width:100%;padding:40px 20px;color:#fff;word-break:break-all;box-sizing:border-box;transition:all .5s}.article-list .item__abstract>a{color:#fff;display:block;opacity:0;overflow:hidden;-webkit-line-clamp:7;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box}.article-list .item__title{margin-bottom:2px;height:44px}.article-list .item__title a{font-size:18px;line-height:22px;word-break:break-all;font-weight:normal;overflow:hidden;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box}.article-list .item__tag{float:right;color:#5f5f5f;margin:12px 10px}.article-list .item__container:hover{box-shadow:0 2px 4px rgba(0,0,0,0.1)}.article-list .item__container:hover .item__cover{transform:scale(1.1);filter:blur(3px)}.article-list .item__container:hover .item__abstract{background-color:rgba(0,0,0,0.5)}.article-list .item__container:hover .item__abstract>a{animation:fade-in;animation-duration:.5s;opacity:1}.pagination{text-align:center;margin:25px 0 40px}.pagination__item{color:#5f5f5f;padding:0 15px}.pagination__item--current{color:#eb5055}.post .vditor-reset{padding-bottom:15px}.post__fix{position:fixed;box-sizing:border-box;z-index:2;right:0;bottom:0;left:0;height:48px;border-top:1px solid #e0e0e0;background-color:#fff;animation-duration:.5s;animation-fill-mode:both}.post__fix--unpinned{animation-name:unpinned}.post__fix--pinned{animation-name:pinned}@keyframes unpinned{0%{transform:translateY(0)}100%{transform:translateY(48px)}}@keyframes pinned{0%{transform:translateY(48px)}100%{transform:translateY(0)}}.post__share{line-height:48px}.post__code{position:relative}.post__code canvas{position:absolute;bottom:30px;left:0}.post__arrow{float:right}.post__arrow a{margin-left:20px;line-height:48px}.post .item__title a{font-weight:400;font-size:21px}.post .item__title sup{font-weight:normal;color:#eb5055}.post .item__meta{font-size:12px;margin:5px 0 15px}.post .item__tags{border-bottom:1px solid #e0e0e0;margin-bottom:15px}.post .item__tags .tag{margin:0 10px 15px 0}.post__list{padding:20px 0 40px}.post__list-mid{margin:0 20px}.post__list h3{font-size:14px;padding-bottom:10px;color:rgba(0,0,0,0.38);font-weight:normal}.post__list li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;list-style:none;font-size:13px;line-height:26px}.post__list a{color:#5f5f5f}.post__list a:hover{color:#000}.post__toc{display:none;position:fixed;top:100px;max-width:200px;overflow:auto;height:70vh;padding-left:3px}.post__toc::-webkit-scrollbar{display:none}.post__toc .article__toc{overflow:initial;border-left:1px solid #e0e0e0;margin:0;font-size:14px;line-height:24px}.post__toc .article__toc li.current a{color:#eb5055}.post__toc .article__toc a{display:block;margin-top:-24px}.post__toc li:before{position:relative;top:-2px;left:-4px;display:inline-block;width:7px;height:7px;content:'';border-radius:50%}.post__toc li.current:before{background-color:#eb5055}.post__gray{position:relative}.comment{max-width:700px;box-sizing:border-box}.comment-body-ref{position:absolute;left:80px;width:76%}.comment__title{padding:30px 20px;color:#5f5f5f}.comment .item{margin:20px 0;border:1px solid rgba(184,197,214,0.2);border-radius:3px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);list-style:none;padding:20px}.comment .item__meta{color:#5f5f5f;font-size:12px}.comment .item__avatar{float:left;height:40px;width:40px;border-radius:20px;border:1px solid #e0e0e0;margin:0 20px 20px 0;background-size:cover;background-position:center center}.comment .item__name{color:#5f5f5f;float:left;line-height:40px}.comment .item:hover .item__reply{display:block;color:#eb5055}.comment #comments{position:relative}.comment #comment{position:relative;margin-bottom:30px;padding:20px;border-radius:3px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);border:0;resize:none;cursor:pointer;width:100%;box-sizing:border-box}.page__title{margin:10px 0;padding:0 15px;color:#5f5f5f}.page__content{margin:15px 0 40px}.page__item{float:left;list-style:none;box-shadow:0 1px 4px rgba(0,0,0,0.04);background-color:#fff;padding:15px;margin:15px;min-width:115px;line-height:22px}.page__item:hover{transform:scale(1.03)}.page__bottom{height:40px}.page__tags .tag{margin:15px}@media (max-width: 746px){.mobile__none{display:none}.footer__copyright{text-align:right}.footer .wrapper{padding:10px 20px}.article-list .item{padding:5px 0;width:100%}.wrapper--min{padding-top:75px}.wrapper--miner{padding-top:85px}.page__title{padding:0}.post__list{display:block}.post__list-mid{margin:20px 0}.comment__title{padding:10px}.comment #comment{padding:10px;margin-bottom:0}.comment .item{padding:10px;margin:10px 0}.page__item{float:none;display:block;padding:10px;margin:0 0 10px 0}.page__content{margin:0}.page__bottom{height:1px}.page__tags .tag{margin:0 10px 10px 0}.header__bar{display:block;float:right;margin-top:6px}.header__menu{background-color:#f7f7f7;position:absolute;top:70px;width:100%;left:0}.header__menu li{list-style:none}.header__menu li a{display:block;line-height:30px;padding:0 15px;box-sizing:border-box;border-bottom:1px solid #fff}} diff --git a/Pinghsu/css/base.scss b/Pinghsu/css/base.scss index 26d9b99..ba983d9 100644 --- a/Pinghsu/css/base.scss +++ b/Pinghsu/css/base.scss @@ -318,6 +318,11 @@ a:active, a:focus, a:hover { background-size: cover; } + &__sup { + position: absolute; + top: 7px; + } + &__slant { transform: rotate(-10deg) translate(10px, -10px); opacity: .7; @@ -811,4 +816,4 @@ a:active, a:focus, a:hover { } } } -} \ No newline at end of file +} diff --git a/favourite/article-list.ftl b/favourite/article-list.ftl index 3d6cdf2..2fb5a69 100644 --- a/favourite/article-list.ftl +++ b/favourite/article-list.ftl @@ -38,18 +38,10 @@
- <#if article.hasUpdated> ${article.articleUpdateDate?string("yyyy-MM")} - <#else> - ${article.articleCreateDate?string("yyyy-MM")} -
- <#if article.hasUpdated> ${article.articleUpdateDate?string("dd")} - <#else> - ${article.articleCreateDate?string("dd")} -
@@ -110,4 +102,4 @@   ${sumLabel} ${paginationPageCount} ${pageLabel}
- \ No newline at end of file + diff --git a/i-nove/article-list.ftl b/i-nove/article-list.ftl index c3b18a3..5f3ba69 100644 --- a/i-nove/article-list.ftl +++ b/i-nove/article-list.ftl @@ -44,11 +44,7 @@ - <#if article.hasUpdated> ${article.articleUpdateDate?string("yyyy-MM-dd HH:mm:ss")} - <#else> - ${article.articleCreateDate?string("yyyy-MM-dd HH:mm:ss")} -
@@ -100,4 +96,4 @@   ${sumLabel} ${paginationPageCount} ${pageLabel}
- \ No newline at end of file + diff --git a/metro-hot/article-list.ftl b/metro-hot/article-list.ftl index d52d38c..ddc43e8 100644 --- a/metro-hot/article-list.ftl +++ b/metro-hot/article-list.ftl @@ -24,11 +24,7 @@
diff --git a/next/article-list.ftl b/next/article-list.ftl index 422ea8c..28e7336 100644 --- a/next/article-list.ftl +++ b/next/article-list.ftl @@ -19,70 +19,73 @@ -->
<#list articles as article> -
-
-

- - ${article.articleTitle} - - <#if article.articlePutTop> - - ${topArticleLabel} - - - <#if article.hasUpdated> - - - ${updatedLabel} - - - -

+
+
+

+ + ${article.articleTitle} + + <#if article.articlePutTop> + + ${topArticleLabel} + + + <#if article.hasUpdated> + + + ${updatedLabel} + + + +

-
+
+ ${article.articleAbstract}
-
-
- ${article.articleAbstract} -
-
- - ${readLabel} » - -
-
+
+ + ${readLabel} » + +
+
<#if 0 != paginationPageCount> - + diff --git a/next/article.ftl b/next/article.ftl index 08dc2b3..7efe54a 100644 --- a/next/article.ftl +++ b/next/article.ftl @@ -22,110 +22,115 @@ <#include "../../common-template/macro-comment_script.ftl"> - - <@head title="${article.articleTitle} - ${blogTitle}" description="${article.articleAbstract?html}"> - + + <@head title="${article.articleTitle} - ${blogTitle}" description="${article.articleAbstract?html}"> + <#if previousArticlePermalink??> <#if nextArticlePermalink??> - - - - <#include "header.ftl"> -
-
-
-
-
-

- ${article.articleTitle} - <#if article.articlePutTop> + + + +<#include "header.ftl"> +
+
+
+
+
+

+ ${article.articleTitle} + <#if article.articlePutTop> ${topArticleLabel} - -

-

+ -
+   |   ${viewsLabel} + ${article.articleViewCount}°C +
+ -
- ${article.articleContent} - <#if "" != article.articleSign.signHTML?trim> +
+ ${article.articleContent} + <#if "" != article.articleSign.signHTML?trim>
${article.articleSign.signHTML}
- -
-
- <@comments commentList=articleComments article=article> - <#if 0 != relevantArticlesDisplayCount> + +
+ + +
+ <@comments commentList=articleComments article=article> + <#if 0 != relevantArticlesDisplayCount>
- - <#if 0 != randomArticlesDisplayCount> -
- - <#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount> -
- - <#include "side.ftl"> -
- - <#include "footer.ftl"> - <@comment_script oId=article.oId commentable=article.commentable> - page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}"; - <#if 0 != externalRelevantArticlesDisplayCount> - page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,"); <#if 0 != randomArticlesDisplayCount> +
+ + <#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount> +
+ + <#include "side.ftl"> +
+ +<#include "footer.ftl"> +<@comment_script oId=article.oId commentable=article.commentable> + page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}"; + <#if 0 != externalRelevantArticlesDisplayCount> + page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,"); + + <#if 0 != randomArticlesDisplayCount> page.loadRandomArticles(); - - <#if 0 != relevantArticlesDisplayCount> + + <#if 0 != relevantArticlesDisplayCount> page.loadRelevantArticles('${article.oId}', '

${relevantArticles1Label}

'); - - NexT.initArticle() - - + + NexT.initArticle() + + diff --git a/next/lang/lang_en_US.properties b/next/lang/lang_en_US.properties index 303d802..7edd73b 100644 --- a/next/lang/lang_en_US.properties +++ b/next/lang/lang_en_US.properties @@ -18,10 +18,11 @@ # # Description: Solo language configurations(en_US). -# Version: 2.0.0.0, Feb 23, 2019 +# Version: 2.1.0.0, Aug 27, 2019 # Author: Liyuan Li # +updateTimeLabel=Update At tocLabel=Article ToC siteViewLabel=Site viewsLabel=Heat diff --git a/next/lang/lang_zh_CN.properties b/next/lang/lang_zh_CN.properties index 78c19c1..03e174c 100644 --- a/next/lang/lang_zh_CN.properties +++ b/next/lang/lang_zh_CN.properties @@ -18,10 +18,11 @@ # # Description: Solo default language configurations(zh_CN). -# Version: 2.0.0.0, Feb 23, 2019 +# Version: 2.1.0.0, Aug 27, 2019 # Author: Liyuan Li # +updateTimeLabel=\u66F4\u65B0\u4E8E tocLabel=\u6587\u7AE0\u76EE\u5F55 siteViewLabel=\u7AD9\u70B9\u6982\u89C8 viewsLabel=\u70ED\u5EA6 diff --git a/owmx-3.0/article-list.ftl b/owmx-3.0/article-list.ftl index 791f82d..18b3ba4 100644 --- a/owmx-3.0/article-list.ftl +++ b/owmx-3.0/article-list.ftl @@ -39,13 +39,11 @@

${author1Label}${article.authorName} | - <#if article.hasUpdated> + <#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime> ${updateDateLabel}: - ${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")} <#else> ${createDateLabel}: - ${article.articleCreateDate?string("yyyy-MM-dd HH:mm")} - | ${viewCount1Label} + ${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")} | ${viewCount1Label} ${article.articleViewCount} | ${commentCount1Label} diff --git a/owmx-3.0/article.ftl b/owmx-3.0/article.ftl index bf6e3d2..5e0ec98 100644 --- a/owmx-3.0/article.ftl +++ b/owmx-3.0/article.ftl @@ -51,7 +51,11 @@

${author1Label}${article.authorName} | - ${updateDateLabel}:${article.articleUpdateDate?string("yyyy-MM-dd HH:mm:ss")} + <#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime> + ${updateDateLabel}: + <#else> + ${createDateLabel}: + ${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")} | ${viewCount1Label} ${article.articleViewCount} diff --git a/timeline/index.ftl b/timeline/index.ftl index 788cd72..58cc204 100644 --- a/timeline/index.ftl +++ b/timeline/index.ftl @@ -49,7 +49,7 @@ <#if "en" == localeString?substring(0, 2)> ${archiveDate.monthName} ${archiveDate.archiveDateYear} - <#else> + <#else> ${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} @@ -62,7 +62,7 @@

@@ -108,10 +108,10 @@ <#if paginationCurrentPageNum != paginationPageCount && 0 != paginationPageCount && !article_has_next> -
${moreLabel}
+
${moreLabel}
- + diff --git a/tree-house/article-list.ftl b/tree-house/article-list.ftl index 50c6bfe..dd14d18 100644 --- a/tree-house/article-list.ftl +++ b/tree-house/article-list.ftl @@ -38,11 +38,7 @@