42 Commits

Author SHA1 Message Date
Liang Ding
c0348449da 发布 v3.3.0 2019-03-17 20:50:31 +08:00
Liang Ding
a7a63eff28 🎨 可配置 favicon URL 2019-03-17 20:32:32 +08:00
Van
5153f220f2 ⬆️ 2019-03-16 20:23:15 +08:00
Van
46ced95f46 ⬆️ https://github.com/b3log/solo/issues/12698 2019-03-16 20:04:47 +08:00
Van
7368e5b747 ⬆️ https://github.com/b3log/solo/issues/12711 2019-03-16 18:28:32 +08:00
Van
32d9065772 fix https://github.com/b3log/solo/issues/12705 2019-03-16 12:09:57 +08:00
Van
d540b3a920 ⬆️ 2019-03-06 10:50:35 +08:00
Van
f9c09e185d ⬆️ vditor->0.3.0 2019-03-06 10:49:26 +08:00
Liang Ding
571c8f37e4 发布 v3.2.0 2019-03-05 08:34:21 +08:00
Van
0d85dfbfd1 fix https://github.com/b3log/solo/issues/12695 2019-03-04 17:25:36 +08:00
Van
a08a2f385b fix https://github.com/b3log/solo/issues/12689 2019-03-04 15:09:53 +08:00
Liang Ding
38f6da79d5 多语言 2019-03-04 11:36:02 +08:00
Liang Ding
3991aa6921 🎨 移除邮件相关功能 https://github.com/b3log/solo/issues/12690 2019-03-03 22:39:37 +08:00
Van
e4e32efbc5 💄 code style 2019-03-02 13:47:32 +08:00
Liang Ding
19bd1af82d Merge branch 'master' of https://github.com/b3log/solo-skins 2019-03-01 22:40:51 +08:00
Liang Ding
54c590391a 📝 更新 README 2019-03-01 22:40:48 +08:00
Van
1728d5c729 Merge branch 'master' of https://github.com/b3log/solo-skins 2019-03-01 17:32:06 +08:00
Van
f91ee8bfa8 fix https://github.com/b3log/solo/issues/12687 2019-03-01 17:31:55 +08:00
Liang Ding
9f23c6aa97 📝 更新 README 2019-03-01 17:27:03 +08:00
Van
646d541ea6 fix https://github.com/b3log/solo/issues/12686 2019-03-01 16:52:21 +08:00
Van
6e6507a0fb Merge branch 'master' of https://github.com/b3log/solo-skins 2019-03-01 16:49:39 +08:00
Van
ccf5e0f5bd Andrea https://github.com/b3log/solo/issues/12686 2019-03-01 16:49:37 +08:00
Van
5059125e3b metro-hot https://github.com/b3log/solo/issues/12686 2019-03-01 16:38:17 +08:00
Van
f2ff53a992 Community https://github.com/b3log/solo/issues/12686 2019-03-01 16:36:13 +08:00
Liang Ding
2f11317a5c Merge remote-tracking branch 'origin/master' 2019-03-01 16:25:52 +08:00
Liang Ding
246b8f6c04 📝 更新 README 2019-03-01 16:22:32 +08:00
Van
ce871510a4 Medium https://github.com/b3log/solo/issues/12686 2019-03-01 16:16:27 +08:00
Van
c7fd894208 tree-house https://github.com/b3log/solo/issues/12686 2019-03-01 16:12:48 +08:00
Van
8cfb727723 classic https://github.com/b3log/solo/issues/12686 2019-03-01 16:08:52 +08:00
Van
b91e25561e yilia https://github.com/b3log/solo/issues/12686 2019-03-01 15:57:28 +08:00
Van
a6b4d4a097 i-nove https://github.com/b3log/solo/issues/12686 2019-03-01 15:47:32 +08:00
Van
e84f72ea94 9IPHP https://github.com/b3log/solo/issues/12686 2019-03-01 15:41:17 +08:00
Van
71666d764f favourite https://github.com/b3log/solo/issues/12686 2019-03-01 15:30:14 +08:00
Van
e9919264dc favourite https://github.com/b3log/solo/issues/12686 2019-03-01 15:28:03 +08:00
Van
42d5306618 mobile https://github.com/b3log/solo/issues/12686 2019-03-01 13:20:06 +08:00
Van
b1a6c42c0d owmx-3.0 https://github.com/b3log/solo/issues/12686 2019-03-01 13:19:43 +08:00
Van
df3df935dd ease article https://github.com/b3log/solo/issues/12686 2019-03-01 11:24:45 +08:00
Van
2d05eb06f2 next header https://github.com/b3log/solo/issues/12686 2019-03-01 11:13:49 +08:00
Van
dd80fbf987 fix https://github.com/b3log/solo/issues/12684 2019-03-01 11:00:25 +08:00
Van
83d0ca8332 📦 2019-02-28 17:26:13 +08:00
Van
fe48ef2cf5 Merge branch 'master' of https://github.com/b3log/solo-skins 2019-02-28 16:51:25 +08:00
Van
6ce4586997 🐛 fix https://github.com/b3log/solo/issues/12679 2019-02-28 16:47:15 +08:00
250 changed files with 1761 additions and 2268 deletions

View File

@@ -57,7 +57,7 @@
</span> </span>
</div> </div>
</header> </header>
<div class="content-reset"> <div class="vditor-reset">
${article.articleAbstract} ${article.articleAbstract}
</div> </div>
<footer class="fn-clear tags"> <footer class="fn-clear tags">

View File

@@ -93,7 +93,7 @@
</div> </div>
</header> </header>
<div class="content-reset"> <div class="vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div> <div>
@@ -158,7 +158,7 @@
<#if 0 != relevantArticlesDisplayCount> <#if 0 != relevantArticlesDisplayCount>
page.loadRelevantArticles('${article.oId}', '<h4>${relevantArticlesLabel}</h4>'); page.loadRelevantArticles('${article.oId}', '<h4>${relevantArticlesLabel}</h4>');
</#if> </#if>
Skin.initArticle() Skin.initArticle('${tocLabel}', '${siteViewLabel}')
</@comment_script> </@comment_script>
</body> </body>
</html> </html>

View File

@@ -40,7 +40,7 @@
<a class="reply-btn" href="javascript:page.toggleEditor('${comment.oId}', '${comment.commentName}')">${replyLabel}</a> <a class="reply-btn" href="javascript:page.toggleEditor('${comment.oId}', '${comment.commentName}')">${replyLabel}</a>
</#if> </#if>
</div> </div>
<div class="content-reset"> <div class="vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
</main> </main>

File diff suppressed because one or more lines are too long

View File

@@ -19,11 +19,10 @@
* skin style * skin style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.0.0.0, Feb 21, 2019 * @version 1.0.0.1, Mar 16, 2019
*/ */
/* start common */ /* start common */
@import "../../../scss/reset"; @import "../../../scss/reset";
@import "../../../scss/reset-content";
@import "../../../scss/tooltipped"; @import "../../../scss/tooltipped";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
a { a {
@@ -35,7 +34,7 @@ a:hover {
color: #ff4d3a; color: #ff4d3a;
text-decoration: underline; text-decoration: underline;
} }
.content-reset a { .vditor-reset a {
color: #ff4d3a; color: #ff4d3a;
} }
.fn-pointer { .fn-pointer {
@@ -633,7 +632,7 @@ aside.has-toc > section:last-child {
min-width: 1px; min-width: 1px;
} }
.comments .content-reset { .comments .vditor-reset {
margin-top: 10px; margin-top: 10px;
} }

View File

@@ -48,7 +48,7 @@
<time class="ft-gray">${comment.commentDate?string("yyyy-MM-dd HH:mm")}</time> <time class="ft-gray">${comment.commentDate?string("yyyy-MM-dd HH:mm")}</time>
<a class="reply-btn" href="${servePath}${comment.commentSharpURL}">${viewLabel}»</a> <a class="reply-btn" href="${servePath}${comment.commentSharpURL}">${viewLabel}»</a>
</div> </div>
<div class="content-reset"> <div class="vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
</main> </main>
@@ -57,7 +57,7 @@
</#list> </#list>
</ul> </ul>
<#else> <#else>
<div class="content-reset ft-center"> <div class="vditor-reset ft-center">
${noDynamicLabel} ${noDynamicLabel}
</div> </div>
</#if> </#if>
@@ -68,7 +68,7 @@
<#include "footer.ftl"> <#include "footer.ftl">
<script> <script>
var $commentContents = $(".comments .content-reset"); var $commentContents = $(".comments .vditor-reset");
for (var i = 0; i < $commentContents.length; i++) { for (var i = 0; i < $commentContents.length; i++) {
var str = $commentContents[i].innerHTML; var str = $commentContents[i].innerHTML;
$commentContents[i].innerHTML = Util.replaceEmString(str); $commentContents[i].innerHTML = Util.replaceEmString(str);

View File

@@ -42,10 +42,10 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"skinDirName": "${skinDirName}" "skinDirName": "${skinDirName}"
}; };
Util.initSW(); Util.init()
Util.parseMarkdown();
Util.killIE(10)
</script> </script>
${plugins} ${plugins}

View File

@@ -28,10 +28,6 @@
*/ */
var Skin = { var Skin = {
_initCommon: function ($goTop) { _initCommon: function ($goTop) {
$('body').on('click', '.content-reset img', function () {
window.open(this.src);
});
var $banner = $('header .banner'), var $banner = $('header .banner'),
$navbar = $('header .navbar'); $navbar = $('header .navbar');

View File

@@ -1,18 +1 @@
/* var Skin={_initCommon:function(i){var t=$("header .banner"),n=$("header .navbar");$(window).scroll(function(){if(125<$(window).scrollTop()?i.show():i.hide(),$(window).width()<701)return!1;$(window).scrollTop()>t.height()?(n.addClass("pin"),$(".main-wrap").parent().css("margin-top","86px")):(n.removeClass("pin"),$(".main-wrap").parent().css("margin-top","0"))})},init:function(){this._initCommon($(".icon-up")),$(".navbar nav a").each(function(){this.href===location.href&&(this.className="current")}),$(".responsive .list a").each(function(){this.href===location.href&&$(this).parent().addClass("current")}),$(".responsive .icon-list").click(function(){$(".responsive .list").slideToggle()})},_initArticleCommon:function(i,t){if(0<$(".b3-solo-list li").length&&1e3<$(window).width()){$("aside").addClass("has-toc");var n='<ul class="fn-clear"><li class="current" data-tab="toc">'+i+'</li><li data-tab="site">'+t+"</li></ul><section></section>";$("aside").prepend(n);var o=$("aside section:first").html($(".b3-solo-list")),s=$("aside section:last");o.height($(window).height()-154).css({overflow:"auto",width:$("aside").width()+"px"}),s.hide(),$("aside > ul > li").click(function(){"toc"===$(this).data("tab")?s.animate({opacity:"0",top:"-50px"},300,function(){o.show().css("top","-50px"),o.animate({opacity:"1",top:"0"},300).show()}):o.animate({opacity:"0",top:"-50px"},300,function(){o.hide().css("top","-50px"),s.animate({opacity:"1",top:"0"},300).show()}).hide(),$("aside > ul > li").removeClass("current"),$(this).addClass("current")}),$(window).scroll(function(){125<$(window).scrollTop()?$("aside section:eq(0)").css({position:"fixed",top:"51px",backgroundColor:"#fff"}):$("aside section:eq(0)").css({position:"inherit",borderLeft:0})})}},initArticle:function(i,t){this._initArticleCommon(i,t)}};Skin.init();
* 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/>.
*/
var Skin={_initCommon:function(i){$("body").on("click",".content-reset img",function(){window.open(this.src)});var t=$("header .banner"),n=$("header .navbar");$(window).scroll(function(){if(125<$(window).scrollTop()?i.show():i.hide(),$(window).width()<701)return!1;$(window).scrollTop()>t.height()?(n.addClass("pin"),$(".main-wrap").parent().css("margin-top","86px")):(n.removeClass("pin"),$(".main-wrap").parent().css("margin-top","0"))})},init:function(){this._initCommon($(".icon-up")),$(".navbar nav a").each(function(){this.href===location.href&&(this.className="current")}),$(".responsive .list a").each(function(){this.href===location.href&&$(this).parent().addClass("current")}),$(".responsive .icon-list").click(function(){$(".responsive .list").slideToggle()})},_initArticleCommon:function(i,t){if(0<$(".b3-solo-list li").length&&1e3<$(window).width()){$("aside").addClass("has-toc");var n='<ul class="fn-clear"><li class="current" data-tab="toc">'+i+'</li><li data-tab="site">'+t+"</li></ul><section></section>";$("aside").prepend(n);var o=$("aside section:first").html($(".b3-solo-list")),s=$("aside section:last");o.height($(window).height()-154).css({overflow:"auto",width:$("aside").width()+"px"}),s.hide(),$("aside > ul > li").click(function(){"toc"===$(this).data("tab")?s.animate({opacity:"0",top:"-50px"},300,function(){o.show().css("top","-50px"),o.animate({opacity:"1",top:"0"},300).show()}):o.animate({opacity:"0",top:"-50px"},300,function(){o.hide().css("top","-50px"),s.animate({opacity:"1",top:"0"},300).show()}).hide(),$("aside > ul > li").removeClass("current"),$(this).addClass("current")}),$(window).scroll(function(){125<$(window).scrollTop()?$("aside section:eq(0)").css({position:"fixed",top:"51px",backgroundColor:"#fff"}):$("aside section:eq(0)").css({position:"inherit",borderLeft:0})})}},initArticle:function(i,t){this._initArticleCommon(i,t)}};Skin.init();

File diff suppressed because one or more lines are too long

View File

@@ -30,7 +30,7 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -34,7 +34,7 @@
<div class="main-wrap"> <div class="main-wrap">
<main> <main>
<article class="post"> <article class="post">
<div class="content-reset"> <div class="vditor-reset">
${page.pageContent} ${page.pageContent}
</div> </div>
<@comments commentList=pageComments article=page></@comments> <@comments commentList=pageComments article=page></@comments>

View File

@@ -20,7 +20,7 @@
<aside> <aside>
<section> <section>
<#if noticeBoard??> <#if noticeBoard??>
<div class="ad content-reset"> <div class="ad vditor-reset">
${noticeBoard} ${noticeBoard}
</div> </div>
</#if> </#if>

View File

@@ -55,7 +55,7 @@
</div> </div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<div class="article-abstract content-reset"> <div class="article-abstract vditor-reset">
${article.articleAbstract} ${article.articleAbstract}
<div class="clear"></div> <div class="clear"></div>
<a class="right underline" href="${servePath}${article.articlePermalink}"> <a class="right underline" href="${servePath}${article.articlePermalink}">

View File

@@ -92,7 +92,7 @@
</div> </div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<div class="content-reset"> <div class="vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div class="marginTop12"> <div class="marginTop12">
@@ -114,7 +114,7 @@
</a> </a>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<div> <div class="marginTop12">
<#if nextArticlePermalink??> <#if nextArticlePermalink??>
<a href="${servePath}${nextArticlePermalink}">${nextArticle1Label}${nextArticleTitle}</a> <a href="${servePath}${nextArticlePermalink}">${nextArticle1Label}${nextArticleTitle}</a>
<br> <br>

View File

@@ -36,7 +36,7 @@
onmouseout="page.hideComment('${comment.commentOriginalCommentId}')">${comment.commentOriginalCommentName}</a> onmouseout="page.hideComment('${comment.commentOriginalCommentId}')">${comment.commentOriginalCommentName}</a>
</#if> </#if>
&nbsp;${comment.commentDate2?string("yyyy-MM-dd HH:mm:ss")} &nbsp;${comment.commentDate2?string("yyyy-MM-dd HH:mm:ss")}
<div class="comment-content content-reset"> <div class="comment-content vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
<#if article.commentable> <#if article.commentable>

File diff suppressed because one or more lines are too long

View File

@@ -19,9 +19,8 @@
* skin andrea style * skin andrea style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.0.0.0, Feb 21, 2019 * @version 2.1.0.1, Mar 16, 2019
*/ */
@import "../../../scss/reset-content";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
.left { .left {
float: left; float: left;
@@ -43,6 +42,23 @@
.none { .none {
display: none; display: none;
} }
.marginLeft12 {
margin-left: 12px;
}
.marginTop12 {
margin-top: 12px;
}
.margin5 {
margin: 5px;
}
.b3-solo-list {
display: none;
}
body, dd, div, dl, h1, h2, h3, h4, h5, h6, html, img, li, ol, p, ul { body, dd, div, dl, h1, h2, h3, h4, h5, h6, html, img, li, ol, p, ul {
padding: 0; padding: 0;
margin: 0; margin: 0;
@@ -503,7 +519,7 @@ img {
} }
/* article */ /* article */
.content-reset { .vditor-reset {
border-top: 2px dashed #F1EEE9; border-top: 2px dashed #F1EEE9;
margin-top: 15px; margin-top: 15px;
overflow: hidden; overflow: hidden;
@@ -511,7 +527,7 @@ img {
line-height: 145%; line-height: 145%;
} }
.content-reset p:first-child:first-letter, .content-reset:first-letter{ .vditor-reset p:first-child:first-letter, .vditor-reset:first-letter{
font-size: 48px; font-size: 48px;
float: left; float: left;
font-weight: bold; font-weight: bold;

View File

@@ -32,6 +32,8 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"adminLabel": "${adminLabel}", "adminLabel": "${adminLabel}",
"logoutLabel": "${logoutLabel}", "logoutLabel": "${logoutLabel}",
"skinDirName": "${skinDirName}" "skinDirName": "${skinDirName}"
@@ -46,6 +48,7 @@
// init // init
$(document).ready(function () { $(document).ready(function () {
Util.init(); Util.init();
Util.setTopBar()
Util.replaceSideEm($("#naviComments li .side-comment")); Util.replaceSideEm($("#naviComments li .side-comment"));
// brush // brush

View File

@@ -32,7 +32,6 @@ commentEmotions1Label=Emotions:
commentEmotionsLabel=Emotions commentEmotionsLabel=Emotions
commentName1Label=Name: commentName1Label=Name:
commentNameLabel=Name commentNameLabel=Name
commentEmail1Label=Email:
commentURL1Label=URL: commentURL1Label=URL:
commentURLLabel=URL commentURLLabel=URL
commentContent1Label=Content: commentContent1Label=Content:

View File

@@ -33,7 +33,6 @@ commentEmotions1Label=\u8868\u60C5\uFF1A
commentEmotionsLabel=\u8868\u60C5 commentEmotionsLabel=\u8868\u60C5
commentName1Label=\u59D3\u540D\uFF1A commentName1Label=\u59D3\u540D\uFF1A
commentNameLabel=\u59D3\u540D commentNameLabel=\u59D3\u540D
commentEmail1Label=\u90AE\u7BB1\uFF1A
commentURL1Label=URL\uFF1A commentURL1Label=URL\uFF1A
commentURLLabel=URL commentURLLabel=URL
commentContent1Label=\u8BC4\u8BBA\u5185\u5BB9\uFF1A commentContent1Label=\u8BC4\u8BBA\u5185\u5BB9\uFF1A

View File

@@ -29,7 +29,7 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -37,7 +37,7 @@
<div class="main"> <div class="main">
<div class="main-content"> <div class="main-content">
<div class="article"> <div class="article">
<div class="content-reset" style="margin-top: 0px;"> <div class="vditor-reset" style="margin-top: 0px;">
${page.pageContent} ${page.pageContent}
</div> </div>
</div> </div>

View File

@@ -140,6 +140,7 @@
<h4>${archiveLabel}</h4> <h4>${archiveLabel}</h4>
<ul> <ul>
<#list archiveDates as archiveDate> <#list archiveDates as archiveDate>
<#if archiveDate_index < 10>
<li> <li>
<#if "en" == localeString?substring(0, 2)> <#if "en" == localeString?substring(0, 2)>
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}" <a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
@@ -151,6 +152,7 @@
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount})</a> ${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount})</a>
</#if> </#if>
</li> </li>
</#if>
</#list> </#list>
</ul> </ul>
</dd> </dd>

View File

@@ -79,7 +79,7 @@
</div> </div>
<div class="row article-content code-highlight"> <div class="row article-content code-highlight">
<div class="col-sm-12 content-reset" id="abstract${article.oId}"> <div class="col-sm-12 vditor-reset" id="abstract${article.oId}">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<p> <p>

View File

@@ -38,6 +38,6 @@
</#if></span> </#if></span>
</div> </div>
<div class="row code-highlight article-content content-reset">${comment.commentContent}</div> <div class="row code-highlight article-content vditor-reset">${comment.commentContent}</div>
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View File

@@ -21,10 +21,9 @@
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.0.0.0, Feb 21, 2019 * @version 2.0.0.1, Mar 16, 2019
*/ */
@import "../../../scss/reset-content";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
body, button, input, select, textarea { body, button, input, select, textarea {

View File

@@ -36,6 +36,8 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"tag1Label": "${tag1Label}", "tag1Label": "${tag1Label}",
"viewLabel": "${viewLabel}", "viewLabel": "${viewLabel}",
"commentLabel": "${commentLabel}", "commentLabel": "${commentLabel}",
@@ -53,5 +55,6 @@
<script type="text/javascript" src="${staticServePath}/skins/${skinDirName}/js/bootstrap${miniPostfix}.js?${staticResourceVersion}" charset="utf-8"></script> <script type="text/javascript" src="${staticServePath}/skins/${skinDirName}/js/bootstrap${miniPostfix}.js?${staticResourceVersion}" charset="utf-8"></script>
<script> <script>
Util.init() Util.init()
Util.setTopBar()
</script> </script>
${plugins} ${plugins}

File diff suppressed because one or more lines are too long

View File

@@ -31,7 +31,7 @@
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/bootstrap${miniPostfix}.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/bootstrap${miniPostfix}.css?${staticResourceVersion}" charset="utf-8" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -36,7 +36,7 @@
<div class="col-sm-2"></div> <div class="col-sm-2"></div>
<div class="col-sm-8 site"> <div class="col-sm-8 site">
<div class="article content-reset"> <div class="article vditor-reset">
${page.pageContent} ${page.pageContent}
</div> </div>

View File

@@ -67,7 +67,7 @@
</sup> </sup>
</#if> </#if>
</h2> </h2>
<div class="content-reset"> <div class="vditor-reset">
${article.articleAbstract} ${article.articleAbstract}
</div> </div>
<div class="read-more"> <div class="read-more">

View File

@@ -103,7 +103,7 @@
</sup> </sup>
</#if> </#if>
</h2> </h2>
<div class="content-reset"> <div class="vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div class="marginTop12"> <div class="marginTop12">

View File

@@ -35,7 +35,7 @@
</#if> </#if>
${comment.commentDate2?string("yyyy-MM-dd HH:mm:ss")} ${comment.commentDate2?string("yyyy-MM-dd HH:mm:ss")}
</div> </div>
<div class="comment-content content-reset"> <div class="comment-content vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
<div class="clear"></div> <div class="clear"></div>

File diff suppressed because one or more lines are too long

View File

@@ -20,12 +20,11 @@
* skin community style * skin community style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.0.0.0, Feb 21, 2019 * @version 2.1.0.1, Mar 16, 2019
*/ */
@import "../../../scss/reset-content";
@import "../../../scss/reset"; @import "../../../scss/reset";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
.left { .left {
float: left; float: left;
} }
@@ -47,6 +46,7 @@
.none { .none {
display: none; display: none;
} }
body { body {
background-color: #EFEFEF; background-color: #EFEFEF;
color: #555555; color: #555555;
@@ -54,7 +54,7 @@ body {
} }
a, a:link { a, a:link {
color:#000000; color: #000000;
text-decoration: none; text-decoration: none;
} }
@@ -66,6 +66,7 @@ a:active, a:visited {
a:hover { a:hover {
text-decoration: underline; text-decoration: underline;
} }
img { img {
max-width: 100%; max-width: 100%;
vertical-align: middle; vertical-align: middle;
@@ -75,12 +76,13 @@ img {
overflow: hidden; overflow: hidden;
font-size: 12px; font-size: 12px;
} }
.content { .content {
width: 940px; width: 940px;
margin: 0 auto; margin: 0 auto;
} }
.content>h2 { .content > h2 {
margin: -20px 0 20px 0; margin: -20px 0 20px 0;
} }
@@ -99,14 +101,14 @@ img {
} }
input[type='button'] { input[type='button'] {
border-radius:5px; border-radius: 5px;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 0 2px rgba(255, 255, 255, 0.3) inset, 0 1px 2px rgba(0, 0, 0, 0.29); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 0 2px rgba(255, 255, 255, 0.3) inset, 0 1px 2px rgba(0, 0, 0, 0.29);
background-color: #000000; background-color: #000000;
background-image: linear-gradient(top,#333333,#000000); background-image: linear-gradient(top, #333333, #000000);
background-image: -moz-linear-gradient(top,#333333,#000000); background-image: -moz-linear-gradient(top, #333333, #000000);
background-image: -ms-linear-gradient(top,#333333,#000000); background-image: -ms-linear-gradient(top, #333333, #000000);
background-image: -o-linear-gradient(top,#333333,#000000); background-image: -o-linear-gradient(top, #333333, #000000);
background-image: -webkit-gradient(linear,left top,left bottom,from(#333333),to(#000000)); background-image: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#000000));
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#000000'); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#000000');
border: 1px solid #000000; border: 1px solid #000000;
color: white; color: white;
@@ -117,11 +119,11 @@ input[type='button'] {
input[type='button']:hover { input[type='button']:hover {
background-color: #333333; background-color: #333333;
background-image: linear-gradient(top,#333333,#212121); background-image: linear-gradient(top, #333333, #212121);
background-image: -moz-linear-gradient(top,#333333,#212121); background-image: -moz-linear-gradient(top, #333333, #212121);
background-image: -ms-linear-gradient(top,#333333,#212121); background-image: -ms-linear-gradient(top, #333333, #212121);
background-image: -o-linear-gradient(top,#333333,#212121); background-image: -o-linear-gradient(top, #333333, #212121);
background-image: -webkit-gradient(linear,left top,left bottom,from(#333333),to(#212121)); background-image: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#212121));
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#212121'); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#212121');
} }
@@ -244,27 +246,27 @@ a.header-title {
background-color: #FFFFFF; background-color: #FFFFFF;
border-bottom: 1px solid #E3E3E3; border-bottom: 1px solid #E3E3E3;
border-right: 1px solid #E3E3E3; border-right: 1px solid #E3E3E3;
margin-right:20px; margin-right: 20px;
padding: 20px 20px 0; padding: 20px 20px 0;
width: 499px; width: 499px;
float: left; float: left;
overflow: hidden; overflow: hidden;
} }
.content-reset { .vditor-reset {
line-height: 145%; line-height: 145%;
} }
.content-reset a { .vditor-reset a {
color: #075181; color: #075181;
} }
.content-reset a:hover { .vditor-reset a:hover {
color: #68ADD5; color: #68ADD5;
} }
.article-main h2.title { .article-main h2.title {
font: bold 30px Arial,Helvetica,sans-serif; font: bold 30px Arial, Helvetica, sans-serif;
margin: 0 0 20px; margin: 0 0 20px;
} }
@@ -273,7 +275,7 @@ a.header-title {
} }
.read-more a { .read-more a {
background-color:#F2F2F2; background-color: #F2F2F2;
color: #333333; color: #333333;
font-size: 12px; font-size: 12px;
padding: 8px 18px 8px 12px; padding: 8px 18px 8px 12px;
@@ -289,7 +291,7 @@ a.header-title {
.article-footer h3 { .article-footer h3 {
background: url("../images/indentline-light.png") repeat-x scroll left bottom transparent; background: url("../images/indentline-light.png") repeat-x scroll left bottom transparent;
font-size: 17px; font-size: 17px;
padding: 25px 0 10px; padding: 10px 0;
} }
.article-footer ul { .article-footer ul {
@@ -323,6 +325,7 @@ a.header-title {
padding: 0 3px; padding: 0 3px;
text-decoration: none; text-decoration: none;
} }
.pagination a.selected { .pagination a.selected {
font-weight: bold; font-weight: bold;
} }
@@ -346,17 +349,20 @@ a.header-title {
border-bottom: 1px solid #E3E3E3; border-bottom: 1px solid #E3E3E3;
border-right: 1px solid #E3E3E3; border-right: 1px solid #E3E3E3;
margin: 40px 0 40px 181px; margin: 40px 0 40px 181px;
padding:20px; padding: 20px;
width: 716px; width: 716px;
} }
.article-detail-footer>a{ .article-detail-footer > a {
font-weight: bold; font-weight: bold;
} }
.article-relative { .article-relative {
margin-top: 20px; margin-top: 20px;
width: 360px; width: 360px;
li {
list-style: none;
}
} }
.article-relative h4 { .article-relative h4 {
@@ -374,11 +380,12 @@ a.header-title {
padding-top: 30px; padding-top: 30px;
position: relative; position: relative;
} }
#comments>div{
#comments > div {
margin-top: 10px; margin-top: 10px;
} }
#comments>div>img { #comments > div > img {
height: 80px; height: 80px;
width: 80px; width: 80px;
margin: 1px 10px 10px 0; margin: 1px 10px 10px 0;
@@ -391,7 +398,7 @@ a.header-title {
padding: 20px; padding: 20px;
width: 798px; width: 798px;
margin-bottom: 10px; margin-bottom: 10px;
word-wrap:break-word; word-wrap: break-word;
overflow: hidden; overflow: hidden;
} }
@@ -404,7 +411,7 @@ a.header-title {
} }
#comments .comment-panel .reply a { #comments .comment-panel .reply a {
border-radius:5px; border-radius: 5px;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 0 2px rgba(255, 255, 255, 0.3) inset, 0 1px 2px rgba(0, 0, 0, 0.29); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 0 2px rgba(255, 255, 255, 0.3) inset, 0 1px 2px rgba(0, 0, 0, 0.29);
background-color: #EEEEEE; background-color: #EEEEEE;
border: 1px solid #888888; border: 1px solid #888888;
@@ -426,7 +433,7 @@ a.header-title {
opacity: 0.9; opacity: 0.9;
} }
#comments .comment-body-ref .comment-panel{ #comments .comment-body-ref .comment-panel {
border-width: 0px; border-width: 0px;
margin-bottom: 0; margin-bottom: 0;
width: 620px; width: 620px;
@@ -454,8 +461,9 @@ a.header-title {
color: #666666; color: #666666;
padding: 10px 7px; padding: 10px 7px;
background-color: #FFFFFF; background-color: #FFFFFF;
font-family: Arial,Helvetica,sans-serif; font-family: Arial, Helvetica, sans-serif;
width: 723px; width: 100%;
box-sizing: border-box;
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
font-size: 12px; font-size: 12px;
height: 16px; height: 16px;
@@ -475,6 +483,7 @@ a.header-title {
#commentValidate, #commentValidateReply { #commentValidate, #commentValidateReply {
width: 240px; width: 240px;
} }
/* footer secondary */ /* footer secondary */
.footer-secondary { .footer-secondary {
background: url("../images/indentline-light.png") repeat-x scroll left top #DEDEDE; background: url("../images/indentline-light.png") repeat-x scroll left top #DEDEDE;
@@ -497,14 +506,8 @@ a.header-title {
float: left; float: left;
width: 700px; width: 700px;
margin-left: 65px; margin-left: 65px;
word-break:break-all; word-break: break-all;
word-wrap:break-word; word-wrap: break-word;
}
.most-view-count-articles a {
font: 18px ;
margin-right: 20px;
font-weight: bold;
} }
.most-view-count-articles sup { .most-view-count-articles sup {
@@ -526,7 +529,7 @@ a.header-title {
line-height: 22px; line-height: 22px;
} }
.recent-comments img, #comments>div>img { .recent-comments img, #comments > div > img {
background-color: #FFFFFF; background-color: #FFFFFF;
border-bottom: 1px solid #C2C2C2; border-bottom: 1px solid #C2C2C2;
border-right: 1px solid #C2C2C2; border-right: 1px solid #C2C2C2;
@@ -535,7 +538,7 @@ a.header-title {
height: 75px; height: 75px;
} }
.recent-comments img:hover, #comments>div>img:hover { .recent-comments img:hover, #comments > div > img:hover {
border-color: #5A5A5A; border-color: #5A5A5A;
} }
@@ -546,11 +549,11 @@ a.header-title {
} }
.footer-block { .footer-block {
margin-right: 20px; margin: 0 10px 20px 10px;
width: 220px; width: 22%;
} }
.footer-block h4{ .footer-block h4 {
font: bold 18px ; font: bold 18px ;
color: #000000; color: #000000;
height: 25px; height: 25px;
@@ -569,11 +572,11 @@ a.header-title {
background: url("../images/indentline-light.png") repeat-x scroll left bottom transparent; background: url("../images/indentline-light.png") repeat-x scroll left bottom transparent;
} }
.footer-block li.mostUsedTags a{ .footer-block li.mostUsedTags a {
padding-left: 20px; padding-left: 20px;
} }
.footer-block li img{ .footer-block li img {
cursor: pointer; cursor: pointer;
height: 16px; height: 16px;
left: 0px; left: 0px;
@@ -654,6 +657,7 @@ a.header-title {
background-repeat: no-repeat; background-repeat: no-repeat;
float: left; float: left;
} }
.read-more-icon { .read-more-icon {
background-position: 0 -22px; background-position: 0 -22px;
height: 12px; height: 12px;
@@ -703,11 +707,11 @@ a.header-title {
width: 64px; width: 64px;
background-image: url("../images/author-header.png"); background-image: url("../images/author-header.png");
float: right; float: right;
white-space:normal; white-space: normal;
text-align: center; text-align: center;
word-break:break-all; word-break: break-all;
padding-top: 6px; padding-top: 6px;
word-wrap:break-word; word-wrap: break-word;
font-weight: bold; font-weight: bold;
} }

View File

@@ -59,6 +59,8 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"adminLabel": "${adminLabel}", "adminLabel": "${adminLabel}",
"logoutLabel": "${logoutLabel}", "logoutLabel": "${logoutLabel}",
"skinDirName": "${skinDirName}" "skinDirName": "${skinDirName}"
@@ -80,6 +82,7 @@
} }
Util.init(); Util.init();
Util.setTopBar()
$(".footer-block").each(function (num) { $(".footer-block").each(function (num) {
var $lis = $(this).find("li"); var $lis = $(this).find("li");

View File

@@ -32,7 +32,6 @@ commentEmotions1Label=Emotions:
commentEmotionsLabel=Emotions commentEmotionsLabel=Emotions
commentName1Label=Name: commentName1Label=Name:
commentNameLabel=Name commentNameLabel=Name
commentEmail1Label=Email:
commentURL1Label=URL: commentURL1Label=URL:
commentURLLabel=URL commentURLLabel=URL
commentContent1Label=Content: commentContent1Label=Content:

View File

@@ -33,7 +33,6 @@ commentEmotions1Label=\u8868\u60C5\uFF1A
commentEmotionsLabel=\u8868\u60C5 commentEmotionsLabel=\u8868\u60C5
commentName1Label=\u59D3\u540D\uFF1A commentName1Label=\u59D3\u540D\uFF1A
commentNameLabel=\u59D3\u540D commentNameLabel=\u59D3\u540D
commentEmail1Label=\u90AE\u7BB1\uFF1A
commentURL1Label=URL\uFF1A commentURL1Label=URL\uFF1A
commentURLLabel=URL commentURLLabel=URL
commentContent1Label=\u8BC4\u8BBA\u5185\u5BB9\uFF1A commentContent1Label=\u8BC4\u8BBA\u5185\u5BB9\uFF1A

View File

@@ -29,7 +29,7 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -34,7 +34,7 @@
<#include "header.ftl"> <#include "header.ftl">
</div> </div>
<div class="content"> <div class="content">
<div class="content-reset marginBottom40"> <div class="vditor-reset marginBottom40">
${page.pageContent} ${page.pageContent}
</div> </div>
<@comments commentList=pageComments article=page></@comments> <@comments commentList=pageComments article=page></@comments>

View File

@@ -33,7 +33,7 @@
<#if 0 != mostViewCountArticles?size> <#if 0 != mostViewCountArticles?size>
<h4>${mostViewCountArticlesLabel}</h4> <h4>${mostViewCountArticlesLabel}</h4>
<div class="arrow-right"></div> <div class="arrow-right"></div>
<div class="most-view-count-articles"> <div class="most-view-count-articles article-footer">
<ul> <ul>
<#list mostViewCountArticles as article> <#list mostViewCountArticles as article>
<li> <li>
@@ -44,6 +44,23 @@
</#list> </#list>
</ul> </ul>
</div> </div>
<#if 0 != mostCommentArticles?size>
<div class="clear"></div>
<div class="hr"></div>
<h4>${mostCommentArticlesLabel}</h4>
<div class="arrow-right"></div>
<div class="most-view-count-articles article-footer">
<ul>
<#list mostCommentArticles as article>
<li>
<a rel="nofollow" title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
<sup>[${article.articleCommentCount}]</sup>${article.articleTitle}
</a>
</li>
</#list>
</ul>
</div>
</#if>
<div class="clear"></div> <div class="clear"></div>
<#if 0 != recentComments?size> <#if 0 != recentComments?size>
<div class="hr"></div> <div class="hr"></div>
@@ -72,22 +89,6 @@
</div> </div>
<div class="footer-widgets"> <div class="footer-widgets">
<div class="content"> <div class="content">
<#if 0 != mostCommentArticles?size>
<div class="left footer-block">
<h4>${mostCommentArticlesLabel}</h4>
<ul>
<#list mostCommentArticles as article>
<li>
<sup>[${article.articleCommentCount}]</sup>
<a rel="nofollow" title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
</li>
</#list>
</ul>
</div>
</#if>
<#if 0 != mostUsedCategories?size> <#if 0 != mostUsedCategories?size>
<div class="left footer-block"> <div class="left footer-block">
<h4><span class="left">${categoryLabel}</span></h4> <h4><span class="left">${categoryLabel}</span></h4>

View File

@@ -84,7 +84,7 @@
<time>${article.articleCreateDate?string("yyyy-MM-dd")}</time> <time>${article.articleCreateDate?string("yyyy-MM-dd")}</time>
</section> </section>
</header> </header>
<section class="post-content content-reset"> <section class="post-content vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div class="marginTop12"> <div class="marginTop12">

View File

@@ -42,7 +42,7 @@
<a class="fn-right" href="javascript:page.toggleEditor('${comment.oId}', '${comment.commentName}')">${replyLabel}</a> <a class="fn-right" href="javascript:page.toggleEditor('${comment.oId}', '${comment.commentName}')">${replyLabel}</a>
</#if> </#if>
</div> </div>
<div class="comment-content post-content content-reset"> <div class="comment-content post-content vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View File

@@ -21,9 +21,8 @@
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.1.0.0, Feb 27, 2019 * @version 2.2.0.1, Mar 16, 2019
*/ */
@import "../../../scss/reset-content";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
/* start reset */ /* start reset */
html { html {
@@ -732,9 +731,7 @@ pre code, pre tt {
} }
body.nav-closed .nav { body.nav-closed .nav {
-webkit-transform: translate3D(97px, 0, 0); transform: translate3D(240px, 0, 0);
-ms-transform: translate3D(97px, 0, 0);
transform: translate3D(97px, 0, 0);
} }
body.nav-opened .nav { body.nav-opened .nav {
@@ -897,7 +894,7 @@ article.post:after {
-webkit-animation: upbounce 4s 2s infinite; -webkit-animation: upbounce 4s 2s infinite;
animation: upbounce 4s 2s infinite; animation: upbounce 4s 2s infinite;
text-decoration: none; text-decoration: none;
z-index: 10; z-index: 12;
} }
.icon-gotop:hover { .icon-gotop:hover {
@@ -1336,6 +1333,14 @@ ul.comments {
right: 0; right: 0;
} }
.nav-opened .site-wrapper {
margin-right: 0;
}
.nav {
z-index: 11;
}
.nav-closed .menu-button:hover { .nav-closed .menu-button:hover {
color: #FFF; color: #FFF;
background-color: transparent; background-color: transparent;

View File

@@ -54,7 +54,7 @@
</span> </span>
<a class="fn-right" href="${servePath}${comment.commentSharpURL}">${viewLabel}»</a> <a class="fn-right" href="${servePath}${comment.commentSharpURL}">${viewLabel}»</a>
</div> </div>
<div class="comment-content post-content content-reset"> <div class="comment-content post-content vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
</div> </div>

View File

@@ -40,10 +40,10 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"skinDirName": "${skinDirName}" "skinDirName": "${skinDirName}"
}; };
Util.initSW(); Util.init()
Util.parseMarkdown();
Util.killIE(8)
</script> </script>
${plugins} ${plugins}

View File

@@ -74,12 +74,14 @@ var Finding = {
} }
$('.nav ul:first').after($('.b3-solo-list')); $('.nav ul:first').after($('.b3-solo-list'));
if ($(window).width() > 500) {
$("body").toggleClass("nav-opened nav-closed"); $("body").toggleClass("nav-opened nav-closed");
}
$('.nav .icon-list').show(); $('.nav .icon-list').show();
Finding.tabNav('toc') Finding.tabNav('toc')
var $articleTocs = $('.content-reset [id^=b3_solo_h]'), var $articleTocs = $('.vditor-reset [id^=b3_solo_h]'),
$articleToc = $('.b3-solo-list'); $articleToc = $('.b3-solo-list');
$(window).scroll(function (event) { $(window).scroll(function (event) {

View File

@@ -1,18 +1 @@
/* var Finding={init:function(){Util.killIE(),this._initToc(),this.share(),$(".scroll-down").click(function(t){t.preventDefault();var n=$(this),i=$("html, body"),o=!!n.attr("data-offset")&&n.attr("data-offset"),a=parseInt(o);i.stop(!0,!1).animate({scrollTop:$(this.hash).offset().top+a},500)}),$("body").append('<a class="icon-gotop fn-none" href="javascript:Util.goTop()"></a><span class="menu-button icon-menu"><span class="word">Menu</span></span>'),$(".menu-button").click(function(t){t.stopPropagation(),$("body").toggleClass("nav-opened nav-closed")}),$(window).scroll(function(){$(window).scrollTop()>$(".main-header").height()?$(".icon-gotop").show():$(".icon-gotop").hide()})},_initToc:function(){if(0===$(".b3-solo-list li").length)return $(".nav .icon-list").hide(),void $(".nav .icon-sitemap").click();$(".nav ul:first").after($(".b3-solo-list")),500<$(window).width()&&$("body").toggleClass("nav-opened nav-closed"),$(".nav .icon-list").show(),Finding.tabNav("toc");var s=$(".vditor-reset [id^=b3_solo_h]"),l=$(".b3-solo-list");$(window).scroll(function(t){if(0===$(".b3-solo-list li").length)return!1;var n=[];s.each(function(t){n.push({id:this.id,offsetTop:this.offsetTop})});for(var i=$(window).scrollTop(),o=0,a=n.length;o<a;o++)if(i<n[o].offsetTop+280){l.find("li").removeClass("current");var e=0<o?o-1:0;l.find('a[href="#'+n[e].id+'"]').parent().addClass("current");break}i>=n[n.length-1].offsetTop+280&&(l.find("li").removeClass("current"),l.find("li:last").addClass("current"))}),$(window).scroll()},tabNav:function(t){$(".nav .current").removeClass("current"),"toc"===t?($(".nav ul:first, .nav .count").hide(),$(".nav ul:last").show(),$(".icon-list").addClass("current")):($(".nav ul:first, .nav .count").show(),$(".nav ul:last").hide(),$(".icon-sitemap").addClass("current"))},share:function(){var t=$(".share"),n=t.find(".icon-wechat"),i=n.data("url"),o=n.data("avatar"),a=encodeURIComponent(n.data("title")+" - "+n.data("blogtitle")),e=encodeURIComponent(i),s={};s.weibo="http://v.t.sina.com.cn/share/share.php?title="+a+"&url="+e+"&pic="+o,s.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+e+"&sharesource=qzone&title="+a+"&pics="+o,s.twitter="https://twitter.com/intent/tweet?status="+a+" "+e,t.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===n.find("canvas").length?$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0,success:function(){n.qrcode({width:128,height:128,text:i})}}):n.find("canvas").slideToggle(),!1):void window.open(s[t],"_blank","top=100,left=200,width=648,height=618")})}};Finding.init();
* 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/>.
*/
var Finding={init:function(){Util.killIE(),this._initToc(),this.share(),$(".scroll-down").click(function(t){t.preventDefault();var n=$(this),o=$("html, body"),i=!!n.attr("data-offset")&&n.attr("data-offset"),a=parseInt(i);o.stop(!0,!1).animate({scrollTop:$(this.hash).offset().top+a},500)}),$("body").append('<a class="icon-gotop fn-none" href="javascript:Util.goTop()"></a><span class="menu-button icon-menu"><span class="word">Menu</span></span>'),$(".menu-button").click(function(t){t.stopPropagation(),$("body").toggleClass("nav-opened nav-closed")}),$(window).scroll(function(){$(window).scrollTop()>$(".main-header").height()?$(".icon-gotop").show():$(".icon-gotop").hide()})},_initToc:function(){if(0===$(".b3-solo-list li").length)return $(".nav .icon-list").hide(),void $(".nav .icon-sitemap").click();$(".nav ul:first").after($(".b3-solo-list")),$("body").toggleClass("nav-opened nav-closed"),$(".nav .icon-list").show(),Finding.tabNav("toc");var s=$(".content-reset [id^=b3_solo_h]"),l=$(".b3-solo-list");$(window).scroll(function(t){if(0===$(".b3-solo-list li").length)return!1;var n=[];s.each(function(t){n.push({id:this.id,offsetTop:this.offsetTop})});for(var o=$(window).scrollTop(),i=0,a=n.length;i<a;i++)if(o<n[i].offsetTop+280){l.find("li").removeClass("current");var e=0<i?i-1:0;l.find('a[href="#'+n[e].id+'"]').parent().addClass("current");break}o>=n[n.length-1].offsetTop+280&&(l.find("li").removeClass("current"),l.find("li:last").addClass("current"))}),$(window).scroll()},tabNav:function(t){$(".nav .current").removeClass("current"),"toc"===t?($(".nav ul:first, .nav .count").hide(),$(".nav ul:last").show(),$(".icon-list").addClass("current")):($(".nav ul:first, .nav .count").show(),$(".nav ul:last").hide(),$(".icon-sitemap").addClass("current"))},share:function(){var t=$(".share"),n=t.find(".icon-wechat"),o=n.data("url"),i=n.data("avatar"),a=encodeURIComponent(n.data("title")+" - "+n.data("blogtitle")),e=encodeURIComponent(o),s={};s.weibo="http://v.t.sina.com.cn/share/share.php?title="+a+"&url="+e+"&pic="+i,s.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+e+"&sharesource=qzone&title="+a+"&pics="+i,s.twitter="https://twitter.com/intent/tweet?status="+a+" "+e,t.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===n.find("canvas").length?$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0,success:function(){n.qrcode({width:128,height:128,text:o})}}):n.find("canvas").slideToggle(),!1):void window.open(s[t],"_blank","top=100,left=200,width=648,height=618")})}};Finding.init();

View File

@@ -32,7 +32,6 @@ commentEmotions1Label=Emotions:
commentEmotionsLabel=Emotions commentEmotionsLabel=Emotions
commentName1Label=Name: commentName1Label=Name:
commentNameLabel=Name commentNameLabel=Name
commentEmail1Label=Email:
commentURL1Label=URL: commentURL1Label=URL:
commentURLLabel=URL commentURLLabel=URL
commentContent1Label=Content: commentContent1Label=Content:

View File

@@ -34,7 +34,6 @@ commentEmotions1Label=\u8868\u60C5\uFF1A
commentEmotionsLabel=\u8868\u60C5 commentEmotionsLabel=\u8868\u60C5
commentName1Label=\u59D3\u540D\uFF1A commentName1Label=\u59D3\u540D\uFF1A
commentNameLabel=\u59D3\u540D commentNameLabel=\u59D3\u540D
commentEmail1Label=\u90AE\u7BB1\uFF1A
commentURL1Label=URL\uFF1A commentURL1Label=URL\uFF1A
commentURLLabel=URL commentURLLabel=URL
commentContent1Label=\u8BC4\u8BBA\u5185\u5BB9\uFF1A commentContent1Label=\u8BC4\u8BBA\u5185\u5BB9\uFF1A

View File

@@ -30,7 +30,7 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -36,7 +36,7 @@
<#include "header.ftl"> <#include "header.ftl">
<main> <main>
<article class="post"> <article class="post">
<section class="post-content content-reset"> <section class="post-content vditor-reset">
${page.pageContent} ${page.pageContent}
</section> </section>
<footer> <footer>

View File

@@ -51,7 +51,7 @@
<a class="ft__red" href="${servePath}${article.articlePermalink}">${article.articleViewCount} ${viewLabel}</a> <a class="ft__red" href="${servePath}${article.articlePermalink}">${article.articleViewCount} ${viewLabel}</a>
</div> </div>
</div> </div>
<div class="content-reset article__content"> <div class="vditor-reset article__content">
${article.articleAbstract} ${article.articleAbstract}
</div> </div>
<a class="article__more" href="${servePath}${article.articlePermalink}">More...</a> <a class="article__more" href="${servePath}${article.articlePermalink}">More...</a>

View File

@@ -89,7 +89,7 @@
</div> </div>
</div> </div>
<div class="content-reset article__content"> <div class="vditor-reset article__content">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div> <div>

View File

@@ -44,7 +44,7 @@
</#if> </#if>
</div> </div>
<div class="content-reset comment__content"> <div class="vditor-reset comment__content">
${comment.commentContent} ${comment.commentContent}
</div> </div>
</main> </main>

File diff suppressed because one or more lines are too long

View File

@@ -19,10 +19,9 @@
* skin style * skin style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 0.2.0.0, Jan 30, 2019 * @version 0.2.0.1, Mar 16, 2019
*/ */
@import "../../../scss/reset"; @import "../../../scss/reset";
@import "../../../scss/reset-content";
@import "../../../scss/function"; @import "../../../scss/function";
@import "../../../scss/tooltipped"; @import "../../../scss/tooltipped";
@import "../../../scss/comment"; @import "../../../scss/comment";
@@ -52,7 +51,7 @@ a {
color: $gray; color: $gray;
} }
.content-reset { .vditor-reset {
overflow: hidden; overflow: hidden;
color: #555; color: #555;
font-size: 14px; font-size: 14px;

View File

@@ -28,7 +28,9 @@
Powered by <a href="https://b3log.org" target="_blank">B3log</a> 开源 Powered by <a href="https://b3log.org" target="_blank">B3log</a> 开源
<div class="fn__none"></div> <div class="fn__none"></div>
&nbsp; &heartsuit; &nbsp; &nbsp; &heartsuit; &nbsp;
Theme <a rel="friend" href="https://github.com/b3log/solo-skins" target="_blank">Jane</a> by <a href="http://vanessa.b3log.org" target="_blank">Vanessa</a> Theme <a rel="friend" href="https://github.com/b3log/solo-skins" target="_blank">Jane</a>
<sup>[<a href="https://github.com/hejianxian/hexo-theme-jane" target="_blank">ref</a>]</sup>
by <a href="http://vanessa.b3log.org" target="_blank">Vanessa</a>
</div> </div>
</footer> </footer>
<div class="icon-up" onclick="Util.goTop()"></div> <div class="icon-up" onclick="Util.goTop()"></div>
@@ -46,11 +48,11 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"skinDirName": "${skinDirName}", "skinDirName": "${skinDirName}",
}; };
Util.initSW(); Util.init()
Util.parseMarkdown();
Util.killIE(8)
</script> </script>
${plugins} ${plugins}

View File

@@ -64,10 +64,6 @@ var Skin = {
$('.header a').removeClass('current') $('.header a').removeClass('current')
this.className = 'current tooltipped tooltipped__w' this.className = 'current tooltipped tooltipped__w'
}) })
$('body').on('click', '.content-reset img', function () {
window.open(this.src)
})
}, },
} }
Skin.init() Skin.init()

19
Jane/js/common.min.js vendored
View File

@@ -1,18 +1 @@
/* var Skin={initToc:function(){0<$(".b3-solo-list li").length&&768<$(window).width()?($(".b3-solo-list").css({right:"50px","border-right":"1px solid #fff",opacity:1}),$("#pjax.wrapper").css({"max-width":"968px","padding-right":"270px"})):$("#pjax.wrapper").removeAttr("style")},init:function(){Skin.initToc(),Util.initPjax(function(){$(".header a").each(function(){this.href===location.href?this.className="current tooltipped tooltipped__w":this.className="tooltipped tooltipped__w"}),Skin.initToc()}),$(".header a").each(function(){this.href===location.href&&(this.className="current tooltipped tooltipped__w")}).click(function(){$(".header a").removeClass("current"),this.className="current tooltipped tooltipped__w"})}};Skin.init();
* 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/>.
*/
var Skin={initToc:function(){0<$(".b3-solo-list li").length&&768<$(window).width()?($(".b3-solo-list").css({right:"50px","border-right":"1px solid #fff",opacity:1}),$("#pjax.wrapper").css({"max-width":"968px","padding-right":"270px"})):$("#pjax.wrapper").removeAttr("style")},init:function(){Skin.initToc(),Util.initPjax(function(){$(".header a").each(function(){this.href===location.href?this.className="current tooltipped tooltipped__w":this.className="tooltipped tooltipped__w"}),Skin.initToc()}),$(".header a").each(function(){this.href===location.href&&(this.className="current tooltipped tooltipped__w")}).click(function(){$(".header a").removeClass("current"),this.className="current tooltipped tooltipped__w"}),$("body").on("click",".content-reset img",function(){window.open(this.src)})}};Skin.init();

File diff suppressed because one or more lines are too long

View File

@@ -30,9 +30,9 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="apple-touch-icon" href="${servePath}/images/logo.png"> <link rel="apple-touch-icon" href="${faviconURL}">
<link rel="shortcut icon" type="image/x-icon" href="${servePath}/favicon.png"> <link rel="shortcut icon" type="image/x-icon" href="${faviconURL}">
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -39,7 +39,7 @@
<div class="fn__clear"> <div class="fn__clear">
<a class="ft__red fn__right" href="#comments"><#if page.pageCommentCount gt 0>${page.pageCommentCount} </#if>${commentLabel}</a> <a class="ft__red fn__right" href="#comments"><#if page.pageCommentCount gt 0>${page.pageCommentCount} </#if>${commentLabel}</a>
</div> </div>
<div class="content-reset article__content"> <div class="vditor-reset article__content">
${page.pageContent} ${page.pageContent}
</div> </div>
</article> </article>

View File

@@ -77,7 +77,7 @@
</#if> </#if>
</h1> </h1>
</header> </header>
<section class="content-reset"> <section class="vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div> <div>

View File

@@ -47,7 +47,7 @@
</a> </a>
</#if> </#if>
</div> </div>
<div class="content-reset"> <div class="vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
</main> </main>

File diff suppressed because one or more lines are too long

View File

@@ -19,9 +19,8 @@
* skin style * skin style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.0.0.0, Feb 21, 2019 * @version 2.0.0.2, Mar 16, 2019
*/ */
@import "../../../scss/reset-content";
@import "../../../scss/reset"; @import "../../../scss/reset";
@import "../../../scss/nprogress"; @import "../../../scss/nprogress";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
@@ -746,7 +745,7 @@
margin-left: 5px; margin-left: 5px;
} }
.article__comment .comment__body .content-reset { .article__comment .comment__body .vditor-reset {
min-height: 40px; min-height: 40px;
} }
@@ -823,10 +822,10 @@
.article__next { .article__next {
border-left: 1px solid rgba(0, 0, 0, 0.38); border-left: 1px solid rgba(0, 0, 0, 0.38);
line-height: 14px; line-height: 15px;
margin-top: 7px; margin-top: 7px;
color: rgba(0, 0, 0, 0.84); color: rgba(0, 0, 0, 0.84);
font-size: 18px; font-size: 14px;
display: inline-block; display: inline-block;
padding-left: 20px; padding-left: 20px;
margin-left: 20px; margin-left: 20px;

View File

@@ -55,10 +55,10 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"skinDirName": "${skinDirName}" "skinDirName": "${skinDirName}"
}; };
Util.initSW(); Util.init()
Util.killIE(8)
Util.parseMarkdown();
</script> </script>
${plugins} ${plugins}

View File

@@ -28,10 +28,6 @@
*/ */
var Skin = { var Skin = {
init: function () { init: function () {
$('body').on('click', '.content-reset img', function () {
window.open(this.src);
});
$(window).scroll(function () { $(window).scroll(function () {
if ($('#headerNav').length === 0) { if ($('#headerNav').length === 0) {
return return

View File

@@ -1,18 +1 @@
/* var Skin={init:function(){$(window).scroll(function(){0!==$("#headerNav").length&&(64<$(window).scrollTop()?($("#headerNav").addClass("header__nav--fixed"),$(".main").css("margin-top","100px")):($("#headerNav").removeClass("header__nav--fixed"),$(".main").css("margin-top","50px")))}),$(window).scroll(),Util.initPjax(function(){Util.parseMarkdown(),Util.isArticlePage(location.href)&&($("#articleSideShare .article__code").qrcode||$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0}))})},initTags:function(){for(var t=$("#tags"),e=t.find(".tag"),i=parseInt(e.first().data("count")),a=Math.ceil(i/5),o=0;o<e.length;o++)for(var s=parseInt($(e[o]).data("count")),n=0;n<5;n++)if(n*a<s&&s<=(n+1)*a){e[o].className="tag tag__level"+n;break}t.html(e.get().sort(function(t,e){var i=$(t).text().toLowerCase(),a=$(e).text().toLowerCase();return i.localeCompare(a)}))},initArticle:function(){if(0!==$("#articleShare").length){Skin._share("#articleShare"),Skin._share("#articleSideShare"),Skin._share("#articleBottomShare");var i=$(".post__side");$(window).height()>=$(".post").height()&&i.css("opacity",1),i.css("left",($(".post").offset().left-20)/2-27+"px");var a=($(window).height()-249)/2+125,o=$(window).scrollTop();$(window).scroll(function(){if(0!==$("#articleShare").length){var t=$(window).scrollTop(),e=$(".article__bottom").offset().top;65<t?(i.css("opacity",1),0<o-t?($(".header").addClass("header--fixed").css({top:"0"}),$(".main").css("padding-top","64px"),$(window).height()<=$(".post").height()&&t<e-$(window).height()&&$(".article__toolbar").css({bottom:0,opacity:1})):o-t<0&&($(".header").css({top:"-64px"}).removeClass("header--fixed"),$(".main").css("padding-top","0"),$(".article__toolbar").css({bottom:"-44px",opacity:0}))):($(window).height()<=$(".post").height()&&i.css("opacity",0),$(".header").removeClass("header--fixed").css("top","-64px"),$(".main").css("padding-top","0")),t>e-$(window).height()?e<$(window).height()?i.css({position:"absolute",top:e-125+"px"}):i.css({position:"absolute",top:e-a+"px"}):i.css({position:"fixed",top:"50%"}),o=t}}),$(window).scroll()}},_share:function(t){var e=$(t),i=e.find(".article__code"),a=i.data("url"),o=i.data("avatar"),s=encodeURIComponent(i.data("title")+" - "+i.data("blogtitle")),n=encodeURIComponent(a),r={};r.tencent="http://share.v.t.qq.com/index.php?c=share&a=index&title="+s+"&url="+n+"&pic="+o,r.weibo="http://v.t.sina.com.cn/share/share.php?title="+s+"&url="+n+"&pic="+o,r.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+n+"&sharesource=qzone&title="+s+"&pics="+o,r.twitter="https://twitter.com/intent/tweet?status="+s+" "+n,e.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===i.find("canvas").length?i.qrcode({width:128,height:128,text:a}):i.slideToggle(),!1):void window.open(r[t],"_blank","top=100,left=200,width=648,height=618")})}};Skin.init();
* 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/>.
*/
var Skin={init:function(){$("body").on("click",".content-reset img",function(){window.open(this.src)}),$(window).scroll(function(){0!==$("#headerNav").length&&(64<$(window).scrollTop()?($("#headerNav").addClass("header__nav--fixed"),$(".main").css("margin-top","100px")):($("#headerNav").removeClass("header__nav--fixed"),$(".main").css("margin-top","50px")))}),$(window).scroll(),Util.initPjax(function(){Util.parseMarkdown(),Util.isArticlePage(location.href)&&($("#articleSideShare .article__code").qrcode||$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0}))})},initTags:function(){for(var t=$("#tags"),e=t.find(".tag"),i=parseInt(e.first().data("count")),a=Math.ceil(i/5),o=0;o<e.length;o++)for(var n=parseInt($(e[o]).data("count")),s=0;s<5;s++)if(s*a<n&&n<=(s+1)*a){e[o].className="tag tag__level"+s;break}t.html(e.get().sort(function(t,e){var i=$(t).text().toLowerCase(),a=$(e).text().toLowerCase();return i.localeCompare(a)}))},initArticle:function(){if(0!==$("#articleShare").length){Skin._share("#articleShare"),Skin._share("#articleSideShare"),Skin._share("#articleBottomShare");var i=$(".post__side");$(window).height()>=$(".post").height()&&i.css("opacity",1),i.css("left",($(".post").offset().left-20)/2-27+"px");var a=($(window).height()-249)/2+125,o=$(window).scrollTop();$(window).scroll(function(){if(0!==$("#articleShare").length){var t=$(window).scrollTop(),e=$(".article__bottom").offset().top;65<t?(i.css("opacity",1),0<o-t?($(".header").addClass("header--fixed").css({top:"0"}),$(".main").css("padding-top","64px"),$(window).height()<=$(".post").height()&&t<e-$(window).height()&&$(".article__toolbar").css({bottom:0,opacity:1})):o-t<0&&($(".header").css({top:"-64px"}).removeClass("header--fixed"),$(".main").css("padding-top","0"),$(".article__toolbar").css({bottom:"-44px",opacity:0}))):($(window).height()<=$(".post").height()&&i.css("opacity",0),$(".header").removeClass("header--fixed").css("top","-64px"),$(".main").css("padding-top","0")),t>e-$(window).height()?e<$(window).height()?i.css({position:"absolute",top:e-125+"px"}):i.css({position:"absolute",top:e-a+"px"}):i.css({position:"fixed",top:"50%"}),o=t}}),$(window).scroll()}},_share:function(t){var e=$(t),i=e.find(".article__code"),a=i.data("url"),o=i.data("avatar"),n=encodeURIComponent(i.data("title")+" - "+i.data("blogtitle")),s=encodeURIComponent(a),r={};r.tencent="http://share.v.t.qq.com/index.php?c=share&a=index&title="+n+"&url="+s+"&pic="+o,r.weibo="http://v.t.sina.com.cn/share/share.php?title="+n+"&url="+s+"&pic="+o,r.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+s+"&sharesource=qzone&title="+n+"&pics="+o,r.twitter="https://twitter.com/intent/tweet?status="+n+" "+s,e.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===i.find("canvas").length?i.qrcode({width:128,height:128,text:a}):i.slideToggle(),!1):void window.open(r[t],"_blank","top=100,left=200,width=648,height=618")})}};Skin.init();

View File

@@ -30,7 +30,7 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -41,7 +41,7 @@
</#if> </#if>
<div class="wrapper content"> <div class="wrapper content">
<article class="post"> <article class="post">
<section class="content-reset"> <section class="vditor-reset">
${page.pageContent} ${page.pageContent}
</section> </section>
</article> </article>

View File

@@ -59,7 +59,7 @@
</a> </a>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<div class="content-reset"> <div class="vditor-reset">
<div id="abstract${article.oId}"> <div id="abstract${article.oId}">
${article.articleAbstract} ${article.articleAbstract}
</div> </div>

View File

@@ -93,7 +93,7 @@
</a> </a>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<div class="content-reset"> <div class="vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div> <div>

View File

@@ -41,7 +41,7 @@
</div> </div>
</#if> </#if>
<span class="clear"></span> <span class="clear"></span>
<div class="content-reset">${comment.commentContent}</div> <div class="vditor-reset">${comment.commentContent}</div>
</div> </div>
<span class="clear"></span> <span class="clear"></span>
</div> </div>

File diff suppressed because one or more lines are too long

View File

@@ -19,10 +19,9 @@
* skin neoease style * skin neoease style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.0.0.0, Feb 21, 2019 * @version 2.0.0.1, Mar 16, 2019
*/ */
@import "../../../scss/reset-content";
@import "vditor/src/assets/scss/classic"; @import "vditor/src/assets/scss/classic";
/* start base */ /* start base */
html, body, div, ul, li, h1, h2, h3, h4, h5, h6 { html, body, div, ul, li, h1, h2, h3, h4, h5, h6 {
@@ -626,7 +625,7 @@ textarea, input {
line-height: 16px; line-height: 16px;
} }
.comment-panel .content-reset { .comment-panel .vditor-reset {
margin-top: 5px; margin-top: 5px;
} }

View File

@@ -38,6 +38,8 @@
var Label = { var Label = {
"markedAvailable": ${markedAvailable?c}, "markedAvailable": ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
"adminLabel": "${adminLabel}", "adminLabel": "${adminLabel}",
"logoutLabel": "${logoutLabel}", "logoutLabel": "${logoutLabel}",
"skinDirName": "${skinDirName}" "skinDirName": "${skinDirName}"

View File

@@ -161,6 +161,7 @@ var goTranslate = function () {
}); });
Util.init(); Util.init();
Util.setTopBar()
Util.replaceSideEm($(".recent-comments-content")); Util.replaceSideEm($(".recent-comments-content"));
Util.buildTags("tagsSide"); Util.buildTags("tagsSide");

View File

@@ -1,18 +1 @@
/* var goTop=function(e){e=e||.1;var a=$(window).scrollTop(),t=1+e;if(window.scrollTo(0,Math.floor(a/t)),0<a){var n="goTop("+e+")";window.setTimeout(n,16)}},collapseArchive=function(e,a){var t=!0;"collapse-ico"===e.className?(e.className="expand-ico",t=!1):e.className="collapse-ico",$("#archiveSide li").each(function(){$(this).data("year")===a&&(t?$(this).show():$(this).hide())})},getArticle=function(t,e){var n=$("#abstract"+e),i=$("#content"+e);return""===i.html()?$.ajax({url:"/get-article-content?id="+e,type:"GET",dataType:"html",beforeSend:function(){n.css("background","url(/skins/neoease/images/ajax-loader.gif) no-repeat scroll center center transparent")},success:function(e,a){t.className="collapse-ico",i.html(e),n.hide().css("background","none"),i.fadeIn("slow")}}):"expand-ico"===t.className?(n.hide(),i.fadeIn(),t.className="collapse-ico"):(i.hide(),n.fadeIn(),t.className="expand-ico"),!1},goTranslate=function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)};!function(){$(window).scroll(function(){var e=$(window).scrollTop();if(182<e){var a=$(window).height(),t=e+a-21;$("body").height()-58<=e+a&&(t=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",t)}else $("#goTop").hide()});var t=(new Date).getFullYear(),n=t;$("#archiveSide li").each(function(e){var a=$(this);a.data("year")!==t&&$(this).hide(),n!==a.data("year")&&(n=a.data("year"),a.before("<li class='archive-year'><div onclick='collapseArchive(this, "+n+")' class='expand-ico'>"+n+"&nbsp;年</div></li>"))}),$(".recent-comments .expand-ico").click(function(){"expand-ico"===this.className?($(this).parent().next().css({height:"auto","white-space":"normal"}),this.className="collapse-ico"):($(this).parent().next().animate({height:"18px"},function(){$(this).css("white-space","nowrap")}),this.className="expand-ico")}),$(".nav ul li").each(function(){$(this).find("a").attr("href")===latkeConfig.servePath+location.pathname?$(this).addClass("current"):/\/[0-9]+$/.test(location.pathname)&&($(".nav ul li")[0].className="current")}),Util.init(),Util.setTopBar(),Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide"),$(".recent-comments .recent-comments-main").each(function(){$(this).find(".recent-comments-content>a").height()<30?$(this).find(".expand-ico").remove():$(this).find(".expand-ico").parent().next().css({"white-space":"nowrap"})})}();
* 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/>.
*/
var goTop=function(e){e=e||.1;var a=$(window).scrollTop(),t=1+e;if(window.scrollTo(0,Math.floor(a/t)),0<a){var n="goTop("+e+")";window.setTimeout(n,16)}},collapseArchive=function(e,a){var t=!0;"collapse-ico"===e.className?(e.className="expand-ico",t=!1):e.className="collapse-ico",$("#archiveSide li").each(function(){$(this).data("year")===a&&(t?$(this).show():$(this).hide())})},getArticle=function(t,e){var n=$("#abstract"+e),i=$("#content"+e);return""===i.html()?$.ajax({url:"/get-article-content?id="+e,type:"GET",dataType:"html",beforeSend:function(){n.css("background","url(/skins/neoease/images/ajax-loader.gif) no-repeat scroll center center transparent")},success:function(e,a){t.className="collapse-ico",i.html(e),n.hide().css("background","none"),i.fadeIn("slow")}}):"expand-ico"===t.className?(n.hide(),i.fadeIn(),t.className="collapse-ico"):(i.hide(),n.fadeIn(),t.className="expand-ico"),!1},goTranslate=function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)};!function(){$(window).scroll(function(){var e=$(window).scrollTop();if(182<e){var a=$(window).height(),t=e+a-21;$("body").height()-58<=e+a&&(t=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",t)}else $("#goTop").hide()});var t=(new Date).getFullYear(),n=t;$("#archiveSide li").each(function(e){var a=$(this);a.data("year")!==t&&$(this).hide(),n!==a.data("year")&&(n=a.data("year"),a.before("<li class='archive-year'><div onclick='collapseArchive(this, "+n+")' class='expand-ico'>"+n+"&nbsp;年</div></li>"))}),$(".recent-comments .expand-ico").click(function(){"expand-ico"===this.className?($(this).parent().next().css({height:"auto","white-space":"normal"}),this.className="collapse-ico"):($(this).parent().next().animate({height:"18px"},function(){$(this).css("white-space","nowrap")}),this.className="expand-ico")}),$(".nav ul li").each(function(){$(this).find("a").attr("href")===latkeConfig.servePath+location.pathname?$(this).addClass("current"):/\/[0-9]+$/.test(location.pathname)&&($(".nav ul li")[0].className="current")}),Util.init(),Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide"),$(".recent-comments .recent-comments-main").each(function(){$(this).find(".recent-comments-content>a").height()<30?$(this).find(".expand-ico").remove():$(this).find(".expand-ico").parent().next().css({"white-space":"nowrap"})})}();

View File

@@ -30,10 +30,7 @@ replyLabel=Reply
commentNameLabel=Name commentNameLabel=Name
commentURLLabel=URL commentURLLabel=URL
nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long! nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long!
mailCannotEmptyLabel=Mail is empty!
mailInvalidLabel=Mail is invalid!
commentContentCannotEmptyLabel=Sorry, your content must be between 2 and 500 characters long! commentContentCannotEmptyLabel=Sorry, your content must be between 2 and 500 characters long!
captchaCannotEmptyLabel=Captcha is empty!
loadingLabel=loading.... loadingLabel=loading....
externalRelevantArticlesLabel=External Relevant Articles: externalRelevantArticlesLabel=External Relevant Articles:
b3logLabel=<span style="color: orange;">B</span><span style="color: blue;"><sup>3</sup></span><span style="color: green;">L</span><span style="color: red;">O</span><span style="color: blue;">G</span> b3logLabel=<span style="color: orange;">B</span><span style="color: blue;"><sup>3</sup></span><span style="color: green;">L</span><span style="color: red;">O</span><span style="color: blue;">G</span>

View File

@@ -29,7 +29,7 @@
<meta http-equiv="Window-target" content="_top" /> <meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" /> <link href="${servePath}/rss.xml" title="RSS" type="application/rss+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${servePath}/favicon.png" /> <link rel="icon" type="image/png" href="${faviconURL}" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
<link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml"> <link rel="search" type="application/opensearchdescription+xml" title="${title}" href="/opensearch.xml">
${htmlHead} ${htmlHead}

View File

@@ -34,7 +34,7 @@
<div class="body"> <div class="body">
<div class="wrapper"> <div class="wrapper">
<div class="main"> <div class="main">
<div class="page content-reset" style="border-bottom: 0px;"> <div class="page vditor-reset" style="border-bottom: 0px;">
${page.pageContent} ${page.pageContent}
</div> </div>
<@comments commentList=pageComments article=page></@comments> <@comments commentList=pageComments article=page></@comments>

View File

@@ -30,7 +30,7 @@
</head> </head>
<body class="body--gray"> <body class="body--gray">
<#include "header.ftl"> <#include "header.ftl">
<main id="pjax"> <main id="pjax" class="fn__flex-1">
<#if pjax><!---- pjax {#pjax} start ----></#if> <#if pjax><!---- pjax {#pjax} start ----></#if>
<div class="wrapper wrapper--min"> <div class="wrapper wrapper--min">
<div class="page__title"> <div class="page__title">

View File

@@ -28,7 +28,7 @@
</head> </head>
<body class="body--gray"> <body class="body--gray">
<#include "header.ftl"> <#include "header.ftl">
<main id="pjax"> <main id="pjax" class="fn__flex-1">
<#if pjax><!---- pjax {#pjax} start ----></#if> <#if pjax><!---- pjax {#pjax} start ----></#if>
<div class="wrapper wrapper--min"> <div class="wrapper wrapper--min">
<div class="page__title"> <div class="page__title">

View File

@@ -23,27 +23,27 @@
<div class="item__container"> <div class="item__container">
<div class="item__cover" style="background-image: url(${article.articleImg1URL})"></div> <div class="item__cover" style="background-image: url(${article.articleImg1URL})"></div>
<div rel="bookmark" class="item__abstract"> <div rel="bookmark" class="item__abstract">
<div> <a pjax-title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
${article.articleAbstractText} ${article.articleAbstractText}
</div> </a>
</div> </div>
<div class="item__slant"></div> <div class="item__slant"></div>
<div class="item__slant item__slant--white"></div> <div class="item__slant item__slant--white"></div>
<div class="item__main"> <div class="item__main">
<h2 class="item__title">
<a rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.articlePutTop> <#if article.articlePutTop>
<sup> <sup class="ft__red">
${topArticleLabel} ${topArticleLabel}
</sup> </sup>
</#if> </#if>
<#if article.hasUpdated> <#if article.hasUpdated>
<sup> <sup class="ft__red">
${updatedLabel} ${updatedLabel}
</sup> </sup>
</#if> </#if>
<h2 class="item__title">
<a rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
</h2> </h2>
<#list article.articleTags?split(",") as articleTag> <#list article.articleTags?split(",") as articleTag>
<#if articleTag_index == 0> <#if articleTag_index == 0>

View File

@@ -50,7 +50,7 @@
</head> </head>
<body> <body>
<#include "header.ftl"> <#include "header.ftl">
<main id="pjax"> <main id="pjax" class="fn__flex-1">
<#if pjax><!---- pjax {#pjax} start ----></#if> <#if pjax><!---- pjax {#pjax} start ----></#if>
<div class="post wrapper wrapper--miner"> <div class="post wrapper wrapper--miner">
<h2 class="item__title"> <h2 class="item__title">
@@ -89,7 +89,7 @@
</a> </a>
</#list> </#list>
</div> </div>
<div class="content-reset"> <div class="vditor-reset">
${article.articleContent} ${article.articleContent}
<#if "" != article.articleSign.signHTML?trim> <#if "" != article.articleSign.signHTML?trim>
<div> <div>

View File

@@ -29,7 +29,7 @@
</head> </head>
<body class="body--gray"> <body class="body--gray">
<#include "header.ftl"> <#include "header.ftl">
<main id="pjax"> <main id="pjax" class="fn__flex-1">
<#if pjax><!---- pjax {#pjax} start ----></#if> <#if pjax><!---- pjax {#pjax} start ----></#if>
<div class="wrapper wrapper--min"> <div class="wrapper wrapper--min">
<div class="page__title"> <div class="page__title">

View File

@@ -36,7 +36,7 @@
</#if> </#if>
</div> </div>
</div> </div>
<div class="content-reset"> <div class="vditor-reset">
${comment.commentContent} ${comment.commentContent}
</div> </div>
<div class="item__meta fn__clear"> <div class="item__meta fn__clear">

File diff suppressed because one or more lines are too long

View File

@@ -19,10 +19,9 @@
* skin style * skin style
* *
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a> * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 0.1.0.1, Feb 28, 2019 * @version 0.1.0.3, Mar 16, 2019
*/ */
@import "../../../scss/reset"; @import "../../../scss/reset";
@import "../../../scss/reset-content";
@import "../../../scss/function"; @import "../../../scss/function";
@import "../../../scss/tooltipped"; @import "../../../scss/tooltipped";
@import "../../../scss/comment"; @import "../../../scss/comment";
@@ -37,6 +36,12 @@ $gray: #5f5f5f !default;
$gray-lighter: #e0e0e0 !default; $gray-lighter: #e0e0e0 !default;
$gray-lightest: #f7f7f7 !default; $gray-lightest: #f7f7f7 !default;
body {
display: flex;
flex-direction: column;
min-height: 100%;
}
.body--gray { .body--gray {
background-color: $gray-lightest; background-color: $gray-lightest;
} }
@@ -59,7 +64,7 @@ a:active, a:focus, a:hover {
background-color: $red; background-color: $red;
} }
.content-reset { .vditor-reset {
font-size: 14px; font-size: 14px;
.b3-solo-list { .b3-solo-list {
display: none; display: none;
@@ -319,7 +324,9 @@ a:active, a:focus, a:hover {
word-break: break-all; word-break: break-all;
box-sizing: border-box; box-sizing: border-box;
transition: all .5s; transition: all .5s;
& > div { & > a {
color: #fff;
display: block;
opacity: 0; opacity: 0;
overflow: hidden; overflow: hidden;
-webkit-line-clamp: 7; -webkit-line-clamp: 7;
@@ -343,13 +350,6 @@ a:active, a:focus, a:hover {
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
display: -webkit-box; display: -webkit-box;
} }
sup {
font-weight: normal;
font-size: 12px;
float: left;
top: -33px;
color: $red;
}
} }
&__tag { &__tag {
@@ -367,7 +367,7 @@ a:active, a:focus, a:hover {
} }
&__abstract { &__abstract {
background-color: rgba(0, 0, 0, .5); background-color: rgba(0, 0, 0, .5);
& > div { & > a {
animation: fade-in; animation: fade-in;
animation-duration: .5s; animation-duration: .5s;
opacity: 1; opacity: 1;
@@ -512,12 +512,20 @@ a:active, a:focus, a:hover {
} }
&__toc { &__toc {
display: none;
position: fixed; position: fixed;
top: 100px; top: 100px;
max-width: 200px; max-width: 200px;
border-left: 1px solid $gray-lighter; overflow: auto;
height: 70vh;
padding-left: 3px;
&::-webkit-scrollbar {
display: none;
}
.b3-solo-list { .b3-solo-list {
border-left: 1px solid $gray-lighter;
margin: 0; margin: 0;
font-size: 14px; font-size: 14px;
line-height: 24px; line-height: 24px;

View File

@@ -69,7 +69,7 @@
Powered by <a class="ft__link" href="https://b3log.org" target="_blank">B3log</a> 开源 Powered by <a class="ft__link" href="https://b3log.org" target="_blank">B3log</a> 开源
<br> <br>
Theme <a class="ft__link" rel="friend" href="https://github.com/b3log/solo-skins" target="_blank">Pinghsu</a> Theme <a class="ft__link" rel="friend" href="https://github.com/b3log/solo-skins" target="_blank">Pinghsu</a>
<sup>[<a class="ft__link" target="_blank" href="https://github.com/chakhsu/pinghsu">Ref</a>]</sup> <sup>[<a class="ft__link" target="_blank" href="https://github.com/chakhsu/pinghsu">ref</a>]</sup>
by <a class="ft__link" href="http://vanessa.b3log.org" target="_blank">Vanessa</a> by <a class="ft__link" href="http://vanessa.b3log.org" target="_blank">Vanessa</a>
</div> </div>
</div> </div>
@@ -92,11 +92,11 @@
var Label = { var Label = {
'markedAvailable': ${markedAvailable?c}, 'markedAvailable': ${markedAvailable?c},
"hljsStyle": "atom-one-light",
"langLabel": "${langLabel}",
'skinDirName': "${skinDirName}", 'skinDirName': "${skinDirName}",
} }
Util.initSW() Util.init()
Util.parseMarkdown()
Util.killIE()
</script> </script>
${plugins} ${plugins}

View File

@@ -32,7 +32,7 @@
</head> </head>
<body class="body--gray"> <body class="body--gray">
<#include "header.ftl"> <#include "header.ftl">
<main id="pjax"> <main id="pjax" class="fn__flex-1">
<#if pjax><!---- pjax {#pjax} start ----></#if> <#if pjax><!---- pjax {#pjax} start ----></#if>
<div class="wrapper wrapper--min"> <div class="wrapper wrapper--min">
<#include "article-list.ftl"> <#include "article-list.ftl">

View File

@@ -57,10 +57,6 @@ var Skin = {
}) })
}) })
$('body').on('click', '.content-reset img', function () {
window.open(this.src)
})
$('.header__nav a').each(function () { $('.header__nav a').each(function () {
if (this.href === location.href) { if (this.href === location.href) {
this.className = 'current' this.className = 'current'
@@ -73,7 +69,7 @@ var Skin = {
}) })
}, },
_initToc: function () { _initToc: function () {
if ($('.content-reset .b3-solo-list li').length === 0 || $(window).width() < 746) { if ($('.vditor-reset .b3-solo-list li').length === 0 || $(window).width() < 746) {
$('.post__toc .b3-solo-list').remove() $('.post__toc .b3-solo-list').remove()
return return
} }
@@ -87,6 +83,8 @@ var Skin = {
$('.post__toc').hide() $('.post__toc').hide()
} }
}) })
$(window).scroll()
}, },
_initShare: function () { _initShare: function () {
var $this = $('.post__share') var $this = $('.post__share')

View File

@@ -1,18 +1 @@
/* var Skin={init:function(){new Headroom($("header")[0],{tolerance:0,offset:70,classes:{initial:"header",pinned:"header--down",unpinned:"header--up",top:"header",notTop:"header",bottom:"header",notBottom:"header"}}).init(),Util.initPjax(function(){0===$(".post__fix").length?$("body").addClass("body--gray"):$("body").removeClass("body--gray"),$(".header__nav a").each(function(){$(".header__nav a").removeClass("current"),this.href===location.href&&(this.className="current")})}),$(".header__nav a").each(function(){this.href===location.href&&(this.className="current")}).click(function(){$(".header__nav a").removeClass("current"),this.href===location.href&&(this.className="current")})},_initToc:function(){0===$(".vditor-reset .b3-solo-list li").length||$(window).width()<746?$(".post__toc .b3-solo-list").remove():($(".post__toc").html($(".b3-solo-list")).css("left",$(".post").offset().left+$(".post").outerWidth()),$(window).scroll(function(){72<$(window).scrollTop()?$(".post__toc").show():$(".post__toc").hide()}),$(window).scroll())},_initShare:function(){var t=$(".post__share"),e=t.find(".post__code"),o=e.data("url"),i=e.data("avatar"),n=encodeURIComponent(e.data("title")+" - "+e.data("blogtitle")),a=encodeURIComponent(o),s={};s.weibo="http://v.t.sina.com.cn/share/share.php?title="+n+"&url="+a+"&pic="+i,s.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+a+"&sharesource=qzone&title="+n+"&pics="+i,s.twitter="https://twitter.com/intent/tweet?status="+n+" "+a,t.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===e.find("canvas").length?$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0,success:function(){e.qrcode({width:128,height:128,text:o})}}):e.find("canvas").slideToggle(),!1):void window.open(s[t],"_blank","top=100,left=200,width=648,height=618")})},initArticle:function(){new Headroom($(".post__fix")[0],{tolerance:0,offset:48,classes:{initial:"post__fix",pinned:"post__fix--pinned",unpinned:"post__fix--unpinned",top:"post__fix",notTop:"post__fix",bottom:"post__fix",notBottom:"post__fix"}}).init(),Skin._initShare(),Skin._initToc()}};Skin.init();
* 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/>.
*/
var Skin={init:function(){new Headroom($("header")[0],{tolerance:0,offset:70,classes:{initial:"header",pinned:"header--down",unpinned:"header--up",top:"header",notTop:"header",bottom:"header",notBottom:"header"}}).init(),Util.initPjax(function(){0===$(".post__fix").length?$("body").addClass("body--gray"):$("body").removeClass("body--gray"),$(".header__nav a").each(function(){$(".header__nav a").removeClass("current"),this.href===location.href&&(this.className="current")})}),$("body").on("click",".content-reset img",function(){window.open(this.src)}),$(".header__nav a").each(function(){this.href===location.href&&(this.className="current")}).click(function(){$(".header__nav a").removeClass("current"),this.href===location.href&&(this.className="current")})},_initToc:function(){0===$(".content-reset .b3-solo-list li").length||$(window).width()<746?$(".post__toc .b3-solo-list").remove():($(".post__toc").html($(".b3-solo-list")).css("left",$(".post").offset().left+$(".post").outerWidth()),$(window).scroll(function(){72<$(window).scrollTop()?$(".post__toc").show():$(".post__toc").hide()}))},_initShare:function(){var t=$(".post__share"),e=t.find(".post__code"),o=e.data("url"),n=e.data("avatar"),i=encodeURIComponent(e.data("title")+" - "+e.data("blogtitle")),a=encodeURIComponent(o),s={};s.weibo="http://v.t.sina.com.cn/share/share.php?title="+i+"&url="+a+"&pic="+n,s.qqz="https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+a+"&sharesource=qzone&title="+i+"&pics="+n,s.twitter="https://twitter.com/intent/tweet?status="+i+" "+a,t.find("span").click(function(){var t=$(this).data("type");if(t)return"wechat"===t?(0===e.find("canvas").length?$.ajax({method:"GET",url:latkeConfig.staticServePath+"/js/lib/jquery.qrcode.min.js",dataType:"script",cache:!0,success:function(){e.qrcode({width:128,height:128,text:o})}}):e.find("canvas").slideToggle(),!1):void window.open(s[t],"_blank","top=100,left=200,width=648,height=618")})},initArticle:function(){new Headroom($(".post__fix")[0],{tolerance:0,offset:48,classes:{initial:"post__fix",pinned:"post__fix--pinned",unpinned:"post__fix--unpinned",top:"post__fix",notTop:"post__fix",bottom:"post__fix",notBottom:"post__fix"}}).init(),Skin._initShare(),Skin._initToc()}};Skin.init();

File diff suppressed because one or more lines are too long

View File

@@ -28,7 +28,7 @@
</head> </head>
<body class="body--gray"> <body class="body--gray">
<#include "header.ftl"> <#include "header.ftl">
<main id="pjax"> <main id="pjax" class="fn__flex-1">
<#if pjax><!---- pjax {#pjax} start ----></#if> <#if pjax><!---- pjax {#pjax} start ----></#if>
<div class="wrapper--min wrapper"> <div class="wrapper--min wrapper">
<div class="page__title"> <div class="page__title">

Some files were not shown because too many files have changed in this diff Show More