2018-05-23 08:43:12 +08:00
|
|
|
<#--
|
|
|
|
|
2018-08-23 09:08:13 +08:00
|
|
|
Solo - A small and beautiful blogging system written in Java.
|
2019-04-02 09:36:01 +08:00
|
|
|
Copyright (c) 2010-present, b3log.org
|
2018-05-23 08:43:12 +08:00
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Affero General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU Affero General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
-->
|
2019-03-21 17:55:48 +08:00
|
|
|
<#include "../../common-template/macro-common_head.ftl">
|
2013-02-20 16:42:27 +08:00
|
|
|
<#include "macro-comments.ftl">
|
2019-03-20 07:59:29 +08:00
|
|
|
<#include "../../common-template/macro-comment_script.ftl">
|
2013-02-20 16:42:27 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
2019-03-22 18:53:35 +08:00
|
|
|
<head>
|
2019-03-21 17:55:48 +08:00
|
|
|
<@head title="${article.articleTitle} - ${blogTitle}" description="${article.articleAbstract?html}">
|
|
|
|
<link rel="stylesheet"
|
|
|
|
href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}"/>
|
2017-04-11 13:41:38 +08:00
|
|
|
<#if previousArticlePermalink??>
|
|
|
|
<link rel="prev" title="${previousArticleTitle}" href="${servePath}${previousArticlePermalink}">
|
|
|
|
</#if>
|
|
|
|
<#if nextArticlePermalink??>
|
|
|
|
<link rel="next" title="${nextArticleTitle}" href="${servePath}${nextArticlePermalink}">
|
|
|
|
</#if>
|
2019-03-21 17:55:48 +08:00
|
|
|
</@head>
|
2019-03-22 18:53:35 +08:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
${topBarReplacement}
|
2013-02-20 16:42:27 +08:00
|
|
|
<#include "header.ftl">
|
2019-03-22 18:53:35 +08:00
|
|
|
<div class="wrapper">
|
|
|
|
<div class="container">
|
|
|
|
<div class="fn-clear">
|
|
|
|
<div<#if article?? && article.articleToC?? && article.articleToC?size > 0> class="dynamic-l"</#if>>
|
2013-02-20 16:42:27 +08:00
|
|
|
<div class="module">
|
|
|
|
<article class="article">
|
|
|
|
<time class="article-time">
|
|
|
|
<span>
|
2019-08-27 17:37:53 +08:00
|
|
|
${article.articleUpdateDate?string("yy-MM-dd HH:mm")}
|
2013-02-20 16:42:27 +08:00
|
|
|
</span>
|
|
|
|
</time>
|
|
|
|
<h2 class="article-title">
|
|
|
|
<a href="${servePath}${article.articlePermalink}">
|
2019-03-22 18:53:35 +08:00
|
|
|
${article.articleTitle}
|
2013-02-20 16:42:27 +08:00
|
|
|
</a>
|
|
|
|
<#if article.articlePutTop>
|
|
|
|
<sup>
|
|
|
|
${topArticleLabel}
|
|
|
|
</sup>
|
|
|
|
</#if>
|
|
|
|
</h2>
|
2019-08-02 22:16:31 +08:00
|
|
|
<br>
|
2019-03-16 18:28:32 +08:00
|
|
|
<div class="vditor-reset">
|
2019-03-22 18:53:35 +08:00
|
|
|
${article.articleContent}
|
2013-02-20 16:42:27 +08:00
|
|
|
</div>
|
|
|
|
<#if "" != article.articleSign.signHTML?trim>
|
|
|
|
<p>
|
|
|
|
${article.articleSign.signHTML}
|
|
|
|
</p>
|
|
|
|
</#if>
|
|
|
|
<span class="ico-tags ico" title="${tagLabel}">
|
2019-03-22 18:53:35 +08:00
|
|
|
<#list article.articleTags?split(",") as articleTag>
|
|
|
|
<a rel="tag"
|
|
|
|
href="${servePath}/tags/${articleTag?url('UTF-8')}">${articleTag}</a>
|
|
|
|
<#if articleTag_has_next>,</#if>
|
|
|
|
</#list>
|
2013-02-20 16:42:27 +08:00
|
|
|
</span>
|
|
|
|
<span class="ico-author ico" title="${authorLabel}">
|
|
|
|
<a rel="author" href="${servePath}/authors/${article.authorId}">${article.authorName}</a>
|
|
|
|
</span>
|
|
|
|
<span class="ico-comment ico" title="${commentLabel}">
|
|
|
|
|
|
|
|
<a rel="nofollow" href="${servePath}${article.articlePermalink}#comments">
|
|
|
|
<#if article.articleCommentCount == 0>
|
2019-03-22 18:53:35 +08:00
|
|
|
${noCommentLabel}
|
2013-02-20 16:42:27 +08:00
|
|
|
<#else>
|
2019-03-22 18:53:35 +08:00
|
|
|
${article.articleCommentCount}
|
2013-02-20 16:42:27 +08:00
|
|
|
</#if>
|
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
<span class="ico-view ico" title="${viewLabel}">
|
|
|
|
<a rel="nofollow" href="${servePath}${article.articlePermalink}">
|
2019-03-22 18:53:35 +08:00
|
|
|
${article.articleViewCount}
|
2013-02-20 16:42:27 +08:00
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
</article>
|
|
|
|
<div class="fn-clear" style="margin-top: 30px;">
|
|
|
|
<#if nextArticlePermalink??>
|
|
|
|
<div class="left">
|
|
|
|
<a href="${servePath}${nextArticlePermalink}">
|
|
|
|
<span class="ico-pre">«</span>
|
2013-06-06 17:47:57 +08:00
|
|
|
<span class="ft-pre">${nextArticleTitle}</span>
|
2013-02-20 16:42:27 +08:00
|
|
|
</a>
|
|
|
|
</div>
|
2019-03-22 18:53:35 +08:00
|
|
|
</#if>
|
2013-02-20 16:42:27 +08:00
|
|
|
<#if previousArticlePermalink??>
|
|
|
|
<div class="right">
|
|
|
|
<a href="${servePath}${previousArticlePermalink}">
|
2013-06-06 17:47:57 +08:00
|
|
|
<span class="left ft-next">${previousArticleTitle}</span>
|
2013-02-20 16:42:27 +08:00
|
|
|
<span class="ico-next">»</span>
|
2019-03-22 18:53:35 +08:00
|
|
|
</a>
|
2013-02-20 16:42:27 +08:00
|
|
|
</div>
|
|
|
|
</#if>
|
|
|
|
</div>
|
2019-02-17 14:24:45 +08:00
|
|
|
<#if 0 != relevantArticlesDisplayCount>
|
|
|
|
<div id="relevantArticles"></div>
|
|
|
|
</#if>
|
|
|
|
<#if 0 != randomArticlesDisplayCount>
|
|
|
|
<div id="randomArticles"></div>
|
|
|
|
</#if>
|
|
|
|
<#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount>
|
2016-08-23 17:29:32 +08:00
|
|
|
<div id="externalRelevantArticles"></div>
|
2019-02-17 14:24:45 +08:00
|
|
|
</#if>
|
2013-02-20 16:42:27 +08:00
|
|
|
<@comments commentList=articleComments article=article></@comments>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-03-22 18:53:35 +08:00
|
|
|
<#if article?? && article.articleToC?? && article.articleToC?size > 0>
|
|
|
|
<div class="dynamic-r">
|
|
|
|
<div class="module">
|
|
|
|
<h3 class="title">${tocLabel}</h3>
|
|
|
|
<#include "../../common-template/toc.ftl"/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</#if>
|
2013-02-20 16:42:27 +08:00
|
|
|
</div>
|
2019-03-22 18:53:35 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
2013-02-20 16:42:27 +08:00
|
|
|
<#include "footer.ftl">
|
2019-02-11 01:02:12 +08:00
|
|
|
<@comment_script oId=article.oId commentable=article.commentable>
|
2013-02-20 16:42:27 +08:00
|
|
|
page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}";
|
2019-03-22 18:53:35 +08:00
|
|
|
<#if 0 != externalRelevantArticlesDisplayCount>
|
2016-08-23 17:29:32 +08:00
|
|
|
page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,</#if></#list>");
|
2019-03-22 18:53:35 +08:00
|
|
|
</#if>
|
|
|
|
<#if 0 != randomArticlesDisplayCount>
|
2019-02-17 14:24:45 +08:00
|
|
|
page.loadRandomArticles();
|
2019-03-22 18:53:35 +08:00
|
|
|
</#if>
|
|
|
|
<#if 0 != relevantArticlesDisplayCount>
|
2019-02-17 14:24:45 +08:00
|
|
|
page.loadRelevantArticles('${article.oId}', '<h4>${relevantArticles1Label}</h4>');
|
2019-03-22 18:53:35 +08:00
|
|
|
</#if>
|
|
|
|
</@comment_script>
|
|
|
|
</body>
|
2013-02-20 16:42:27 +08:00
|
|
|
</html>
|