This commit is contained in:
Van committed 2019-08-27 18:30:49 +08:00
1 parent cfceead292
commit 8acd61e237
21 files changed
+315 -315

No files matched your search

+2 -1
View File
@@ -40,7 +40,8 @@
</h2>
<div class="meta">
<span class="vditor-tooltipped vditor-tooltipped__n" aria-label="${createDateLabel}">
<span class="vditor-tooltipped vditor-tooltipped__n"
aria-label="<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>${updateDateLabel}<#else>${createDateLabel}</#if>">
<i class="icon-date"></i>
<time>
${article.articleUpdateDate?string("yyyy-MM-dd")}
+1 -1
View File
@@ -52,7 +52,7 @@
</#if>
</h2>
<div class="meta">
<span class="vditor-tooltipped vditor-tooltipped__n" aria-label="${createDateLabel}">
<span class="vditor-tooltipped vditor-tooltipped__n" aria-label="<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>${updateDateLabel}<#else>${createDateLabel}</#if>">
<i class="icon-date"></i>
<time>
${article.articleUpdateDate?string("yyyy-MM-dd")}
+1 -5
View File
@@ -43,11 +43,7 @@
</#if>
</h2>
<div class="article-date">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yyyy HH:mm:ss")}
<#else>
${article.articleCreateDate?string("yyyy HH:mm:ss")}
</#if>
by
<a rel="nofollow" class="underline" title="${article.authorName}" href="${servePath}/authors/${article.authorId}">
${article.authorName}</a> |
@@ -88,4 +84,4 @@
&nbsp;&nbsp;${sumLabel} ${paginationPageCount} ${pageLabel}
</div>
<div class="clear"></div>
</#if>
</#if>
+5 -5
View File
@@ -38,7 +38,7 @@
<#setting locale=localeString>
</div>
<div class="row article-content">
<div class="row article-content vditor-reset">
<div class="col-sm-12" id="abstract${article.oId}">
${article.articleAbstract}
</div>
@@ -48,20 +48,20 @@
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-4">
<#if 1 < paginationCurrentPageNum>
<#assign prePage = paginationCurrentPageNum - 1>
<a class="btn btn-success" href="${servePath}${path}?p=${prePage}">Newer</a>
</#if>
</div>
<div class="col-sm-4 text-right">
<#if paginationCurrentPageNum < paginationPageCount>
<#assign nextPage = paginationCurrentPageNum + 1>
<a class="btn btn-success" href="${servePath}${path}?p=${nextPage}">Older</a>
</#if>
</div>
<div class="col-sm-2"></div>
</div>
</div>
+93 -92
View File
@@ -18,106 +18,107 @@
-->
<#list articles as article>
<div class="marginBottom40">
<div class="article-header">
<div class="article-date">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")}
<#else>
${article.articleCreateDate?string("yyyy-MM-dd HH:mm")}
</#if>
</div>
<div class="arrow-right"></div>
<div class="clear"></div>
<ul>
<li>
<div class="marginBottom40">
<div class="article-header">
<div class="article-date">
${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")}
</div>
<div class="arrow-right"></div>
<div class="clear"></div>
<ul>
<li>
<span class="left">
by&nbsp;
</span>
<a rel="nofollow" class="left" title="${article.authorName}" href="${servePath}/authors/${article.authorId}">
${article.authorName}
</a>
<span class="clear"></span>
</li>
<li>
<a rel="nofollow" href="${servePath}${article.articlePermalink}" title="${viewLabel}">
${viewLabel} (${article.articleViewCount})
</a>
</li>
<li>
<a rel="nofollow" title="${commentLabel}" href="${servePath}${article.articlePermalink}#comments">
${commentLabel} (${article.articleCommentCount})
</a>
</li>
</ul>
</div>
<div class="article-main">
<h2 class="title">
<a rel="bookmark" class="no-underline" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
<a href="${servePath}${article.articlePermalink}">
${updatedLabel}
<a rel="nofollow" class="left" title="${article.authorName}"
href="${servePath}/authors/${article.authorId}">
${article.authorName}
</a>
</sup>
</#if>
</h2>
<div class="vditor-reset">
${article.articleAbstract}
<span class="clear"></span>
</li>
<li>
<a rel="nofollow" href="${servePath}${article.articlePermalink}" title="${viewLabel}">
${viewLabel} (${article.articleViewCount})
</a>
</li>
<li>
<a rel="nofollow" title="${commentLabel}" href="${servePath}${article.articlePermalink}#comments">
${commentLabel} (${article.articleCommentCount})
</a>
</li>
</ul>
</div>
<div class="read-more">
<a href="${servePath}${article.articlePermalink}">
<span class="left">${readmore2Label}</span>
<span class="read-more-icon"></span>
<span class="clear"></span>
</a>
<div class="clear"></div>
</div>
</div>
<div class="article-footer">
<h3>${tagsLabel}</h3>
<ul>
<#list article.articleTags?split(",") as articleTag>
<li>
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}
<div class="article-main">
<h2 class="title">
<a rel="bookmark" class="no-underline" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
</li>
</#list>
<li>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
<a href="${servePath}${article.articlePermalink}">
${updatedLabel}
</a>
</sup>
</#if>
</h2>
<div class="vditor-reset">
${article.articleAbstract}
</div>
<div class="read-more">
<a href="${servePath}${article.articlePermalink}">
${createDateLabel}:${article.articleCreateDate?string("yyyy-MM-dd HH:mm")}
<span class="left">${readmore2Label}</span>
<span class="read-more-icon"></span>
<span class="clear"></span>
</a>
</li>
</ul>
<div class="clear"></div>
</div>
</div>
<div class="article-footer">
<h3>${tagsLabel}</h3>
<ul>
<#list article.articleTags?split(",") as articleTag>
<li>
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}
</a>
</li>
</#list>
<li>
<a href="${servePath}${article.articlePermalink}">
<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>
${updateDateLabel}
<#else>
${createDateLabel}
</#if>:${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")}
</a>
</li>
</ul>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
</#list>
<#if 0 != paginationPageCount>
<div class="pagination">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}">${firstPageLabel}</a>
<a id="previousPage" href="${servePath}${path}?p=${paginationPreviousPageNum}">${previousPageLabel}</a>
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<a href="${servePath}${path}?p=${paginationPageNum}" class="selected">${paginationPageNum}</a>
<#else>
<a href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount>
<a id="nextPage" href="${servePath}${path}?p=${paginationNextPageNum}">${nextPagePabel}</a>
<a href="${servePath}${path}?p=${paginationPageCount}">${lastPageLabel}</a>
</#if>
&nbsp;&nbsp;${sumLabel} ${paginationPageCount} ${pageLabel}
</div>
</#if>
<div class="pagination">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}">${firstPageLabel}</a>
<a id="previousPage" href="${servePath}${path}?p=${paginationPreviousPageNum}">${previousPageLabel}</a>
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<a href="${servePath}${path}?p=${paginationPageNum}" class="selected">${paginationPageNum}</a>
<#else>
<a href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount>
<a id="nextPage" href="${servePath}${path}?p=${paginationNextPageNum}">${nextPagePabel}</a>
<a href="${servePath}${path}?p=${paginationPageCount}">${lastPageLabel}</a>
</#if>
&nbsp;&nbsp;${sumLabel} ${paginationPageCount} ${pageLabel}
</div>
</#if>
+1 -1
View File
@@ -43,7 +43,7 @@
<div class="marginBottom40">
<div class="article-header">
<div class="article-date">
${article.articleUpdateDate?string("yyyy-MM-dd HH")}
${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")}
</div>
<div class="arrow-right"></div>
<div class="clear"></div>
+27 -26
View File
@@ -30,35 +30,36 @@
<div class="item__slant"></div>
<div class="item__slant item__slant--white"></div>
<div class="item__main">
<#if article.articlePutTop>
<sup class="ft__red">
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
<a class="ft__red" href="${servePath}${article.articlePermalink}">
<span class="item__sup">
<#if article.articlePutTop>
<sup class="ft__red">
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup class="ft__red">
${updatedLabel}
</a>
</sup>
</#if>
</sup>
</#if>
</span>
<h2 class="item__title">
<a rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
</h2>
<#list article.articleTags?split(",") as articleTag>
<#if articleTag_index == 0>
<div class="ico ico--${article_index % 10}"></div>
<#if article.category??>
<a class="item__tag" href="${servePath}/category/${article.category.categoryURI}">${article.category.categoryTitle}</a>
<#else>
<a rel="tag" class="item__tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}
</a>
<#list article.articleTags?split(",") as articleTag>
<#if articleTag_index == 0>
<div class="ico ico--${article_index % 10}"></div>
<#if article.category??>
<a class="item__tag"
href="${servePath}/category/${article.category.categoryURI}">${article.category.categoryTitle}</a>
<#else>
<a rel="tag" class="item__tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}
</a>
</#if>
</#if>
</#if>
</#list>
</#list>
</div>
</div>
</article>
@@ -73,10 +74,10 @@
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span class="pagination__item pagination__item--current">${paginationPageNum}</span>
<span class="pagination__item pagination__item--current">${paginationPageNum}</span>
<#else>
<a class="pagination__item"
href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
<a class="pagination__item"
href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount>
@@ -86,4 +87,4 @@
<a href="${servePath}${path}?p=${paginationNextPageNum}" class="pagination__item">→</a>
</#if>
</nav>
</#if>
</#if>
+32 -28
View File
@@ -41,16 +41,20 @@
<div class="post wrapper wrapper--miner">
<h2 class="item__title">
<a rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
${article.articleTitle}
</a>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
<sup>
${topArticleLabel}
</sup>
</#if>
</h2>
<div class="ft__fade item__meta">
Published on
<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>
Updated on
<#else>
Published on
</#if>
<time>
<#setting locale="en_US">
${article.articleUpdateDate?string["MMM d, yyyy"]}
@@ -64,25 +68,25 @@
</#if>
</div>
<div class="item__tags">
<#list article.articleTags?split(",") as articleTag>
<a rel="tag" class="tag tag--${articleTag_index}" href="${servePath}/tags/${articleTag?url('UTF-8')}">
<b># ${articleTag}</b>
</a>
</#list>
<#list article.articleTags?split(",") as articleTag>
<a rel="tag" class="tag tag--${articleTag_index}" href="${servePath}/tags/${articleTag?url('UTF-8')}">
<b># ${articleTag}</b>
</a>
</#list>
</div>
<div class="vditor-reset">
${article.articleContent}
<#if "" != article.articleSign.signHTML?trim>
<div>
${article.articleSign.signHTML}
</div>
</#if>
${article.articleContent}
<#if "" != article.articleSign.signHTML?trim>
<div>
${article.articleSign.signHTML}
</div>
</#if>
</div>
</div>
<div class="post__toc">
<#if article?? && article.articleToC?? && article.articleToC?size &gt; 0>
<#include "../../common-template/toc.ftl"/>
</#if>
<#if article?? && article.articleToC?? && article.articleToC?size &gt; 0>
<#include "../../common-template/toc.ftl"/>
</#if>
</div>
<div class="body--gray post__gray">
<div class="wrapper comment">
@@ -118,17 +122,17 @@
</span>
<span class="post__arrow">
<#if previousArticlePermalink??>
<a href="${servePath}${previousArticlePermalink}" rel="prev"
class="vditor-tooltipped__n vditor-tooltipped"
pjax-title="${previousArticleTitle}"
aria-label="${previousArticleLabel}: ${previousArticleTitle}">←</a>
<a href="${servePath}${previousArticlePermalink}" rel="prev"
class="vditor-tooltipped__n vditor-tooltipped"
pjax-title="${previousArticleTitle}"
aria-label="${previousArticleLabel}: ${previousArticleTitle}">←</a>
</#if>
<#if nextArticlePermalink??>
<a href="${servePath}${nextArticlePermalink}" rel="next"
class="vditor-tooltipped__n vditor-tooltipped"
pjax-title="${nextArticleTitle}"
aria-label="${nextArticleLabel}: ${nextArticleTitle}">→</a>
<a href="${servePath}${nextArticlePermalink}" rel="next"
class="vditor-tooltipped__n vditor-tooltipped"
pjax-title="${nextArticleTitle}"
aria-label="${nextArticleLabel}: ${nextArticleTitle}">→</a>
</#if>
<a href="javascript:Util.goTop()" class="vditor-tooltipped__n vditor-tooltipped"
aria-label="${goTopLabel}">↑</a>
@@ -137,7 +141,7 @@
</span>
</div>
</div>
<#if pjax><!---- pjax {#pjax} end ----></#if>
<#if pjax><!---- pjax {#pjax} end ----></#if>
</main>
<#include "footer.ftl">
+1 -1
View File
@@ -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::beforeLine truncated
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::beforeLine truncated
+6 -1
View File
@@ -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 {
}
}
}
}
}
+1 -9
View File
@@ -38,18 +38,10 @@
</h2>
<div class="posttime-blue">
<div class="posttime-MY">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yyyy-MM")}
<#else>
${article.articleCreateDate?string("yyyy-MM")}
</#if>
</div>
<div class="posttime-D">
<#if article.hasUpdated>
${article.articleUpdateDate?string("dd")}
<#else>
${article.articleCreateDate?string("dd")}
</#if>
</div>
</div>
<div class="article-abstract">
@@ -110,4 +102,4 @@
</#if>
&nbsp;&nbsp;${sumLabel} ${paginationPageCount} ${pageLabel}
</div>
</#if>
</#if>
+1 -5
View File
@@ -44,11 +44,7 @@
</a>
<span class="dateIcon"></span>
<span class="left">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yyyy-MM-dd HH:mm:ss")}
<#else>
${article.articleCreateDate?string("yyyy-MM-dd HH:mm:ss")}
</#if>
</span>
</div>
<div class="right">
@@ -100,4 +96,4 @@
</#if>
&nbsp;&nbsp;${sumLabel} ${paginationPageCount} ${pageLabel}
</div>
</#if>
</#if>
-4
View File
@@ -24,11 +24,7 @@
<div class="article-abstract article-image">
<div class="fn-clear">
<div class="article-date" data-ico="&#xe200;">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yy-MM-dd HH:mm")}
<#else>
${article.articleCreateDate?string("yy-MM-dd HH:mm")}
</#if>
</div>
<div class="fn-right">
<a rel="nofollow" data-ico="&#xe14e;" href="${servePath}${article.articlePermalink}#comments">
+54 -51
View File
@@ -19,70 +19,73 @@
-->
<section class="posts-expand">
<#list articles as article>
<article class="post-item">
<header>
<h2>
<a class="post-title-link" rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
<a class="post__sup" href="${servePath}${article.articlePermalink}">
${updatedLabel}
</a>
</sup>
</#if>
</h2>
<article class="post-item">
<header>
<h2>
<a class="post-title-link" rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
<a class="post__sup" href="${servePath}${article.articlePermalink}">
${updatedLabel}
</a>
</sup>
</#if>
</h2>
<div class="post-meta">
<div class="post-meta">
<span>
${article.articleCreateDate?string("yyyy-MM-dd")}
${postTimeLabel}
<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>
${updateTimeLabel}
<#else>
${postTimeLabel}
</#if>
<time>
${article.articleUpdateDate?string("yyyy-MM-dd")}
</time>
</span>
<span>
<span>
&nbsp; | &nbsp;
<a href="${servePath}${article.articlePermalink}#comments">
${article.articleCommentCount} ${cmtLabel}</a>
</span>
&nbsp; | &nbsp;${viewsLabel} ${article.articleViewCount}°C
&nbsp; | &nbsp;${viewsLabel} ${article.articleViewCount}°C
</div>
</header>
<div class="vditor-reset">
${article.articleAbstract}
</div>
</header>
<div class="vditor-reset">
${article.articleAbstract}
</div>
<div class="post-more-link">
<a href="${servePath}${article.articlePermalink}#more" rel="contents">
${readLabel} &raquo;
</a>
</div>
</article>
<div class="post-more-link">
<a href="${servePath}${article.articlePermalink}#more" rel="contents">
${readLabel} &raquo;
</a>
</div>
</article>
</#list>
</section>
<#if 0 != paginationPageCount>
<nav class="pagination">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}?p=${paginationPreviousPageNum}" class="extend next"><<</a>
<a class="page-number" href="${servePath}${path}">1</a> ...
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span class="page-number current">${paginationPageNum}</span>
<#else>
<a class="page-number" href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount> ...
<a href="${servePath}${path}?p=${paginationPageCount}" class="page-number">${paginationPageCount}</a>
<a href="${servePath}${path}?p=${paginationNextPageNum}" class="extend next">>></a>
</#if>
</nav>
<nav class="pagination">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}?p=${paginationPreviousPageNum}" class="extend next"><<</a>
<a class="page-number" href="${servePath}${path}">1</a> ...
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span class="page-number current">${paginationPageNum}</span>
<#else>
<a class="page-number" href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount> ...
<a href="${servePath}${path}?p=${paginationPageCount}" class="page-number">${paginationPageCount}</a>
<a href="${servePath}${path}?p=${paginationNextPageNum}" class="extend next">>></a>
</#if>
</nav>
</#if>
+74 -69
View File
@@ -22,110 +22,115 @@
<#include "../../common-template/macro-comment_script.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${article.articleTitle} - ${blogTitle}" description="${article.articleAbstract?html}">
<link rel="stylesheet"
href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}"/>
<head>
<@head title="${article.articleTitle} - ${blogTitle}" description="${article.articleAbstract?html}">
<link rel="stylesheet"
href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}"/>
<#if previousArticlePermalink??>
<link rel="prev" title="${previousArticleTitle}" href="${servePath}${previousArticlePermalink}">
</#if>
<#if nextArticlePermalink??>
<link rel="next" title="${nextArticleTitle}" href="${servePath}${nextArticlePermalink}">
</#if>
</@head>
</head>
<body>
<#include "header.ftl">
<main class="main">
<div class="wrapper">
<div class="content">
<article class="posts-expand">
<header class="post-header">
<h2 class="post-title">
${article.articleTitle}
<#if article.articlePutTop>
</@head>
</head>
<body>
<#include "header.ftl">
<main class="main">
<div class="wrapper">
<div class="content">
<article class="posts-expand">
<header class="post-header">
<h2 class="post-title">
${article.articleTitle}
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
</h2>
<div class="post-meta">
</#if>
</h2>
<div class="post-meta">
<span class="post-time">
${postTimeLabel}
<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>
${updateTimeLabel}
<#else>
${postTimeLabel}
</#if>
<time>
${article.articleUpdateDate?string("yyyy-MM-dd")}
</time>
</span>
<span class="post-comments-count">
<span class="post-comments-count">
&nbsp; | &nbsp;
<a href="${servePath}${article.articlePermalink}#comments">
${article.articleCommentCount} ${cmtLabel}</a>
</span>
&nbsp; | &nbsp; ${viewsLabel}
${article.articleViewCount}°C
</div>
</header>
&nbsp; | &nbsp; ${viewsLabel}
${article.articleViewCount}°C
</div>
</header>
<div class="post-body post-body--article vditor-reset">
${article.articleContent}
<#if "" != article.articleSign.signHTML?trim>
<div class="post-body post-body--article vditor-reset">
${article.articleContent}
<#if "" != article.articleSign.signHTML?trim>
<div>
${article.articleSign.signHTML}
</div>
</#if>
</div>
<footer>
<div class="post-tags">
<#list article.articleTags?split(",") as articleTag>
</#if>
</div>
<footer>
<div class="post-tags">
<#list article.articleTags?split(",") as articleTag>
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}</a>
</#list>
</div>
<div class="post-nav fn-clear">
<#if previousArticlePermalink??>
</#list>
</div>
<div class="post-nav fn-clear">
<#if previousArticlePermalink??>
<div class="post-nav-prev post-nav-item fn-right">
<a href="${servePath}${previousArticlePermalink}" rel="prev" title="${previousArticleTitle}">
<a href="${servePath}${previousArticlePermalink}" rel="prev"
title="${previousArticleTitle}">
${previousArticleTitle} >
</a>
</div>
</#if>
<#if nextArticlePermalink??>
</#if>
<#if nextArticlePermalink??>
<div class="post-nav-next post-nav-item fn-left">
<a href="${servePath}${nextArticlePermalink}" rel="next" title="${nextArticleTitle}">
< ${nextArticleTitle}
< ${nextArticleTitle}
</a>
</div>
</#if>
</div>
</footer>
</article>
</div>
<@comments commentList=articleComments article=article></@comments>
<#if 0 != relevantArticlesDisplayCount>
</#if>
</div>
</footer>
</article>
</div>
<@comments commentList=articleComments article=article></@comments>
<#if 0 != relevantArticlesDisplayCount>
<div id="relevantArticles"></div>
</#if>
<#if 0 != randomArticlesDisplayCount>
<div id="randomArticles"></div>
</#if>
<#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount>
<div id="externalRelevantArticles"></div>
</#if>
<#include "side.ftl">
</div>
</main>
<#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></#list>");
</#if>
<#if 0 != randomArticlesDisplayCount>
<div id="randomArticles"></div>
</#if>
<#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount>
<div id="externalRelevantArticles"></div>
</#if>
<#include "side.ftl">
</div>
</main>
<#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></#list>");
</#if>
<#if 0 != randomArticlesDisplayCount>
page.loadRandomArticles();
</#if>
<#if 0 != relevantArticlesDisplayCount>
</#if>
<#if 0 != relevantArticlesDisplayCount>
page.loadRelevantArticles('${article.oId}', '<h4>${relevantArticles1Label}</h4>');
</#if>
NexT.initArticle()
</@comment_script>
</body>
</#if>
NexT.initArticle()
</@comment_script>
</body>
</html>
+2 -1
View File
@@ -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
+2 -1
View File
@@ -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
+2 -4
View File
@@ -39,13 +39,11 @@
<section class="meta">
<p>
${author1Label}<a rel="nofollow" href="${servePath}/authors/${article.authorId}">${article.authorName}</a> |
<#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")}
</#if> | ${viewCount1Label} <a rel="nofollow" href="${servePath}${article.articlePermalink}">
</#if> ${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")} | ${viewCount1Label} <a rel="nofollow" href="${servePath}${article.articlePermalink}">
<span class="left article-browserIcon" title="${viewLabel}"></span>
${article.articleViewCount}
</a> | ${commentCount1Label}
+5 -1
View File
@@ -51,7 +51,11 @@
<section class="meta">
<p>
${author1Label}<a rel="nofollow" href="${servePath}/authors/${article.authorId}">${article.authorName}</a> |
${updateDateLabel}:${article.articleUpdateDate?string("yyyy-MM-dd HH:mm:ss")}
<#if article.articleCreateDate?datetime != article.articleUpdateDate?datetime>
${updateDateLabel}:
<#else>
${createDateLabel}:
</#if>${article.articleUpdateDate?string("yyyy-MM-dd HH:mm")} |
${viewCount1Label}<a rel="nofollow" href="${servePath}${article.articlePermalink}">
<span class="left article-browserIcon" title="${viewLabel}"></span>
${article.articleViewCount}
+4 -4
View File
@@ -49,7 +49,7 @@
<span class="article-archive">
<#if "en" == localeString?substring(0, 2)>
${archiveDate.monthName} ${archiveDate.archiveDateYear}
<#else>
<#else>
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}
</#if>
</span>
@@ -62,7 +62,7 @@
<div class="arrow"></div>
<time class="article-time">
<span>
${article.articleCreateDate?string("yy-MM-dd HH:mm")}
${article.articleUpdateDate?string("yy-MM-dd HH:mm")}
</span>
</time>
<h3 class="article-title">
@@ -108,10 +108,10 @@
</div>
</article>
<#if paginationCurrentPageNum != paginationPageCount && 0 != paginationPageCount && !article_has_next>
<div class="article-more" onclick="timeline.getNextPage(this, '${article.articleCreateDate?string("yyyy/MM")}')" data-page="${paginationCurrentPageNum}">${moreLabel}</div>
<div class="article-more" onclick="timeline.getNextPage(this, '${article.articleUpdateDate?string("yyyy/MM")}')" data-page="${paginationCurrentPageNum}">${moreLabel}</div>
</#if>
</#if>
</#list>
</#list>
</div>
</#list>
</div>
+1 -5
View File
@@ -38,11 +38,7 @@
</div>
<div class="left article-info">
<div class="article-date">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yyyy-MM-dd")}<br>${article.articleUpdateDate?string("HH:mm:ss")}
<#else>
${article.articleCreateDate?string("yyyy-MM-dd")}<br>${article.articleCreateDate?string("HH:mm:ss")}
</#if>
</div>
<div class="article-comment">
<a rel="nofollow" href="${servePath}${article.articlePermalink}#comments">
@@ -88,4 +84,4 @@
</div>
<#else>
&nbsp;
</#if>
</#if>