📝 update title
This commit is contained in:
parent
dbb3b29bda
commit
2af4532528
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -30,18 +30,17 @@
|
||||
</head>
|
||||
<body>
|
||||
<#include "header.ftl">
|
||||
<div class="main">
|
||||
<div id="pjax" class="content">
|
||||
<div id="pjax" class="wrapper">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
<main>
|
||||
<div class="module">
|
||||
<div class="module__content ft__center">
|
||||
<i class="icon__home"></i>
|
||||
<a href="${servePath}" class="breadcrumb">${blogTitle}</a>
|
||||
>
|
||||
<i class="icon__inbox"></i>
|
||||
<a href="${servePath}/archives.html" class="breadcrumb">${archiveLabel}</a>
|
||||
>
|
||||
<div class="article__item">
|
||||
<h2 class="article__title">
|
||||
<a href="${servePath}/archives.html">
|
||||
<i class="icon__inbox"></i>
|
||||
${archiveLabel}
|
||||
</a>
|
||||
</h2>
|
||||
<div class="article__more">
|
||||
<#if "en" == localeString?substring(0, 2)>
|
||||
${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear}
|
||||
<#else>
|
||||
@ -53,9 +52,7 @@
|
||||
<#include "article-list.ftl">
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
<#include "footer.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
</body>
|
||||
</html>
|
||||
|
@ -21,54 +21,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
</head>
|
||||
<body>
|
||||
<#include "header.ftl">
|
||||
<div class="main">
|
||||
<div id="pjax" class="content">
|
||||
<div id="pjax" class="wrapper">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
<main>
|
||||
<div class="module">
|
||||
<div class="module__content ft__center">
|
||||
<i class="icon__home"></i>
|
||||
<a href="${servePath}" class="breadcrumb">${blogTitle}</a>
|
||||
>
|
||||
<i class="icon__inbox"></i>
|
||||
${statistic.statisticPublishedBlogArticleCount} ${archiveLabel}${articleLabel}
|
||||
</div>
|
||||
<div class="article__item">
|
||||
<h2 class="article__title">
|
||||
<i class="icon__inbox"></i> ${archiveLabel}${articleLabel}
|
||||
</h2>
|
||||
<div class="ft__gray">
|
||||
${statistic.statisticPublishedBlogArticleCount} ${countLabel}
|
||||
</div>
|
||||
<div class="module">
|
||||
<div class="module__list">
|
||||
<#if 0 != archiveDates?size>
|
||||
<ul>
|
||||
<#list archiveDates as archiveDate>
|
||||
<li>
|
||||
<#if "en" == localeString?substring(0, 2)>
|
||||
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}">
|
||||
${archiveDate.monthName} ${archiveDate.archiveDateYear}
|
||||
(${archiveDate.archiveDatePublishedArticleCount})
|
||||
</a>
|
||||
<#else>
|
||||
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}">
|
||||
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}
|
||||
(${archiveDate.archiveDatePublishedArticleCount})
|
||||
</a>
|
||||
</#if>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</#if>
|
||||
</div>
|
||||
<div class="tags fn__clear">
|
||||
<#list archiveDates as archiveDate>
|
||||
<#if "en" == localeString?substring(0, 2)>
|
||||
<a class="ft__red" href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}">
|
||||
${archiveDate.monthName} ${archiveDate.archiveDateYear}
|
||||
<span class="ft__gray">(${archiveDate.archiveDatePublishedArticleCount})</span>
|
||||
</a>
|
||||
<#else>
|
||||
<a class="ft__red"
|
||||
href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}">
|
||||
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}
|
||||
<span class="ft__gray">(${archiveDate.archiveDatePublishedArticleCount})</span>
|
||||
</a>
|
||||
</#if>
|
||||
</#list>
|
||||
</div>
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
<#include "footer.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
</body>
|
||||
</html>
|
||||
|
@ -17,16 +17,9 @@
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<div class="article-list">
|
||||
<#list articles as article>
|
||||
<article class="item <#if article_index < 3>item--active</#if>">
|
||||
<time class="tooltipped tooltipped__n item__date"
|
||||
aria-label="${article.articleCreateDate?string("yyyy")}${yearLabel}">
|
||||
${article.articleCreateDate?string("MM")}${monthLabel}
|
||||
<span class="item__day">${article.articleCreateDate?string("dd")}</span>
|
||||
</time>
|
||||
|
||||
<h2 class="item__title">
|
||||
<#list articles as article>
|
||||
<article class="article__item">
|
||||
<h2 class="article__title">
|
||||
<a rel="bookmark" href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
@ -41,58 +34,45 @@
|
||||
</sup>
|
||||
</#if>
|
||||
</h2>
|
||||
|
||||
<div class="item__date--m fn__none">
|
||||
<i class="icon__date"></i>
|
||||
${article.articleCreateDate?string("yyyy-MM-dd")}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="ft__center">
|
||||
<span class="tag">
|
||||
<i class="icon__tags"></i>
|
||||
<#list article.articleTags?split(",") as articleTag>
|
||||
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
|
||||
${articleTag}</a><#if articleTag_has_next>,</#if>
|
||||
</#list>
|
||||
</span>
|
||||
<a class="tag" href="${servePath}${article.articlePermalink}#comments">
|
||||
<i class="icon__comments"></i> ${article.articleCommentCount} ${commentLabel}
|
||||
</a>
|
||||
<span class="tag">
|
||||
<i class="icon__views"></i>
|
||||
${article.articleViewCount} ${viewLabel}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="content-reset">
|
||||
<time class="ft__gray">
|
||||
${article.articleCreateDate?string("yyyy-MM-dd")}${monthLabel}
|
||||
</time>
|
||||
<div class="content-reset article__content">
|
||||
${article.articleAbstract}
|
||||
</div>
|
||||
<a class="article__more" href="">More...</a>
|
||||
</article>
|
||||
</#list>
|
||||
</#list>
|
||||
|
||||
|
||||
<#if 0 != paginationPageCount>
|
||||
<div class="fn__clear">
|
||||
<nav class="pagination fn__right">
|
||||
<#if 1 != paginationPageNums?first>
|
||||
<a href="${servePath}${path}?p=${paginationPreviousPageNum}" class="pagination__item">«</a>
|
||||
<a class="pagination__item" href="${servePath}${path}">1</a>
|
||||
<span class="pagination__item pagination__item--text">...</span>
|
||||
</#if>
|
||||
<#list paginationPageNums as paginationPageNum>
|
||||
<#if paginationPageNum == paginationCurrentPageNum>
|
||||
<span class="pagination__item pagination__item--current">${paginationPageNum}</span>
|
||||
<#else>
|
||||
<a class="pagination__item" href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
|
||||
</#if>
|
||||
</#list>
|
||||
<#if paginationPageNums?last != paginationPageCount>
|
||||
<span class="pagination__item pagination__item--text">...</span>
|
||||
<a href="${servePath}${path}?p=${paginationPageCount}" class="pagination__item">${paginationPageCount}</a>
|
||||
<a href="${servePath}${path}?p=${paginationNextPageNum}" class="pagination__item">»</a>
|
||||
</#if>
|
||||
</nav>
|
||||
<#if 0 != paginationPageCount>
|
||||
<nav class="fn__flex pagination">
|
||||
<#if 1 != paginationPageNums?first>
|
||||
<a href="${servePath}${path}?p=${paginationPreviousPageNum}" class="pagination__item fn__flex-center">« Prev</a>
|
||||
</#if>
|
||||
|
||||
<div class="fn__flex-1 ft__center">
|
||||
<#if 1 != paginationPageNums?first>
|
||||
<a class="pagination__item" href="${servePath}${path}">1</a>
|
||||
<span class="pagination__item">...</span>
|
||||
</#if>
|
||||
<#list paginationPageNums as paginationPageNum>
|
||||
<#if paginationPageNum == paginationCurrentPageNum>
|
||||
<span class="pagination__item pagination__item--current">${paginationPageNum}</span>
|
||||
<#else>
|
||||
<a class="pagination__item"
|
||||
href="${servePath}${path}?p=${paginationPageNum}">${paginationPageNum}</a>
|
||||
</#if>
|
||||
</#list>
|
||||
<#if paginationPageNums?last != paginationPageCount>
|
||||
<span class="pagination__item">...</span>
|
||||
<a href="${servePath}${path}?p=${paginationPageCount}"
|
||||
class="pagination__item">${paginationPageCount}</a>
|
||||
</#if>
|
||||
</div>
|
||||
</#if>
|
||||
</div>
|
||||
|
||||
<#if paginationPageNums?last != paginationPageCount>
|
||||
<a href="${servePath}${path}?p=${paginationNextPageNum}" class="pagination__item fn__flex-center">Next »</a>
|
||||
</#if>
|
||||
</nav>
|
||||
</#if>
|
@ -152,7 +152,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
|
55
Jane/categories.ftl
Normal file
55
Jane/categories.ftl
Normal file
@ -0,0 +1,55 @@
|
||||
<#--
|
||||
|
||||
Solo - A small and beautiful blogging system written in Java.
|
||||
Copyright (c) 2010-2018, b3log.org & hacpai.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<#include "macro-head.ftl">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${categoryLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${categoryLabel}"/>
|
||||
<meta name="description"
|
||||
content="<#list mostUsedCategories as category>${category.categoryTitle}<#if category_has_next>,</#if></#list>"/>
|
||||
</@head>
|
||||
</head>
|
||||
<body>
|
||||
<#include "header.ftl">
|
||||
<div id="pjax" class="wrapper">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
<main>
|
||||
<div class="module">
|
||||
<div class="module__content ft__center">
|
||||
<i class="icon__home"></i>
|
||||
<a href="${servePath}" class="breadcrumb">${blogTitle}</a>
|
||||
>
|
||||
<i class="icon__category"></i>
|
||||
${categoryLabel}
|
||||
</div>
|
||||
</div>
|
||||
<#list mostUsedCategories as category>
|
||||
<a href="${servePath}/category/${category.categoryURI}"
|
||||
aria-label="${category.categoryTagCnt} ${cntLabel}${tagsLabel}"
|
||||
class="tag tooltipped tooltipped__n">
|
||||
${category.categoryTitle}</a>
|
||||
</#list>
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
<#include "footer.ftl">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -49,7 +49,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
</body>
|
||||
|
@ -20,7 +20,7 @@
|
||||
* skin style
|
||||
*
|
||||
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
|
||||
* @version 0.1.0.0, Dec 6, 2018
|
||||
* @version 0.1.0.0, Dec 7, 2018
|
||||
*/
|
||||
/*
|
||||
* Symphony - A modern community (forum/BBS/SNS/blog) platform written in Java.
|
||||
@ -728,449 +728,105 @@ blockquote {
|
||||
.icon__rss:before {
|
||||
content: "\e901"; }
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
display: none; }
|
||||
|
||||
a {
|
||||
transition: all .3s; }
|
||||
|
||||
.ft__red {
|
||||
color: #b94a48; }
|
||||
color: #991a1a; }
|
||||
|
||||
.module {
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
|
||||
transition: all .3s; }
|
||||
.module.item {
|
||||
transform: translateY(30px);
|
||||
transition: transform 2s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
|
||||
.module.item--active {
|
||||
transform: translate(0); }
|
||||
.module:hover {
|
||||
box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8); }
|
||||
.module__content {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
padding: 15px;
|
||||
color: #3d4450;
|
||||
display: block; }
|
||||
.module__content:hover {
|
||||
background-color: #fff; }
|
||||
.module__content--three {
|
||||
padding-bottom: 0; }
|
||||
.module__header {
|
||||
background-color: rgba(10, 10, 0, 0.7);
|
||||
padding: 15px;
|
||||
color: #fff; }
|
||||
.module__header a {
|
||||
color: #fff; }
|
||||
.module__header:hover {
|
||||
background-color: rgba(10, 10, 0, 0.9); }
|
||||
.module__list li {
|
||||
border-bottom: 1px solid #ddd;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
line-height: 20px; }
|
||||
.module__list li a {
|
||||
padding: 15px 15px;
|
||||
display: block;
|
||||
color: #3d4450; }
|
||||
.module__list li a:hover {
|
||||
text-decoration: none;
|
||||
color: #b94a48;
|
||||
background-color: #fff; }
|
||||
.ft__gray {
|
||||
color: #999; }
|
||||
|
||||
.form {
|
||||
position: relative; }
|
||||
.form__input {
|
||||
border: 1px solid #7266BA;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 15px;
|
||||
border-radius: 15px;
|
||||
width: 100%;
|
||||
box-sizing: border-box; }
|
||||
.content-reset {
|
||||
color: #555;
|
||||
font-size: 14px; }
|
||||
|
||||
.header {
|
||||
top: 0;
|
||||
background-color: #2a2a2a;
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
height: 100%;
|
||||
width: 33px; }
|
||||
.header a {
|
||||
width: 50px; }
|
||||
.header a, .header span {
|
||||
color: #fff;
|
||||
padding: 0 15px;
|
||||
display: inline-block; }
|
||||
.header a.current, .header a:hover {
|
||||
text-decoration: none;
|
||||
background-color: rgba(102, 88, 184, 0.8); }
|
||||
.header__logo {
|
||||
position: absolute;
|
||||
left: 30px; }
|
||||
.header__nav {
|
||||
text-align: center; }
|
||||
.header__nav img {
|
||||
float: left;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
margin: 15px 5px 0 0; }
|
||||
.header__login {
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
top: 0; }
|
||||
|
||||
.main {
|
||||
max-width: 1170px;
|
||||
padding: 30px;
|
||||
margin: auto;
|
||||
display: flex; }
|
||||
|
||||
.content {
|
||||
flex: 1;
|
||||
min-width: 1px; }
|
||||
|
||||
.side {
|
||||
width: 280px;
|
||||
min-width: 280px;
|
||||
margin-left: 30px; }
|
||||
.side__btn {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
top: 5px;
|
||||
position: absolute;
|
||||
right: 10px; }
|
||||
.side__avatar {
|
||||
border-radius: 50%;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
padding: 10px 0;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 15px;
|
||||
transition: transform .3s;
|
||||
margin-top: 10px; }
|
||||
.side__avatar:hover {
|
||||
transform: rotate(360deg) scale(1.2);
|
||||
border: 5px solid rgba(114, 102, 186, 0.36);
|
||||
margin-top: 0; }
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
width: 100%; }
|
||||
.header a img, .header span img {
|
||||
height: 17px;
|
||||
width: 17px; }
|
||||
.header a.current, .header a:hover, .header span.current, .header span:hover {
|
||||
text-decoration: none;
|
||||
color: #999; }
|
||||
.header__bottom {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0; }
|
||||
|
||||
.tag {
|
||||
float: left;
|
||||
color: #fff;
|
||||
padding: 2px 5px;
|
||||
border: 1px solid transparent;
|
||||
height: 20px;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
background-color: rgba(10, 10, 0, 0.7);
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
line-height: 21px;
|
||||
margin: 0 15px 15px 0; }
|
||||
.tag a {
|
||||
color: #fff; }
|
||||
.tag:hover {
|
||||
background-color: #b94a48;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
text-decoration: none; }
|
||||
|
||||
.breadcrumb {
|
||||
color: #7266BA !important; }
|
||||
.breadcrumb:hover {
|
||||
color: #3d4450 !important; }
|
||||
.wrapper {
|
||||
max-width: 920px;
|
||||
margin: 0 auto;
|
||||
padding: 0 20px; }
|
||||
|
||||
.footer {
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
padding: 15px;
|
||||
margin-bottom: 30px; }
|
||||
color: #999;
|
||||
padding: 30px 0;
|
||||
line-height: 1.6em;
|
||||
font-size: 0.85em; }
|
||||
.footer a {
|
||||
color: #7266BA; }
|
||||
color: #991a1a; }
|
||||
|
||||
.article-list .item {
|
||||
border-radius: 5px;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
|
||||
padding: 15px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
position: relative;
|
||||
transition: all 0.3s, transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
transform: perspective(2500px) rotateX(-100deg); }
|
||||
.article-list .item--active {
|
||||
transform: perspective(2500px) rotateX(0); }
|
||||
.article-list .item:hover {
|
||||
background-color: #fff;
|
||||
box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8); }
|
||||
.article-list .item .tag {
|
||||
float: none;
|
||||
display: inline-block; }
|
||||
.article-list .item__title {
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
font-weight: 500; }
|
||||
.article-list .item__title a {
|
||||
color: rgba(10, 10, 0, 0.7);
|
||||
padding: 0 15px;
|
||||
border-radius: 5px;
|
||||
display: inline-block;
|
||||
margin-bottom: 15px;
|
||||
line-height: 36px; }
|
||||
.article-list .item__title a:hover {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
background-color: #6658b8; }
|
||||
.article-list .item__title > sup {
|
||||
color: #b94a48; }
|
||||
.article-list .item__date {
|
||||
position: absolute;
|
||||
background-color: #7266BA;
|
||||
color: #fff;
|
||||
height: 70px;
|
||||
width: 70px;
|
||||
font-size: 12px;
|
||||
top: -20px;
|
||||
border-radius: 35px;
|
||||
left: -20px;
|
||||
text-align: center;
|
||||
padding-top: 9px;
|
||||
box-sizing: border-box; }
|
||||
.article-list .item__day {
|
||||
font-size: 30px;
|
||||
display: block; }
|
||||
.article__item {
|
||||
margin: 50px 0;
|
||||
border-bottom: 1px dashed #d9d9d9;
|
||||
text-align: justify; }
|
||||
|
||||
.pagination__item {
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
padding: 0 10px;
|
||||
line-height: 24px;
|
||||
display: inline-block;
|
||||
margin: 0 0 10px 10px;
|
||||
background-color: rgba(114, 102, 186, 0.58); }
|
||||
.pagination__item--text {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
color: #7266BA; }
|
||||
.pagination__item--current {
|
||||
background-color: #6658b8; }
|
||||
.article__title {
|
||||
padding: 20px 0; }
|
||||
.article__title a {
|
||||
text-decoration: none;
|
||||
font-size: 25px;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
transition: color 0.2s; }
|
||||
.article__title a:hover {
|
||||
color: #991a1a; }
|
||||
|
||||
.pagination a.pagination__item:hover {
|
||||
.article__content {
|
||||
margin: 20px 0; }
|
||||
.article__content > p:last-child {
|
||||
margin-bottom: 0; }
|
||||
|
||||
.article__more {
|
||||
margin-bottom: 70px;
|
||||
text-decoration: none;
|
||||
background-color: #6658b8; }
|
||||
color: #991a1a;
|
||||
display: block; }
|
||||
|
||||
.comments {
|
||||
position: relative; }
|
||||
.comments__item {
|
||||
border-radius: 5px;
|
||||
list-style: none;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
|
||||
transition: all .3s; }
|
||||
.comments__item:hover {
|
||||
box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8); }
|
||||
.comments__item:hover .comments__avatar {
|
||||
transform: rotate(720deg);
|
||||
border-radius: 0; }
|
||||
.comments__item:hover .comments__content {
|
||||
background-color: #fff; }
|
||||
.comments__item:hover .comments__meta {
|
||||
background-color: #d9edf7; }
|
||||
.comments__item:hover .comments__reply:after {
|
||||
background-color: #d9edf7; }
|
||||
.comments__meta {
|
||||
border-radius: 5px 5px 0 0;
|
||||
min-height: 37px;
|
||||
line-height: 37px;
|
||||
padding-left: 45px;
|
||||
background: rgba(217, 237, 247, 0.6);
|
||||
color: #3d4450;
|
||||
padding-right: 15px; }
|
||||
.comments__meta a {
|
||||
font-weight: 700;
|
||||
color: #3d4450; }
|
||||
.comments__meta a:hover {
|
||||
color: #b94a48; }
|
||||
.comments__meta--only {
|
||||
border-radius: 5px; }
|
||||
.comments__content {
|
||||
border-radius: 0 0 5px 5px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
padding: 15px 45px;
|
||||
position: relative; }
|
||||
.comments__content textarea {
|
||||
margin: 15px 0; }
|
||||
.comments__avatar {
|
||||
position: absolute;
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
background-position: center center;
|
||||
background-size: cover;
|
||||
border: 2px solid #fff;
|
||||
border-radius: 35px;
|
||||
left: -29px;
|
||||
top: -23px;
|
||||
transition: all .8s ease; }
|
||||
.comments__captcha {
|
||||
height: 30px; }
|
||||
.comments__reply {
|
||||
border-radius: 5px;
|
||||
margin: 15px auto 0; }
|
||||
.comments__reply #cancelCommentButton {
|
||||
line-height: 34px; }
|
||||
.comments__reply:after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
height: 15px;
|
||||
width: 5px;
|
||||
right: 60px;
|
||||
top: -15px;
|
||||
background-color: rgba(217, 237, 247, 0.6); }
|
||||
.pagination {
|
||||
margin: 20px 0 40px; }
|
||||
.pagination__item {
|
||||
padding: 10px 10px;
|
||||
color: #999;
|
||||
display: inline-block; }
|
||||
.pagination__item--current {
|
||||
color: #991a1a;
|
||||
font-weight: bold; }
|
||||
.pagination a.pagination__item:hover {
|
||||
text-decoration: none;
|
||||
background: #991a1a;
|
||||
color: #fff; }
|
||||
|
||||
.comment-body-ref {
|
||||
right: 0;
|
||||
position: absolute;
|
||||
left: 64px; }
|
||||
.comment-body-ref .breadcrumb {
|
||||
display: none; }
|
||||
|
||||
.form {
|
||||
width: 100%; }
|
||||
.form input,
|
||||
.form textarea {
|
||||
border: 1px solid #d1d5da;
|
||||
background-color: #fafafa;
|
||||
border-radius: 3px;
|
||||
box-shadow: inset 0 1px 2px rgba(27, 31, 35, 0.075);
|
||||
padding: 7px 8px;
|
||||
width: 100%;
|
||||
line-height: 17px;
|
||||
box-sizing: border-box; }
|
||||
.form input:focus,
|
||||
.form textarea:focus {
|
||||
background-color: #fff;
|
||||
box-shadow: inset 0 1px 2px rgba(27, 31, 35, 0.075), 0 0 0 0.2em #dbedff;
|
||||
border: 1px solid #4285f4; }
|
||||
.form .ft__red {
|
||||
line-height: 34px; }
|
||||
.form .btn {
|
||||
float: right;
|
||||
height: 34px;
|
||||
margin: 0 0 0 10px;
|
||||
padding: 0 15px; }
|
||||
|
||||
.icon__up {
|
||||
position: fixed;
|
||||
bottom: 30px;
|
||||
right: 30px;
|
||||
color: #fff;
|
||||
background-color: rgba(114, 102, 186, 0.8);
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
line-height: 28px;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
text-align: center; }
|
||||
.icon__up:hover {
|
||||
background-color: #6658b8; }
|
||||
|
||||
.content .b3-solo-list {
|
||||
display: none !important; }
|
||||
|
||||
.b3-solo-list {
|
||||
margin: 0 !important;
|
||||
font-size: 14px !important; }
|
||||
|
||||
.b3-solo-list-h1 {
|
||||
margin: 0 !important; }
|
||||
|
||||
.b3-solo-list-h2 {
|
||||
margin: 0 !important; }
|
||||
.b3-solo-list-h2 a {
|
||||
padding-left: 30px !important; }
|
||||
|
||||
.b3-solo-list-h3 {
|
||||
margin: 0 !important; }
|
||||
.b3-solo-list-h3 a {
|
||||
padding-left: 45px !important; }
|
||||
|
||||
.b3-solo-list-h4 {
|
||||
margin: 0 !important; }
|
||||
.b3-solo-list-h4 a {
|
||||
padding-left: 60px !important; }
|
||||
|
||||
.b3-solo-list-h5 {
|
||||
margin: 0 !important; }
|
||||
.b3-solo-list-h5 a {
|
||||
padding-left: 75px !important; }
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.header__nav {
|
||||
display: none; }
|
||||
.main {
|
||||
display: block;
|
||||
margin: 15px;
|
||||
padding: 0; }
|
||||
.side {
|
||||
margin: 0;
|
||||
width: auto; }
|
||||
.article-list {
|
||||
overflow: hidden; }
|
||||
.article-list .item__title {
|
||||
font-size: 20px; }
|
||||
.article-list .item__date--m {
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
color: #3d4450;
|
||||
display: block; }
|
||||
.article-list .item__date {
|
||||
display: none; }
|
||||
.article-list .item,
|
||||
.module,
|
||||
.comments__item {
|
||||
margin-bottom: 15px; }
|
||||
.footer {
|
||||
margin: 0 15px 15px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 5px;
|
||||
color: #3d4450;
|
||||
line-height: 20px; }
|
||||
.footer a {
|
||||
text-decoration: underline; }
|
||||
.footer .fn__none--m {
|
||||
display: none; }
|
||||
.footer .fn__none {
|
||||
display: block; }
|
||||
.tag {
|
||||
margin: 0 5px 10px 0;
|
||||
font-size: 12px; }
|
||||
.header__logo {
|
||||
left: 0; }
|
||||
.header__login {
|
||||
display: none; }
|
||||
.header__m {
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 1; }
|
||||
.header__m img {
|
||||
float: left;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
margin: 0 5px 0 0; }
|
||||
.header__m a.current {
|
||||
color: #b94a48; }
|
||||
.header__m .icon__list {
|
||||
position: absolute;
|
||||
top: -35px;
|
||||
right: 15px;
|
||||
font-size: 20px;
|
||||
color: #fff; }
|
||||
.header__m .module__list {
|
||||
display: none; }
|
||||
.header__m .module__list li {
|
||||
background-color: #fff; }
|
||||
.module__content.ft__center {
|
||||
text-align: left; }
|
||||
.comments__avatar {
|
||||
height: 34px;
|
||||
width: 34px;
|
||||
left: -7px; }
|
||||
.comments__content {
|
||||
padding: 15px; }
|
||||
.content-reset {
|
||||
font-size: 14px; } }
|
||||
.tags {
|
||||
line-height: 32px;
|
||||
margin: 20px 0 70px; }
|
||||
.tags a {
|
||||
width: 180px;
|
||||
float: left; }
|
||||
|
@ -19,7 +19,7 @@
|
||||
* skin style
|
||||
*
|
||||
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
|
||||
* @version 0.1.0.0, Dec 6, 2018
|
||||
* @version 0.1.0.0, Dec 7, 2018
|
||||
*/
|
||||
@import "../../../scss/reset";
|
||||
@import "../../../scss/reset-content";
|
||||
@ -29,12 +29,16 @@
|
||||
@import "../../../scss/nprogress";
|
||||
@import "icon";
|
||||
|
||||
$purple: #7266BA !default;
|
||||
$purple-dark: #6658b8 !default;
|
||||
$red: #b94a48 !default;
|
||||
$black: #3d4450 !default;
|
||||
$red: #991a1a !default;
|
||||
$gray: #999 !default;
|
||||
|
||||
// reset
|
||||
body {
|
||||
&::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
transition: all .3s;
|
||||
}
|
||||
@ -43,646 +47,135 @@ a {
|
||||
color: $red;
|
||||
}
|
||||
|
||||
// module
|
||||
.module {
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
|
||||
transition: all .3s;
|
||||
|
||||
&.item {
|
||||
transform: translateY(30px);
|
||||
transition: transform 2s cubic-bezier(.175, .885, .32, 1.275);
|
||||
&--active {
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
&__content {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
padding: 15px;
|
||||
color: $black;
|
||||
display: block;
|
||||
&:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
&--three {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__header {
|
||||
background-color: rgba(10, 10, 0, 0.7);
|
||||
padding: 15px;
|
||||
color: #fff;
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: rgba(10, 10, 0, 0.9);
|
||||
}
|
||||
}
|
||||
|
||||
&__list {
|
||||
li {
|
||||
border-bottom: 1px solid #ddd;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
line-height: 20px;
|
||||
a {
|
||||
padding: 15px 15px;
|
||||
display: block;
|
||||
color: $black;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: $red;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ft__gray {
|
||||
color: $gray;
|
||||
}
|
||||
|
||||
// form
|
||||
.form {
|
||||
position: relative;
|
||||
&__input {
|
||||
border: 1px solid $purple;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 15px;
|
||||
border-radius: 15px;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.content-reset {
|
||||
color: #555;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
// header
|
||||
.header {
|
||||
top: 0;
|
||||
background-color: #2a2a2a;
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
height: 100%;
|
||||
width: 33px;
|
||||
width: 50px;
|
||||
|
||||
a {
|
||||
a, span {
|
||||
color: #fff;
|
||||
padding: 0 15px;
|
||||
display: inline-block;
|
||||
padding: 10px 0;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
width: 100%;
|
||||
|
||||
img {
|
||||
height: 17px;
|
||||
width: 17px;
|
||||
}
|
||||
|
||||
&.current,
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
background-color: rgba($purple-dark, 0.8);
|
||||
color: $gray;
|
||||
}
|
||||
}
|
||||
|
||||
&__logo {
|
||||
&__bottom {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
left: 30px;
|
||||
}
|
||||
|
||||
&__nav {
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
float: left;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
margin: 15px 5px 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__login {
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// framework
|
||||
.main {
|
||||
max-width: 1170px;
|
||||
padding: 30px;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.content {
|
||||
flex: 1;
|
||||
min-width: 1px;
|
||||
}
|
||||
|
||||
// side
|
||||
.side {
|
||||
width: 280px;
|
||||
min-width: 280px;
|
||||
margin-left: 30px;
|
||||
|
||||
&__btn {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
top: 5px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
&__avatar {
|
||||
border-radius: 50%;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 15px;
|
||||
transition: transform .3s;
|
||||
margin-top: 10px;
|
||||
|
||||
&:hover {
|
||||
transform: rotate(360deg) scale(1.2);
|
||||
border: 5px solid rgba($purple, 0.36);
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// tag
|
||||
.tag {
|
||||
float: left;
|
||||
color: #fff;
|
||||
padding: 2px 5px;
|
||||
border: 1px solid transparent;
|
||||
height: 20px;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
background-color: rgba(10, 10, 0, 0.7);
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
line-height: 21px;
|
||||
margin: 0 15px 15px 0;
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: $red;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
color: $purple !important;
|
||||
&:hover {
|
||||
color: $black !important;
|
||||
}
|
||||
.wrapper {
|
||||
max-width: 920px;
|
||||
margin: 0 auto;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
// footer
|
||||
.footer {
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
padding: 15px;
|
||||
margin-bottom: 30px;
|
||||
color: $gray;
|
||||
padding: 30px 0;
|
||||
line-height: 1.6em;
|
||||
font-size: 0.85em;
|
||||
a {
|
||||
color: $purple;
|
||||
color: $red;
|
||||
}
|
||||
}
|
||||
|
||||
// article list
|
||||
.article-list {
|
||||
.item {
|
||||
border-radius: 5px;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
|
||||
padding: 15px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
position: relative;
|
||||
transition: all .3s, transform 1s cubic-bezier(.175, .885, .32, 1.275);
|
||||
transform: perspective(2500px) rotateX(-100deg);
|
||||
// article
|
||||
.article {
|
||||
&__item {
|
||||
margin: 50px 0;
|
||||
border-bottom: 1px dashed #d9d9d9;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
&--active {
|
||||
transform: perspective(2500px) rotateX(0);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: #fff;
|
||||
box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.tag {
|
||||
float: none;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&__title {
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
a {
|
||||
color: rgba(10, 10, 0, 0.7);
|
||||
padding: 0 15px;
|
||||
border-radius: 5px;
|
||||
display: inline-block;
|
||||
margin-bottom: 15px;
|
||||
line-height: 36px;
|
||||
|
||||
&:hover {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
background-color: $purple-dark;
|
||||
}
|
||||
}
|
||||
|
||||
& > sup {
|
||||
&__title {
|
||||
padding: 20px 0;
|
||||
a {
|
||||
text-decoration: none;
|
||||
font-size: 25px;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
transition: color 0.2s;
|
||||
&:hover {
|
||||
color: $red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__date {
|
||||
position: absolute;
|
||||
background-color: $purple;
|
||||
color: #fff;
|
||||
height: 70px;
|
||||
width: 70px;
|
||||
font-size: 12px;
|
||||
top: -20px;
|
||||
border-radius: 35px;
|
||||
left: -20px;
|
||||
text-align: center;
|
||||
padding-top: 9px;
|
||||
box-sizing: border-box;
|
||||
&__content {
|
||||
margin: 20px 0;
|
||||
& > p:last-child {
|
||||
margin-bottom: 0
|
||||
}
|
||||
}
|
||||
|
||||
&__day {
|
||||
font-size: 30px;
|
||||
display: block;
|
||||
}
|
||||
&__more {
|
||||
margin-bottom: 70px;
|
||||
text-decoration: none;
|
||||
color: $red;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
// pagination
|
||||
.pagination {
|
||||
&__item {
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
padding: 0 10px;
|
||||
line-height: 24px;
|
||||
display: inline-block;
|
||||
margin: 0 0 10px 10px;
|
||||
background-color: rgba($purple, 0.58);
|
||||
|
||||
&--text {
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
color: $purple;
|
||||
}
|
||||
.pagination {
|
||||
margin: 20px 0 40px;
|
||||
&__item {
|
||||
padding: 10px 10px;
|
||||
color: $gray;
|
||||
display: inline-block;
|
||||
|
||||
&--current {
|
||||
background-color: $purple-dark;
|
||||
color: #991a1a;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
a.pagination__item:hover {
|
||||
text-decoration: none;
|
||||
background-color: $purple-dark;
|
||||
background: $red;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
// comment
|
||||
.comments {
|
||||
position: relative;
|
||||
&__item {
|
||||
border-radius: 5px;
|
||||
list-style: none;
|
||||
margin-bottom: 30px;
|
||||
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
|
||||
transition: all .3s;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8);
|
||||
|
||||
.comments__avatar {
|
||||
transform: rotate(720deg);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.comments__content {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.comments__meta {
|
||||
background-color: rgba(217, 237, 247, 1);
|
||||
}
|
||||
|
||||
.comments__reply:after {
|
||||
background-color: #d9edf7;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
&__meta {
|
||||
border-radius: 5px 5px 0 0;
|
||||
min-height: 37px;
|
||||
line-height: 37px;
|
||||
padding-left: 45px;
|
||||
background: rgba(217, 237, 247, 0.6);
|
||||
color: $black;
|
||||
padding-right: 15px;
|
||||
|
||||
a {
|
||||
font-weight: 700;
|
||||
color: $black;
|
||||
&:hover {
|
||||
color: $red;
|
||||
}
|
||||
}
|
||||
|
||||
&--only {
|
||||
border-radius: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
border-radius: 0 0 5px 5px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
padding: 15px 45px;
|
||||
position: relative;
|
||||
|
||||
textarea {
|
||||
margin: 15px 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__avatar {
|
||||
position: absolute;
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
background-position: center center;
|
||||
background-size: cover;
|
||||
border: 2px solid #fff;
|
||||
border-radius: 35px;
|
||||
left: -29px;
|
||||
top: -23px;
|
||||
transition: all .8s ease;
|
||||
}
|
||||
|
||||
&__captcha {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
&__reply {
|
||||
border-radius: 5px;
|
||||
margin: 15px auto 0;
|
||||
|
||||
#cancelCommentButton {
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
height: 15px;
|
||||
width: 5px;
|
||||
right: 60px;
|
||||
top: -15px;
|
||||
background-color: rgba(217, 237, 247, 0.6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.comment-body-ref {
|
||||
right: 0;
|
||||
position: absolute;
|
||||
left: 64px;
|
||||
|
||||
.breadcrumb {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.form {
|
||||
width: 100%;
|
||||
input,
|
||||
textarea {
|
||||
border: 1px solid #d1d5da;
|
||||
background-color: #fafafa;
|
||||
border-radius: 3px;
|
||||
box-shadow: inset 0 1px 2px rgba(27, 31, 35, .075);
|
||||
padding: 7px 8px;
|
||||
width: 100%;
|
||||
line-height: 17px;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:focus {
|
||||
background-color: #fff;
|
||||
box-shadow: inset 0 1px 2px rgba(27, 31, 35, .075), 0 0 0 0.2em #dbedff;
|
||||
border: 1px solid #4285f4;
|
||||
}
|
||||
}
|
||||
|
||||
.ft__red {
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
float: right;
|
||||
height: 34px;
|
||||
margin: 0 0 0 10px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon__up {
|
||||
position: fixed;
|
||||
bottom: 30px;
|
||||
right: 30px;
|
||||
color: #fff;
|
||||
background-color: rgba($purple, 0.8);
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
line-height: 28px;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
text-align: center;
|
||||
|
||||
&:hover {
|
||||
background-color: $purple-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.content .b3-solo-list {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.b3-solo-list {
|
||||
margin: 0 !important;
|
||||
font-size: 14px !important;
|
||||
}
|
||||
|
||||
.b3-solo-list-h1 {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.b3-solo-list-h2 {
|
||||
margin: 0 !important;
|
||||
// other page
|
||||
.tags {
|
||||
line-height: 32px;
|
||||
margin: 20px 0 70px;
|
||||
a {
|
||||
padding-left: 30px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.b3-solo-list-h3 {
|
||||
margin: 0 !important;
|
||||
a {
|
||||
padding-left: 45px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.b3-solo-list-h4 {
|
||||
margin: 0 !important;
|
||||
a {
|
||||
padding-left: 60px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.b3-solo-list-h5 {
|
||||
margin: 0 !important;
|
||||
a {
|
||||
padding-left: 75px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.header__nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main {
|
||||
display: block;
|
||||
margin: 15px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.side {
|
||||
margin: 0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.article-list {
|
||||
overflow: hidden;
|
||||
.item {
|
||||
&__title {
|
||||
font-size: 20px;
|
||||
}
|
||||
&__date--m {
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
color: $black;
|
||||
display: block;
|
||||
}
|
||||
&__date {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.article-list .item,
|
||||
.module,
|
||||
.comments__item {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin: 0 15px 15px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 5px;
|
||||
color: $black;
|
||||
line-height: 20px;
|
||||
|
||||
a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.fn__none--m {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fn__none {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.tag {
|
||||
margin: 0 5px 10px 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.header__logo {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.header__login {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.header__m {
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 1;
|
||||
|
||||
img {
|
||||
float: left;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
a.current {
|
||||
color: #b94a48;
|
||||
}
|
||||
|
||||
.icon__list {
|
||||
position: absolute;
|
||||
top: -35px;
|
||||
right: 15px;
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.module__list {
|
||||
display: none;
|
||||
|
||||
li {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.module__content.ft__center {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.comments__avatar {
|
||||
height: 34px;
|
||||
width: 34px;
|
||||
left: -7px;
|
||||
}
|
||||
|
||||
.comments__content {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.content-reset {
|
||||
font-size: 14px;
|
||||
width: 180px;
|
||||
float: left;
|
||||
}
|
||||
}
|
@ -50,7 +50,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
<script>
|
||||
|
@ -17,18 +17,19 @@
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<div class="icon__up" onclick="Util.goTop()"></div>
|
||||
<footer class="footer">
|
||||
<footer class="footer fn__clear">
|
||||
© ${year}
|
||||
${footerContent}
|
||||
<a href="${servePath}">${blogTitle}</a> <span class="fn__none--m"> • </span>
|
||||
<div class="fn__none"></div>
|
||||
<a href="https://solo.b3log.org" target="_blank">Solo</a> ${version} <br/>
|
||||
<a href="https://solo.b3log.org" target="_blank">Solo</a> ${version}
|
||||
|
||||
Powered by <a href="https://b3log.org" target="_blank">B3log</a> 开源
|
||||
<div class="fn__none"></div>
|
||||
♥
|
||||
Theme <a rel="friend" href="https://github.com/b3log/solo-skins" target="_blank">nijigen</a> by <a href="http://vanessa.b3log.org" target="_blank">Vanessa</a>
|
||||
<div class="fn__right">
|
||||
Powered by <a href="https://b3log.org" target="_blank">B3log</a> 开源
|
||||
<div class="fn__none"></div>
|
||||
♥
|
||||
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>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="icon-up" onclick="Util.goTop()"></div>
|
||||
|
||||
|
158
Jane/header.ftl
158
Jane/header.ftl
@ -18,115 +18,61 @@
|
||||
|
||||
-->
|
||||
<header class="header">
|
||||
<div class="header__wrap">
|
||||
<a href="${servePath}" rel="start" class="tooltipped__w tooltipped" aria-label="${blogTitle}">
|
||||
<i class="icon__home"></i>
|
||||
</a>
|
||||
|
||||
|
||||
<a href="${servePath}" rel="start" class="header__logo">
|
||||
<i class="icon__home"></i> ${blogTitle}
|
||||
<i class="icon__search"></i>
|
||||
<#list pageNavigations as page>
|
||||
<a href="${page.pagePermalink}" target="${page.pageOpenTarget}"
|
||||
class="tooltipped__w tooltipped" rel="section" aria-label="${page.pageTitle}">
|
||||
<#if page.pageIcon != ''><img class="page-icon" src="${page.pageIcon}"><#else>
|
||||
<i class="icon__category"></i>
|
||||
</#if>
|
||||
</a>
|
||||
</#list>
|
||||
|
||||
<nav class="header__nav">
|
||||
<#list pageNavigations as page>
|
||||
<a href="${page.pagePermalink}" target="${page.pageOpenTarget}" rel="section">
|
||||
<#if page.pageIcon != ''><img class="page-icon" src="${page.pageIcon}"></#if>${page.pageTitle}
|
||||
</a>
|
||||
</#list>
|
||||
<a href="${servePath}/dynamic.html" rel="section">
|
||||
<i class="icon__refresh"></i> ${dynamicLabel}
|
||||
</a>
|
||||
<a href="${servePath}/tags.html" rel="section">
|
||||
<i class="icon__tags"></i> ${allTagsLabel}
|
||||
</a>
|
||||
<a href="${servePath}/archives.html">
|
||||
<i class="icon__inbox"></i> ${archiveLabel}
|
||||
</a>
|
||||
<a rel="archive" href="${servePath}/links.html">
|
||||
<i class="icon__link"></i> ${linkLabel}
|
||||
</a>
|
||||
<a rel="alternate" href="${servePath}/rss.xml" rel="section">
|
||||
<i class="icon__rss"></i> RSS
|
||||
</a>
|
||||
</nav>
|
||||
<a href="${servePath}/dynamic.html" rel="section" aria-label="${dynamicLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__refresh"></i>
|
||||
</a>
|
||||
<a href="${servePath}/tags.html" rel="section" aria-label="${allTagsLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__tags"></i>
|
||||
</a>
|
||||
<a href="${servePath}/archives.html" aria-label="${archiveLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__inbox"></i>
|
||||
</a>
|
||||
<a rel="archive" href="${servePath}/links.html" aria-label="${linkLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__link"></i>
|
||||
</a>
|
||||
<a href="${servePath}/search" class="tooltipped__w tooltipped" aria-label="${searchLabel}">
|
||||
<i class="icon__search"></i>
|
||||
</a>
|
||||
<a rel="alternate" href="${servePath}/rss.xml" rel="section" aria-label="RSS" class="tooltipped tooltipped__w">
|
||||
<i class="icon__rss"></i>
|
||||
</a>
|
||||
|
||||
<div class="header__login">
|
||||
<#if isLoggedIn>
|
||||
<a href="${servePath}/admin-index.do#main" title="${adminLabel}">
|
||||
<i class="icon__setting"></i> ${adminLabel}
|
||||
</a>
|
||||
<a href="${logoutURL}">
|
||||
<i class="icon__logout"></i> ${logoutLabel}
|
||||
</a>
|
||||
<#else>
|
||||
<a href="${loginURL}">
|
||||
<i class="icon__login"></i> ${loginLabel}
|
||||
</a>
|
||||
<a href="${servePath}/register">
|
||||
<i class="icon__register"></i> ${registerLabel}
|
||||
</a>
|
||||
</#if>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="header__m fn__none">
|
||||
<i class="icon__list" onclick="$(this).next().slideToggle()"></i>
|
||||
<main class="module__list">
|
||||
<ul>
|
||||
<#if isLoggedIn>
|
||||
<li>
|
||||
<a href="${servePath}/admin-index.do#main" title="${adminLabel}">
|
||||
<i class="icon__setting"></i> ${adminLabel}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="${logoutURL}">
|
||||
<i class="icon__logout"></i> ${logoutLabel}
|
||||
</a>
|
||||
</li>
|
||||
<div class="header__bottom">
|
||||
<#if isLoggedIn>
|
||||
<a href="${servePath}/admin-index.do#main"
|
||||
aria-label="${adminLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__setting"></i>
|
||||
</a>
|
||||
<a href="${logoutURL}"
|
||||
aria-label="${logoutLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__logout"></i>
|
||||
</a>
|
||||
<#else>
|
||||
<li>
|
||||
<a href="${loginURL}">
|
||||
<i class="icon__login"></i> ${loginLabel}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="${servePath}/register">
|
||||
<i class="icon__register"></i> ${registerLabel}
|
||||
</a>
|
||||
</li>
|
||||
<a href="${loginURL}"
|
||||
aria-label="${loginLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__login"></i>
|
||||
</a>
|
||||
<a href="${servePath}/register"
|
||||
aria-label="${registerLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__register"></i>
|
||||
</a>
|
||||
</#if>
|
||||
<#list pageNavigations as page>
|
||||
<li>
|
||||
<a href="${page.pagePermalink}" target="${page.pageOpenTarget}" rel="section">
|
||||
<#if page.pageIcon != ''><img class="page-icon" src="${page.pageIcon}"></#if>${page.pageTitle}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
<li>
|
||||
<a href="${servePath}/dynamic.html" rel="section">
|
||||
<i class="icon__refresh"></i> ${dynamicLabel}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="${servePath}/tags.html" rel="section">
|
||||
<i class="icon__tags"></i> ${allTagsLabel}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="${servePath}/archives.html">
|
||||
<i class="icon__inbox"></i> ${archiveLabel}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a rel="archive" href="${servePath}/links.html">
|
||||
<i class="icon__link"></i> ${linkLabel}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a rel="alternate" href="${servePath}/rss.xml" rel="section">
|
||||
<i class="icon__rss"></i> RSS
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
<span onclick="Util.goTop()"
|
||||
aria-label="${putTopLabel}" class="tooltipped tooltipped__w">
|
||||
<i class="icon__up"></i>
|
||||
</span>
|
||||
</div>
|
||||
</header>
|
@ -32,14 +32,12 @@
|
||||
</head>
|
||||
<body>
|
||||
<#include "header.ftl">
|
||||
<div class="main">
|
||||
<div id="pjax" class="content">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
<div id="pjax" class="wrapper">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
<main>
|
||||
<#include "article-list.ftl">
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
</body>
|
||||
|
@ -19,7 +19,7 @@
|
||||
* @fileoverview util and every page should be used.
|
||||
*
|
||||
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
|
||||
* @version 0.2.1.0, Sep 30, 2018
|
||||
* @version 0.1.0.0, Dec 7, 2018
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -27,76 +27,20 @@
|
||||
* @static
|
||||
*/
|
||||
var Skin = {
|
||||
_initCommon: function ($goTop) {
|
||||
$(window).scroll(function () {
|
||||
if ($(window).scrollTop() > 125) {
|
||||
$goTop.show()
|
||||
} else {
|
||||
$goTop.hide()
|
||||
}
|
||||
})
|
||||
},
|
||||
_initAnimation: function () {
|
||||
if (!('IntersectionObserver' in window)) {
|
||||
$('.item').addClass('item--active')
|
||||
return false
|
||||
}
|
||||
|
||||
if (window.imageIntersectionObserver) {
|
||||
window.imageIntersectionObserver.disconnect()
|
||||
$('.item').each(function () {
|
||||
window.imageIntersectionObserver.observe(this)
|
||||
})
|
||||
} else {
|
||||
window.imageIntersectionObserver = new IntersectionObserver(
|
||||
function (entries) {
|
||||
entries.forEach(function (entrie) {
|
||||
if (typeof entrie.isIntersecting === 'undefined'
|
||||
? entrie.intersectionRatio !== 0 : entrie.isIntersecting) {
|
||||
$(entrie.target).addClass('item--active')
|
||||
} else {
|
||||
if ($(entrie.target).closest('.side').length === 1 ||
|
||||
$(entrie.target).closest('.article-list').hasClass('content') ||
|
||||
$(entrie.target).outerHeight() > 768) {
|
||||
return
|
||||
}
|
||||
$(entrie.target).removeClass('item--active')
|
||||
}
|
||||
})
|
||||
})
|
||||
$('.item').each(function () {
|
||||
window.imageIntersectionObserver.observe(this)
|
||||
})
|
||||
}
|
||||
},
|
||||
init: function () {
|
||||
Util.initPjax(function () {
|
||||
Skin._initAnimation()
|
||||
if ($('#articlePage').length === 0) {
|
||||
$('.b3-solo-list').closest('.module').remove()
|
||||
}
|
||||
})
|
||||
|
||||
Skin._initAnimation()
|
||||
Util.initPjax()
|
||||
|
||||
$('body').on('click', '.content-reset img', function () {
|
||||
window.open(this.src)
|
||||
})
|
||||
|
||||
this._initCommon($('.icon__up'))
|
||||
|
||||
$('.header__nav a, .header__m a').each(function () {
|
||||
$('.header a').each(function () {
|
||||
if (this.href === location.href) {
|
||||
this.className = 'current'
|
||||
}
|
||||
}).click(function () {
|
||||
$('.header__nav a, .header__m a').removeClass('current')
|
||||
$('.header a').removeClass('current')
|
||||
this.className = 'current'
|
||||
$('.header__m .module__list').hide()
|
||||
})
|
||||
|
||||
$('.header__logo').click(function () {
|
||||
$('.header__nav a, .header__m a').removeClass('current')
|
||||
})
|
||||
},
|
||||
_initArticleCommon: function () {
|
||||
|
@ -60,7 +60,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
</body>
|
||||
|
@ -44,7 +44,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
|
138
Jane/side.ftl
138
Jane/side.ftl
@ -1,138 +0,0 @@
|
||||
<#--
|
||||
|
||||
Solo - A small and beautiful blogging system written in Java.
|
||||
Copyright (c) 2010-2018, 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/>.
|
||||
|
||||
-->
|
||||
<aside class="side">
|
||||
<#if noticeBoard??>
|
||||
<section class="content-reset module">
|
||||
<main class="module__content">
|
||||
${noticeBoard}
|
||||
</main>
|
||||
</section>
|
||||
</#if>
|
||||
|
||||
<section class="module">
|
||||
<header class="module__header">
|
||||
<form class="form" action="${servePath}/search">
|
||||
<input placeholder="${searchLabel}" class="form__input" type="text" name="keyword"/>
|
||||
<button class="side__btn" type="submit"><i class="icon__search"></i></button>
|
||||
</form>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<div class="module item">
|
||||
<header class="module__header ft__center">
|
||||
${adminUser.userName}
|
||||
</header>
|
||||
<main class="module__content ft__center">
|
||||
<img class="side__avatar" src="${adminUser.userAvatar}" alt="${adminUser.userName}"/>
|
||||
${blogSubtitle}
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<#if 0 != mostUsedCategories?size>
|
||||
<div class="module item">
|
||||
<header class="module__header">
|
||||
${categoryLabel}
|
||||
</header>
|
||||
<main class="module__content fn__clear module__content--three">
|
||||
<#list mostUsedCategories as category>
|
||||
<a href="${servePath}/category/${category.categoryURI}"
|
||||
aria-label="${category.categoryTagCnt} ${cntLabel}${tagsLabel}"
|
||||
class="tag tooltipped tooltipped__n">
|
||||
${category.categoryTitle}</a>
|
||||
</#list>
|
||||
</main>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#if 0 != mostUsedTags?size>
|
||||
<div class="module item">
|
||||
<header class="module__header">${tagsLabel}</header>
|
||||
<main class="module__content--three module__content fn__clear">
|
||||
<#list mostUsedTags as tag>
|
||||
<a rel="tag"
|
||||
href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}"
|
||||
class="tag tooltipped tooltipped__n"
|
||||
aria-label="${tag.tagPublishedRefCount} ${countLabel}${articleLabel}">
|
||||
${tag.tagTitle}</a>
|
||||
</#list>
|
||||
</main>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#if 0 != mostCommentArticles?size>
|
||||
<div class="module item">
|
||||
<header class="module__header">${mostCommentArticlesLabel}</header>
|
||||
<main class="module__list">
|
||||
<ul>
|
||||
<#list mostCommentArticles as article>
|
||||
<li>
|
||||
<a rel="nofollow"
|
||||
href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#if 0 != mostViewCountArticles?size>
|
||||
<div class="module item">
|
||||
<header class="module__header">${mostViewCountArticlesLabel}</header>
|
||||
<main class="module__list">
|
||||
<ul>
|
||||
<#list mostViewCountArticles as article>
|
||||
<li>
|
||||
<a rel="nofollow"
|
||||
href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<div class="module item">
|
||||
<div class="module__header">
|
||||
<div class="fn__flex">
|
||||
<a href="${servePath}/archives.html" class="fn__flex-1 ft__center">
|
||||
${statistic.statisticPublishedBlogArticleCount}
|
||||
${articleLabel}
|
||||
</a>
|
||||
<a href="${servePath}/dynamic.html" class="fn__flex-1 ft__center">
|
||||
${statistic.statisticPublishedBlogCommentCount}
|
||||
${commentLabel}
|
||||
</a>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="fn__flex">
|
||||
<div class="fn__flex-1 ft__center">
|
||||
${statistic.statisticBlogViewCount} <span class="ft-gray">${viewLabel}</span>
|
||||
</div>
|
||||
<div class="fn__flex-1 ft__center">
|
||||
${onlineVisitorCnt} <span class="ft-gray">${onlineVisitorLabel}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
@ -48,7 +48,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
</body>
|
||||
|
@ -55,7 +55,6 @@
|
||||
</main>
|
||||
<#if pjax><!---- pjax {#pjax} end ----></#if>
|
||||
</div>
|
||||
<#include "side.ftl">
|
||||
</div>
|
||||
<#include "footer.ftl">
|
||||
<#if pjax><!---- pjax {#pjax} start ----></#if>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -22,7 +22,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<@head title="${blogTitle}">
|
||||
<@head title="${archiveLabel} - ${blogTitle}">
|
||||
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
|
||||
<meta name="description" content="${metaDescription},${archiveLabel}"/>
|
||||
</@head>
|
||||
|
Loading…
x
Reference in New Issue
Block a user