This commit is contained in:
Van 2019-03-22 19:25:36 +08:00
parent 60a8e6df33
commit b2fe147b13
No known key found for this signature in database
GPG Key ID: 7059B8783A78F16C
8 changed files with 472 additions and 260 deletions

71
tree-house/archives.ftl Normal file
View File

@ -0,0 +1,71 @@
<#--
Solo - A small and beautiful blogging system written in Java.
Copyright (c) 2010-2019, b3log.org & hacpai.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<#include "../../common-template/macro-common_head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${archiveLabel} - ${blogTitle}">
<link rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/base.css?${staticResourceVersion}"/>
</@head>
</head>
<body>
<div class="wrapper">
<div class="bg-bottom">
${topBarReplacement}
<div class="content">
<div class="header">
<#include "header.ftl">
</div>
<div class="body">
<div class="left main">
<#if 0 != archiveDates?size>
<ul class="tags fn__clear">
<#list archiveDates as archiveDate>
<li>
<#if "en" == localeString?substring(0, 2)>
<a class="post-title" href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}">
${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})
</a>
<#else>
<a class="post-title" href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}">
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}(${archiveDate.archiveDatePublishedArticleCount})
</a>
</#if>
</li>
</#list>
</ul>
</#if>
</div>
<div class="left side">
<#include "side.ftl">
</div>
<div class="clear"></div>
</div>
<div class="footer">
<#include "footer.ftl">
</div>
</div>
</div>
</div>
<script type="text/javascript">
Util.buildTags();
</script>
</body>
</html>

View File

@ -39,9 +39,9 @@
<div class="left article-info">
<div class="article-date">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yyyy-MM-dd HH:mm:ss")}
${article.articleUpdateDate?string("yyyy-MM-dd")}<br>${article.articleUpdateDate?string("HH:mm:ss")}
<#else>
${article.articleCreateDate?string("yyyy-MM-dd HH:mm:ss")}
${article.articleCreateDate?string("yyyy-MM-dd")}<br>${article.articleCreateDate?string("HH:mm:ss")}
</#if>
</div>
<div class="article-comment">
@ -62,7 +62,9 @@
</div>
<div class="clear"></div>
</div>
<#if article_has_next>
<div class="line right"></div>
</#if>
<div class="clear"></div>
</#list>
<#if 0 != paginationPageCount>

View File

@ -99,12 +99,10 @@
${article.articleCreateDate?string("yyyy-MM-dd HH:mm:ss")}&nbsp;&nbsp;
</span>
<a rel="nofollow" href="${servePath}${article.articlePermalink}#comments" class="left">
<span class="left commentIcon" title="${commentLabel}"></span>
&nbsp;${article.articleCommentCount}&nbsp;&nbsp;
&nbsp;${article.articleCommentCount} ${commentLabel}&nbsp;&nbsp;
</a>
<a rel="nofollow" href="${servePath}${article.articlePermalink}" class="left">
<span class="left browserIcon" title="${viewLabel}"></span>
&nbsp;&nbsp;${article.articleViewCount}&nbsp;&nbsp;
&nbsp;&nbsp;${article.articleViewCount} ${viewLabel}&nbsp;&nbsp;
</a>
</div>
<div class="clear"></div>

File diff suppressed because one or more lines are too long

View File

@ -20,459 +20,580 @@
* skin tree-house style
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.1.0.1, Mar 16, 2019
* @version 2.2.0.0, Mar 22, 2019
*/
@import "../../../scss/reset";
@import "../../../scss/toc";
@import "../../../scss/usite";
@import "../../../scss/function";
@import "vditor/src/assets/scss/classic";
.user__site {
margin-left: 5px;
}
.tags li {
float: left;
list-style: none;
a {
line-height: 19px;
padding: 5px 10px 4px 23px;
margin: 0 10px 10px 0;
background-color: rgba(255, 255, 255, 0.39);
display: block;
&:hover {
background: url(../images/bg-menu-active.png) repeat scroll -8px -8px transparent;
text-decoration: none;
color: #EC0A8B;
}
}
}
.left {
float: left;
float: left;
}
.right {
float: right;
float: right;
}
.clear:before,
.clear:after {
display: table;
content: "";
display: table;
content: "";
}
.clear:after {
clear: both;
clear: both;
}
.none {
display: none;
display: none;
}
.marginLeft12 {
margin-left: 12px;
}
.marginBottom12 {
margin-bottom: 12px;
}
html {
min-width: 948px;
min-width: 948px;
}
body {
background: url("../images/bg-tree.jpg") repeat-y scroll 50% 0 #7BCCFF;
color: #42423D;
min-width: 948px;
background: url("../images/bg-tree.jpg") repeat-y scroll 50% 0 #7BCCFF;
color: #42423D;
min-width: 948px;
}
a, a:link, a:visited {
color: #FFFFFF;
text-decoration: none;
color: #FFFFFF;
text-decoration: none;
}
a:hover {
text-decoration: underline;
text-decoration: underline;
}
h5 {
font-size: 12px;
font-size: 12px;
}
img {
max-width: 100%;
vertical-align: middle;
border: 0;
height: auto;
-ms-interpolation-mode: bicubic;
overflow: hidden;
font-size: 12px;
max-width: 100%;
vertical-align: middle;
border: 0;
height: auto;
-ms-interpolation-mode: bicubic;
overflow: hidden;
font-size: 12px;
}
.wrapper {
background: url("../images/bg-header.jpg") no-repeat scroll 50% 0 transparent;
background: url("../images/bg-header.jpg") no-repeat scroll 50% 0 transparent;
}
.bg-bottom {
background: url("../images/bg-footer2.jpg") no-repeat scroll 50% 100% transparent;
background: url("../images/bg-footer2.jpg") no-repeat scroll 50% 100% transparent;
}
.content {
margin: 0 auto;
width: 948px;
margin: 0 auto;
width: 948px;
}
.header {
height: 476px;
width: 100%;
height: 476px;
width: 100%;
}
.header-navi {
position: relative;
z-index: 10;
position: relative;
z-index: 10;
}
.header-navi ul {
list-style: none outside none;
margin-top: 20px;
list-style: none outside none;
margin-top: 20px;
}
.header-navi li {
float: left;
float: left;
}
.header-navi .page-icon {
float: left;
height: 14px;
width: 14px;
margin: 2px 3px 0 0;
float: left;
height: 14px;
width: 14px;
margin: 2px 3px 0 0;
}
.header-title {
color: #FFFFFF;
margin-left: 146px;
padding-top: 222px;
position: relative;
color: #FFFFFF;
margin-left: 146px;
padding-top: 222px;
position: relative;
}
#logoTitle {
color: #FFFFFF;
font-size: 52px;
text-decoration: none;
color: #FFFFFF;
font-size: 52px;
text-decoration: none;
}
.header-title div {
color: DimGray;
width: 300px;
color: DimGray;
width: 320px;
}
.side {
margin: 0 0 0 -21px;
width: 256px;
margin: 0 0 0 -21px;
width: 256px;
}
.body {
min-height: 643px;
padding-bottom: 682px;
min-height: 643px;
padding-bottom: 682px;
}
.main {
width: 634px;
width: 634px;
}
.footer {
color: Lavender;
padding: 12px;
text-align: center;
color: Lavender;
padding: 12px;
text-align: center;
}
.footer a {
font-weight: bold;
font-weight: bold;
}
.article {
overflow: hidden;
width: 553px;
overflow: hidden;
width: 553px;
}
.article-header sup {
color: red;
font-size: 12px;
color: red;
font-size: 12px;
}
.article-header h2 {
color: #242323;
font-weight: bold;
margin-left: 6px;
position: relative;
color: #242323;
font-weight: bold;
margin-left: 6px;
position: relative;
}
.article-header h2 a {
color: #242323;
display: block;
padding: 3px 0 4px 10px;
text-decoration: none;
color: #242323;
display: block;
padding: 3px 0 4px 10px;
text-decoration: none;
}
.article-header h2 a:hover {
background-color: #242323;
color: #EC0A8B;
background-color: #242323;
color: #EC0A8B;
}
.article-info {
margin: 10px 0 0 9px;
width: 109px;
margin: 10px 0 0 9px;
width: 109px;
}
.article-main {
margin: 10px 0 0 9px;
min-height: 150px;
width: 426px;
margin: 10px 0 0 9px;
min-height: 150px;
width: 426px;
}
.article-tags {
background-color: #EC0A8B;
float: left;
font-style: normal;
height: 21px;
line-height: 21px;
margin: 0 10px 10px 0;
padding: 3px 10px;
background-color: #EC0A8B;
float: left;
font-style: normal;
height: 21px;
line-height: 21px;
margin: 0 10px 10px 0;
padding: 3px 10px;
}
.article-abstract {
color: #42423D;
line-height: 145%;
overflow: hidden;
padding: 6px 10px 12px 0;
text-align: justify;
word-wrap: break-word;
color: #42423D;
line-height: 145%;
overflow: hidden;
padding: 6px 10px 12px 0;
text-align: justify;
word-wrap: break-word;
}
.main .line {
background: url("../images/bg-branch.png") no-repeat scroll 0 0 transparent;
height: 108px;
width: 575px;
background: url("../images/bg-branch.png") no-repeat scroll 0 0 transparent;
height: 108px;
width: 575px;
}
.article-date {
background-color: #D4F2FB;
border: 6px solid #A8D3ED;
border-radius: 5px;
margin-left: 16px;
padding: 6px;
width: 65px;
background-color: #D4F2FB;
border: 6px solid #A8D3ED;
border-radius: 5px;
margin-left: 6px;
padding: 6px;
width: 74px;
}
.article-comment {
background: url("../images/bg-comments.png") no-repeat scroll 0 0 transparent;
font-size: 12px;
height: 22px;
margin: 24px 0 0;
padding: 29px 0 0;
text-align: center;
background: url("../images/bg-comments.png") no-repeat scroll 0 0 transparent;
font-size: 12px;
height: 22px;
margin: 24px 0 0;
padding: 27px 0 0;
text-align: center;
}
.article-comment a {
color: #42423D;
color: #42423D;
}
.main h2.title {
color: #FF9000;
margin: -34px 0 12px;
text-align: center;
color: #FF9000;
margin: -34px 0 12px;
text-align: center;
}
.main h2 span {
color: DimGray;
float: right;
font-size: 12px;
margin-top: 7px;
padding-right: 10px;
color: DimGray;
float: right;
font-size: 12px;
margin-top: 7px;
padding-right: 10px;
}
.vditor-reset {
margin: 0 12px 12px;
margin: 0 12px 12px;
}
.vditor-reset a, .article-abstract a {
color: #242323;
text-decoration: underline;
color: #242323;
text-decoration: underline;
}
.article-footer {
margin-right: 12px;
margin-right: 12px;
}
.article-details-footer a {
line-height: 16px;
line-height: 16px;
}
.article-details-footer {
margin: 36px 12px 0 0;
margin: 36px 12px 0 0;
}
.article-details-footer .right a:hover {
text-decoration: none;
text-decoration: none;
}
.article-relative {
line-height: 145%;
margin: 12px 0;
line-height: 145%;
margin: 12px 0;
}
.comments {
padding-left: 99px;
position: relative;
padding-left: 99px;
position: relative;
}
.comments-header {
background: url("../images/balloons.png") no-repeat scroll 0 0 transparent;
height: 88px;
left: 100px;
position: relative;
top: 40px;
width: 440px;
z-index: 10;
background: url("../images/balloons.png") no-repeat scroll 0 0 transparent;
height: 88px;
left: 100px;
position: relative;
top: 40px;
width: 440px;
z-index: 10;
}
.comment-top {
background: url("../images/bg-comments-top.png") no-repeat scroll 0 0 transparent;
height: 22px;
background: url("../images/bg-comments-top.png") no-repeat scroll 0 0 transparent;
height: 22px;
}
.comment-body {
background: url("../images/bg-comments-body.png") repeat-y scroll 0 0 transparent;
color: #42423D;
margin-left: -1px;
overflow: hidden;
padding: 0 27px 2px 27px;
width: 401px;
word-wrap: break-word;
background: url("../images/bg-comments-body.png") repeat-y scroll 0 0 transparent;
color: #42423D;
margin-left: -1px;
overflow: hidden;
padding: 0 27px 2px 27px;
width: 401px;
word-wrap: break-word;
}
.comment-body a {
color: #42423D;
color: #42423D;
}
.comment-body td {
white-space: normal;
white-space: normal;
}
.comment-bottom {
background: url("../images/bg-comments-bottom.png") no-repeat scroll 0 0 transparent;
height: 23px;
background: url("../images/bg-comments-bottom.png") no-repeat scroll 0 0 transparent;
height: 23px;
}
.comment-title {
padding-bottom: 6px;
padding-bottom: 6px;
}
.comment-title a {
color: #42423D;
font-weight: bold;
color: #42423D;
font-weight: bold;
}
.comment-body-ref {
left: 182px;
opacity: 0.9;
position: absolute;
top: 16px;
z-index: 16;
left: 182px;
opacity: 0.9;
position: absolute;
top: 16px;
z-index: 16;
}
img.comment-picture {
height: 60px;
padding: 0px 6px 4px 0;
width: 60px;
height: 60px;
padding: 0px 6px 4px 0;
width: 60px;
}
.comment-reply {
margin: 0 auto 24px auto;
margin: 0 auto 24px auto;
}
#commentURL:focus, #commentURLReply:focus {
box-shadow: -3px 1px 2px rgba(0, 0, 0, 0.3) inset;
box-shadow: -3px 1px 2px rgba(0, 0, 0, 0.3) inset;
}
#comment, #commentReply {
resize: vertical;
resize: vertical;
}
.error-msg {
color: #EC0A8B;
font-weight: bold;
white-space: normal;
color: #EC0A8B;
font-weight: bold;
white-space: normal;
}
#sideNavi .line {
background: url("../images/bg-branch-small.png") no-repeat;
height: 69px;
margin-top: 12px;
background: url("../images/bg-branch-small.png") no-repeat;
height: 69px;
margin-top: 12px;
}
#sideNavi .block {
margin-left: 64px;
margin-left: 64px;
}
#sideNavi h3 {
background: url("../images/bg-heading.png") no-repeat scroll 0 0 transparent;
color: #EC0A8B;
font-size: 15px;
height: 30px;
padding: 38px 0 0 12px;
background: url("../images/bg-heading.png") no-repeat scroll 0 0 transparent;
color: #EC0A8B;
font-size: 15px;
height: 30px;
padding: 36px 12px 0 12px;
}
#sideNavi .notice h3 {
background-image: url("../images/bg-heading-about-us.png");
background-image: url("../images/bg-heading-about-us.png");
}
#sideNavi #recentComments img {
height: 16px;
vertical-align: middle;
width: 16px;
height: 16px;
vertical-align: middle;
width: 16px;
}
#sideNavi #recentCommentsLabel {
background-image: url("../images/bg-heading-portfolio.png");
background-image: url("../images/bg-heading-portfolio.png");
}
#sideNavi .mostCommentArticles h3 {
background-image: url("../images/bg-heading-categories.png");
background-image: url("../images/bg-heading-categories.png");
}
#sideNavi .mostViewCountArticles h3 {
background-image: url("../images/bg-heading-resources.png");
margin-bottom: 6px;
background-image: url("../images/bg-heading-resources.png");
margin-bottom: 6px;
}
#sideNavi .notice>div {
margin: 12px 12px 12px 17px;
#sideNavi .notice > div {
margin: 12px 12px 12px 17px;
}
#sideNavi ul {
margin-left: 5px;
width: 182px;
list-style: none;
margin-left: 5px;
width: 182px;
list-style: none;
}
#sideNavi li {
border-bottom: 1px dotted #FFFFFF;
font-size: 12px;
margin-left: 0;
overflow: hidden;
position: relative;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
vertical-align: top;
border-bottom: 1px dotted #FFFFFF;
font-size: 12px;
margin-left: 0;
overflow: hidden;
position: relative;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
vertical-align: top;
height: 29px;
}
#sideNavi li:hover {
background: url("../images/bg-menu-active.png") repeat scroll -8px -8px transparent;
color: #EC0A8B;
font-weight: bold;
background: url("../images/bg-menu-active.png") repeat scroll -8px -8px transparent;
color: #EC0A8B;
font-weight: bold;
}
#sideNavi li:hover a {
color: #EC0A8B;
padding-left: 24px;
color: #EC0A8B;
padding-left: 24px;
}
#sideNavi li>a {
color: #42423D;
line-height: 29px;
margin: 0;
overflow: hidden;
padding-left: 6px;
text-decoration: none;
white-space: nowrap;
width: 167px;
#sideNavi li > a {
color: #42423D;
line-height: 29px;
margin: 0;
overflow: hidden;
padding-left: 6px;
text-decoration: none;
white-space: nowrap;
width: 167px;
}
#sideNavi li>a sup {
margin-right: 3px;
line-height: 12px;
color: #EC0A8B;
#sideNavi li > a sup {
margin-right: 3px;
line-height: 12px;
color: #EC0A8B;
}
#sideNavi li>div {
display: none;
#sideNavi li > div {
display: none;
}
#sideNavi li p {
display: inline;
display: inline;
}
#sideNavi .popTags li>a {
padding-left: 40px;
width: 143px;
#sideNavi .popTags li > a {
padding-left: 40px;
width: 143px;
}
#sideNavi .popTags li img {
cursor: pointer;
height: 16px;
left: 19px;
position: absolute;
top: 7px;
width: 16px;
cursor: pointer;
height: 16px;
left: 19px;
position: absolute;
top: 7px;
width: 16px;
}
#sideNavi .popTags li:hover a {
padding-left: 46px;
width: 137px;
padding-left: 46px;
width: 137px;
}
#sideNavi .popTags li:hover img {
left: 25px;
left: 25px;
}
#statistic {
height: 138px;
line-height: 24px;
margin: 28px 0 0 80px;
height: 138px;
line-height: 24px;
margin: 28px 0 0 80px;
}
.pagination {
margin: 16px;
text-align: center;
margin: 16px;
text-align: center;
}
.pagination a, .pagination a:visited {
padding: 0 3px;
padding: 0 3px;
}
.pagination a.selected {
color: #42423D;
font-weight: bold;
color: #42423D;
font-weight: bold;
}
#tagsPanel {
width: 553px;
width: 553px;
}
#tagsPanel .tagPanel {
background-color: #EEEEEE;
border: 2px solid;
border-radius: 6px;
cursor: pointer;
float: left;
margin: 3px;
background-color: #EEEEEE;
border: 2px solid;
border-radius: 6px;
cursor: pointer;
float: left;
margin: 3px;
}
#tagsPanel .tagPanel:hover {
background-color: transparent;
border: 2px dashed;
background-color: transparent;
border: 2px dashed;
}
#tagsPanel .tagPanel {
text-decoration: none;
text-decoration: none;
}
.error-title {
width: 553px;
width: 553px;
}
.error-panel {
padding: 24px;
padding: 24px;
}
.error-title {
background-color: #242323;
color: #EC0A8B;
display: block;
padding: 3px 10px 4px 10px;
position: relative;
background-color: #242323;
color: #EC0A8B;
display: block;
padding: 3px 10px 4px 10px;
position: relative;
}
.goTopIcon {
background-position: -128px -32px;
background-position: -128px -32px;
}
.goBottomIcon {
background-position: -144px -32px;
background-position: -144px -32px;
}

View File

@ -30,7 +30,9 @@
<a href="${servePath}/tags.html">${allTagsLabel}</a>&nbsp;&nbsp;
</li>
<li>
<a rel="alternate" href="${servePath}/rss.xml">RSS</a><a href="${servePath}/rss.xml"><img src="${staticServePath}/images/feed.png" alt="RSS"/></a> &nbsp;
<a rel="alternate" href="${servePath}/rss.xml">
<img class="page-icon" src="${staticServePath}/images/feed.png" alt="RSS"/>RSS</a>
</a> &nbsp;&nbsp;
</li>
<li>
<a href="${servePath}/search?keyword=">Search</a>
@ -44,4 +46,9 @@
</a>
</h1>
<div>${blogSubtitle}</div>
<#include "../../common-template/macro-user_site.ftl"/>
<div>
<br>
<@userSite dir="ne"/>
</div>
</div>

View File

@ -45,6 +45,16 @@
</div>
<div class="line"></div>
</#if>
<#if article?? && article.articleToC?? && article.articleToC?size &gt; 0>
<div class="block">
<h3>${tocLabel}</h3>
<#include "../../common-template/toc.ftl"/>
</div>
<div class="line"></div>
</#if>
<#if 0 != recentComments?size>
<div class="block">
<h3 id="recentCommentsLabel">${recentCommentsLabel}</h3>
@ -147,7 +157,10 @@
</#if>
<#if 0 != archiveDates?size>
<div class="block">
<h3>${archiveLabel}</h3>
<h3 class="fn__clear">
${archiveLabel}
<a class="fn__right" href="${servePath}/archives.html">More</a>
</h3>
<ul>
<#list archiveDates as archiveDate>
<#if archiveDate_index < 10>

View File

@ -35,7 +35,7 @@
</div>
<div class="body">
<div class="left main">
<ul id="tags">
<ul id="tags" class="tags fn__clear">
<#list tags as tag>
<li>
<a rel="tag" data-count="${tag.tagPublishedRefCount}" href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}" title="${tag.tagTitle}">