134 lines
5.8 KiB
Plaintext
134 lines
5.8 KiB
Plaintext
<#--
|
|
|
|
Solo - A small and beautiful blogging system written in Java.
|
|
Copyright (c) 2010-2019, b3log.org & hacpai.com
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
-->
|
|
<#include "macro-head.ftl">
|
|
<#include "macro-comments.ftl">
|
|
<#include "../../common-template/macro-comment_script.ftl">
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<@head title="${article.articleTitle} - ${blogTitle}">
|
|
<meta name="keywords" content="${article.articleTags}" />
|
|
<meta name="description" content="${article.articleAbstract?html}" />
|
|
</@head>
|
|
<script src="${staticServePath}/skins/${skinDirName}/js/syntaxhighlighter/scripts/shCore.js"></script>
|
|
<script src="${staticServePath}/skins/${skinDirName}/js/syntaxhighlighter/scripts/shBrushJScript.js"></script>
|
|
<script src="${staticServePath}/skins/${skinDirName}/js/syntaxhighlighter/scripts/shBrushJava.js"></script>
|
|
<script src="${staticServePath}/skins/${skinDirName}/js/syntaxhighlighter/scripts/shBrushJScript.js"></script>
|
|
<script src="${staticServePath}/skins/${skinDirName}/js/syntaxhighlighter/scripts/shBrushXml.js"></script>
|
|
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/js/syntaxhighlighter/styles/shCoreDefault.css" charset="utf-8" />
|
|
<script type="text/javascript">SyntaxHighlighter.all();</script>
|
|
</head>
|
|
<body>
|
|
${topBarReplacement}
|
|
<#include "header.ftl">
|
|
<div id="wrapper">
|
|
<a href="${servePath}" class="header mhidden"><img src="${staticServePath}/skins/${skinDirName}/images/ghead.png"></a>
|
|
<div id="container" class="cl">
|
|
<div class="body">
|
|
<ul class="breadcrumb">
|
|
<li><a href="${servePath}">首页</a> <span class="divider">/</span></li>
|
|
<li style="color:#333333">
|
|
${article.articleTitle}</li>
|
|
<li class='y'>
|
|
${tag1Label}
|
|
<#list article.articleTags?split(",") as articleTag>
|
|
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">${articleTag}</a><#if articleTag_has_next>,</#if>
|
|
</#list>
|
|
</li>
|
|
|
|
</ul>
|
|
<div class="content">
|
|
<div class="post-7 post type-post status-publish format-standard hentry category-uncategorized" style="position: relative; z-index: 1;">
|
|
<header class="entry-header">
|
|
<h2 class="entry-title">${article.articleTitle}</h2>
|
|
<!--<#if article.hasUpdated>
|
|
<sup>
|
|
${updatedLabel}
|
|
</sup>
|
|
</#if>
|
|
<#if article.articlePutTop>
|
|
<sup>
|
|
${topArticleLabel}
|
|
</sup>
|
|
</#if>-->
|
|
|
|
</header>
|
|
<div class="entry-content">
|
|
<div class="vditor-reset">
|
|
${article.articleContent}
|
|
<#if "" != article.articleSign.signHTML?trim>
|
|
<p>
|
|
${article.articleSign.signHTML}
|
|
</p>
|
|
</#if>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<footer style="width:100%">
|
|
<p class="entry-meta" >
|
|
<#if article.hasUpdated>
|
|
${article.articleUpdateDate?string("yy-MM-dd HH:mm")}
|
|
<#else>
|
|
${article.articleCreateDate?string("yy-MM-dd HH:mm")}
|
|
</#if>
|
|
<a rel="nofollow" href="${servePath}/authors/${article.authorId}">${article.authorName}</a>
|
|
|
|
<a href="${servePath}${article.articlePermalink}#comments">
|
|
${article.articleCommentCount} ${commentLabel}
|
|
</a>
|
|
<a href="${servePath}${article.articlePermalink}">
|
|
${article.articleViewCount} ${viewLabel}
|
|
</a>
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
<ul class="breadcrumb">
|
|
<li class='active' >
|
|
<#if nextArticlePermalink??>
|
|
<a href="${servePath}${nextArticlePermalink}"><span class="ft-gray"><</span>${nextArticleTitle}</a>
|
|
</#if>
|
|
</li>
|
|
<li class='y active'>
|
|
<#if previousArticlePermalink??>
|
|
<a href="${servePath}${previousArticlePermalink}">${previousArticleTitle} <span class="ft-gray">></span></a>
|
|
</#if>
|
|
</li>
|
|
</ul>
|
|
<@comments commentList=articleComments article=article></@comments>
|
|
|
|
</div>
|
|
</div>
|
|
<#include "footer.ftl">
|
|
</div>
|
|
<@comment_script oId=article.oId commentable=article.commentable>
|
|
page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}";
|
|
<#if 0 != randomArticlesDisplayCount>
|
|
page.loadRandomArticles('<h4 class="ft-gray">${randomArticlesLabel}</h4>');
|
|
</#if>
|
|
<#if 0 != relevantArticlesDisplayCount>
|
|
page.loadRelevantArticles('${article.oId}', '<h4 class="ft-gray">${relevantArticlesLabel}</h4>');
|
|
</#if>
|
|
<#if 0 != externalRelevantArticlesDisplayCount>
|
|
page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,</#if></#list>");
|
|
</#if>
|
|
</@comment_script>
|
|
</body>
|
|
</html>
|