Commit 447927ab authored by Van's avatar Van

article list

parent b7c3cf6d
<#if !isIndex && paginationCurrentPageNum != 1>
<nav class="pagination fn-clear fn-wrap" role="navigation">
<#if paginationCurrentPageNum != 1>
<a class="fn-left" href="${servePath}${path}/${paginationPreviousPageNum}">← ${previousPageLabel}</a>
</#if>
<span>${pageLabel} ${paginationCurrentPageNum} of ${paginationPageCount}</span>
<#if paginationPageCount != paginationCurrentPageNum>
<a class="fn-right" href="${servePath}${path}/${paginationNextPageNum}">${nextPagePabel} →</a>
</#if>
</nav>
</#if>
<#list articles as article>
<article class="post fn-wrap">
<article>
<header>
<h2 class="post-title">
<h2>
<a rel="bookmark" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.hasUpdated>
<sup class="post-tip">
${updatedLabel}
</sup>
</#if>
<#if article.articlePutTop>
<sup class="post-tip">
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
${updatedLabel}
</sup>
</#if>
</h2>
<time><span class="icon-date"></span> ${article.articleCreateDate?string("yyyy-MM-dd")}</time>
</header>
<section class="post-excerpt fn-clear">
<p>${article.articleAbstract}</p>
<section class="abstract">
${article.articleAbstract}
</section>
<footer class="post-meta">
<img class="avatar" title="${article.authorName}" alt="${article.authorName}" src="${article.authorThumbnailURL}"/>
<a rel="nofollow" href="${servePath}/authors/${article.authorId}">${article.authorName}</a>
on
<footer>
<span class="icon-tag"></span> &nbsp;
<#list article.articleTags?split(",") as articleTag>
<span>
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}</a><#if articleTag_has_next>,</#if>
</span>
<a class="tag" rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}</a>
</#list>
<time>${article.articleCreateDate?string("yyyy-MM-dd")}</time>
<a rel="nofollow" href="${servePath}/authors/${article.authorId}">
<img class="avatar" title="${article.authorName}" alt="${article.authorName}" src="${article.authorThumbnailURL}"/>
</a>
</footer>
</article>
</#list>
<#if 0 != paginationPageCount>
<nav class="pagination fn-clear fn-wrap" role="navigation">
<#if paginationCurrentPageNum != 1>
<a class="fn-left" href="${servePath}${path}/${paginationPreviousPageNum}">← ${previousPageLabel}</a>
</#if>
<span>${pageLabel} ${paginationCurrentPageNum} of ${paginationPageCount}</span>
<#if paginationPageCount != paginationCurrentPageNum>
<a class="fn-right" href="${servePath}${path}/${paginationNextPageNum}">${nextPagePabel} →</a>
</#if>
</nav>
</#if>
\ No newline at end of file
<nav class="pagination">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}/${paginationPreviousPageNum}" class="extend">${previousPageLabel}</a>
<a class="page-num" href="${servePath}${path}/1">1</a> ...
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span class="current page-num">${paginationPageNum}</span>
<#else>
<a class="page-num" href="${servePath}${path}/${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount> ...
<a href="${servePath}${path}/${paginationPageCount}" class="page-num">${paginationPageCount}</a>
<a href="${servePath}${path}/${paginationNextPageNum}" class="extend">${nextPagePabel}</a>
</#if>
</nav>
</#if>
\ No newline at end of file
No preview for this file type
This diff is collapsed.
No preview for this file type
No preview for this file type
{
"IcoMoonType": "selection",
"icons": [
{
"icon": {
"paths": [
"M725.354 245.312c0 29.44 23.894 53.334 53.334 53.334s53.334-23.894 53.334-53.334-23.894-53.334-53.334-53.334-53.334 23.894-53.334 53.334zM352.448 999.232c32.854 33.088 86.186 33.088 119.254 0l521.386-517.974c20.886-20.886 31.36-48.426 30.934-75.946v-299.52c0-58.454-47.382-105.814-105.814-105.814h-299.52c-27.52-0.448-55.040 10.026-75.968 30.934l-517.952 521.408c-33.088 33.046-33.088 86.378 0 119.254l327.68 327.658zM640.022 245.312c0-76.586 62.080-138.666 138.666-138.666s138.666 62.080 138.666 138.666-62.080 138.666-138.666 138.666-138.666-62.080-138.666-138.666z"
],
"attrs": [],
"isMulticolor": false,
"tags": [
"tag",
"price"
],
"grid": 48
},
"attrs": [],
"properties": {
"order": 34,
"id": 14,
"prevSize": 48,
"code": 59651,
"name": "tag"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 0
},
{
"icon": {
"paths": [
"M896 960h-768c-35.328 0-64-28.672-64-64v-672c0-35.328 28.672-64 64-64h64v32c0 53.024 42.976 96 96 96s96-42.976 96-96v-32h256v32c0 53.024 43.008 96 96 96s96-42.976 96-96v-32h64c35.328 0 64 28.672 64 64v672c0 35.328-28.672 64-64 64zM896 384h-768v512h768v-512zM418.208 634.528c6.304-10.048 9.472-20.672 9.472-31.776 0-24.736-13.312-37.12-39.936-37.12-23.136 0-45.248 9.184-66.368 27.552v-52.128c23.36-15.136 49.76-22.688 79.136-22.688 27.488 0 48.96 6.912 64.416 20.704s23.168 32.48 23.168 55.968c0 31.36-18.816 63.808-56.448 97.312l-55.328 49.12v1.12h109.12v49.12h-176.992v-46.112l77.056-73.696c15.488-14.848 26.4-27.296 32.704-37.376zM634.784 741.312c8.448-6.496 12.672-15.552 12.672-27.2 0-12-5.216-21.248-15.648-27.744s-24.768-9.76-43.040-9.76h-24.192v-45.376h22.304c35.008 0 52.512-11.616 52.512-34.88 0-21.888-13.44-32.8-40.32-32.8-17.984 0-35.488 5.824-52.512 17.44v-48.384c18.88-9.504 40.864-14.24 65.984-14.24 27.488 0 48.896 6.176 64.224 18.56s22.976 28.448 22.976 48.192c0 35.136-17.824 57.12-53.44 65.984v0.928c19.008 2.368 33.984 9.28 44.992 20.704s16.512 25.472 16.512 42.080c0 25.12-9.184 44.992-27.552 59.616s-43.744 21.952-76.128 21.952c-27.744 0-50.304-4.512-67.68-13.504v-51.552c17.984 13.12 39.008 19.68 63.008 19.68 15.104 0.064 26.88-3.2 35.328-9.696zM735.008 256c-34.816 0-63.008-28.192-63.008-63.008v-65.984c0-34.816 28.192-63.008 63.008-63.008s63.008 28.192 63.008 63.008v65.984c0 34.816-28.192 63.008-63.008 63.008zM287.008 256c-34.816 0-63.008-28.192-63.008-63.008v-65.984c0-34.816 28.192-63.008 63.008-63.008s63.008 28.192 63.008 63.008v65.984c0 34.816-28.224 63.008-63.008 63.008z"
],
"attrs": [],
"isMulticolor": false,
"tags": [
"calendar",
"date",
"schedule"
],
"grid": 32
},
"attrs": [],
"properties": {
"order": 35,
"id": 13,
"prevSize": 32,
"code": 59650,
"name": "date"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 1
},
{
"icon": {
"paths": [
......@@ -15,15 +66,15 @@
},
"attrs": [],
"properties": {
"order": 5,
"order": 36,
"id": 12,
"prevSize": 32,
"code": 59648,
"name": "mark-github"
"name": "github"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 0
"iconIdx": 2
},
{
"icon": {
......@@ -40,7 +91,7 @@
},
"attrs": [],
"properties": {
"order": 6,
"order": 37,
"id": 11,
"prevSize": 32,
"code": 59649,
......@@ -48,7 +99,7 @@
},
"setIdx": 1,
"setId": 0,
"iconIdx": 1
"iconIdx": 3
},
{
"icon": {
......@@ -62,14 +113,14 @@
},
"properties": {
"id": 0,
"order": 7,
"order": 38,
"prevSize": 32,
"code": 58880,
"name": "register"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 2
"iconIdx": 4
},
{
"icon": {
......@@ -82,14 +133,14 @@
},
"properties": {
"id": 1,
"order": 8,
"order": 39,
"prevSize": 32,
"code": 58881,
"name": "logout"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 3
"iconIdx": 5
},
{
"icon": {
......@@ -102,14 +153,14 @@
},
"properties": {
"id": 2,
"order": 9,
"order": 40,
"prevSize": 32,
"code": 58882,
"name": "admin"
"name": "setting"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 4
"iconIdx": 6
},
{
"icon": {
......@@ -122,14 +173,14 @@
},
"properties": {
"id": 3,
"order": 10,
"order": 41,
"prevSize": 32,
"code": 58883,
"name": "gplus"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 5
"iconIdx": 7
},
{
"icon": {
......@@ -142,14 +193,14 @@
},
"properties": {
"id": 4,
"order": 11,
"order": 42,
"prevSize": 32,
"code": 58885,
"name": "weibo"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 6
"iconIdx": 8
},
{
"icon": {
......@@ -162,14 +213,14 @@
},
"properties": {
"id": 5,
"order": 12,
"order": 43,
"prevSize": 32,
"code": 58890,
"name": "goup"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 7
"iconIdx": 9
},
{
"icon": {
......@@ -182,14 +233,14 @@
},
"properties": {
"id": 6,
"order": 13,
"order": 44,
"prevSize": 32,
"code": 58891,
"name": "twitter"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 8
"iconIdx": 10
},
{
"icon": {
......@@ -202,14 +253,14 @@
},
"properties": {
"id": 7,
"order": 14,
"order": 45,
"prevSize": 32,
"code": 58893,
"name": "t-weibo"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 9
"iconIdx": 11
},
{
"icon": {
......@@ -222,14 +273,14 @@
},
"properties": {
"id": 8,
"order": 15,
"order": 46,
"prevSize": 32,
"code": 58897,
"name": "login"
},
"setIdx": 1,
"setId": 0,
"iconIdx": 10
"iconIdx": 12
}
],
"height": 1024,
......
......@@ -24,7 +24,7 @@
html {
height: 100%;
max-height: 100%;
font-size: 62.5%;
font-size: 16px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
......@@ -33,9 +33,9 @@ body {
max-height: 100%;
font-family: "Merriweather", "Microsoft Yahei", 'Helvetica';
letter-spacing: 0.01rem;
font-size: 1.8rem;
font-size: 100%;
line-height: 1.75em;
color: #3A4145;
color: rgba(0, 0, 0, 0.6);
-webkit-font-feature-settings: 'kern' 1;
-moz-font-feature-settings: 'kern' 1;
-o-font-feature-settings: 'kern' 1;
......@@ -57,11 +57,7 @@ a {
outline-width: 0;
color: #258fb8;
outline: none;
transition: color 0.3s ease;
}
a:hover {
color: #111;
transition: all 0.3s ease;
}
h1, h2, h3,
......@@ -266,8 +262,16 @@ pre code, pre tt {
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
vertical-align: middle;
}
.icon-tag:before {
content: "\e903";
}
.icon-date:before {
content: "\e902";
}
.icon-github:before {
content: "\e900";
}
......@@ -342,7 +346,7 @@ pre code, pre tt {
width: 128px;
height: 128px;
margin: 0 auto;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
}
.side .avatar:hover {
......@@ -372,12 +376,240 @@ pre code, pre tt {
.side footer {
position: absolute;
bottom: 40px;
bottom: 15px;
left: 50%;
margin-left: -65px;
}
/* end side */
/* start main */
main {
position: absolute;
right: 0;
min-height: 100%;
background: #eaeaea;
left: 300px;
width: auto;
}
/* end main */
/* start article */
article {
margin: 30px;
border: 1px solid #ddd;
background: #fff;
position: relative;
transition: all 0.2s ease-in;
visibility: hidden;
}
article.show {
visibility: visible;
-webkit-animation: bounce 0.6s;
animation: bounce 0.6s;
}
@-webkit-keyframes bounce {
0% {
opacity: 0;
-webkit-transform: scale(1);
}
60% {
opacity: 1;
-webkit-transform: scale(1.02);
}
100% {
-webkit-transform: scale(1);
}
}
@-moz-keyframes bounce {
0% {
opacity: 0;
-moz-transform: scale(1);
}
60% {
opacity: 1;
-moz-transform: scale(1.02);
}
100% {
-moz-transform: scale(1);
}
}
article header {
border-left: 5px solid;
padding: 15px 135px 15px 25px;
}
article header:hover {
border-color: #b0a0aa;
}
article header h2 {
margin: 0;
font-size: 26px;
}
article header a {
color: #696969;
margin-left: 0px;
font-weight: 300;
line-height: 35px;
}
article header a:hover {
color: #b0a0aa;
}
article header sup {
font-size: 14px;
font-weight: normal;
color: #999;
}
article header time {
font-size: 14px;
position: absolute;
right: 30px;
color: #aaa;
top: 18px;
}
article .abstract {
line-height: 1.8em;
padding-right: 30px;
padding-left: 30px;
}
article footer {
padding: 20px 35px 0 0;
margin: 30px 30px 20px 30px;
border-top: 1px solid #ddd;
}
article footer .tag:hover,
article .abstract a:hover{
opacity: 0.7;
}
article footer .avatar {
width: 20px;
border-radius: 10px;
right: 30px;
position: absolute;
bottom: 25px;
transition: all 0.2s ease-out 0s;
}
article footer .avatar:hover {
transform: rotate(360deg);
}
article footer .tag {
color: #fff;
font-size: 10px;
height: 18px;
line-height: 18px;
display: inline-block;
padding: 0 5px 0px 10px;
position: relative;
border-radius: 0 5px 5px 0;
margin: 5px 9px 5px 8px;
background-color: #7b5d5f;
font-family: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace;
}
article footer .tag:before {
content: " ";
width: 0px;
height: 0px;
position: absolute;
top: 0;
left: -18px;
border: 9px solid transparent;
border-right-color: #7b5d5f;
}
article footer .tag:after {
content: " ";
width: 4px;
height: 4px;
background-color: #fff;
border-radius: 4px;
box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.3);
position: absolute;
top: 7px;
left: 2px;
}
a.color1.tag {
background: #ff945c;
}
a.color1.tag:before {
border-right-color: #ff945c;
}
a.color2.tag {
background: #f5c7b7;
}
a.color2.tag:before {
border-right-color: #f5c7b7;
}
a.color3.tag {
background: #ba8f6c;
}
a.color3.tag:before {
border-right-color: #ba8f6c;
}
a.color4.tag {
background: #cfb7c4;
}
a.color4.tag:before {
border-right-color: #cfb7c4;
}
nav.pagination {
text-align: center;
margin-top: 30px;
}
nav.pagination .page-num {
width: 20px;
height: 20px;
background: #4d4d4d;
border-radius: 50%;
display: inline-block;
color: #fff;
line-height: 20px;
font-size: 12px;
margin: 0 3px 30px;
}
nav.pagination a.page-num:hover {
opacity: 0.7;
}
nav.pagination .page-num.current {
background: #88acdb;
}
nav.pagination .extend {
color: #4d4d4d;
margin: 0 27px;
opacity: 0;
}
nav.pagination .extend:hover {
color: #b0a0aa;
}
nav.pagination:hover .extend {
opacity: 1;
}
/* end article */
/* start responsive */
@media only screen and (max-width: 900px) {
......
......@@ -6,27 +6,27 @@
Powered by <a href="http://b3log.org" target="_blank">B3log 开源</a> • <a href="http://b3log.org/services/#solo" target="_blank">Solo</a> ${version}&nbsp;&nbsp;
Theme by <a rel="friend" href="http://vanessa.b3log.org" target="_blank">Vanessa</a>.
</span>
<div class="count">
<span>
${viewCount1Label}
${statistic.statisticBlogViewCount}
</span> &nbsp; &nbsp;
<span>
${articleCount1Label}
${statistic.statisticPublishedBlogArticleCount}
</span><br/>
<span>
${commentCount1Label}
${statistic.statisticPublishedBlogCommentCount}
</span> &nbsp; &nbsp;
<span>
${onlineVisitor1Label}
${onlineVisitorCnt}
</span>
</div>
</footer>
<div class="count">
<span>
${viewCount1Label}
${statistic.statisticBlogViewCount}
</span> &nbsp; &nbsp;
<span>
${articleCount1Label}
${statistic.statisticPublishedBlogArticleCount}
</span><br/>
<span>
${commentCount1Label}
${statistic.statisticPublishedBlogCommentCount}
</span> &nbsp; &nbsp;
<span>
${onlineVisitor1Label}
${onlineVisitorCnt}
</span>
</div>
<script type="text/javascript" src="${staticServePath}/js/lib/jquery/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript" src="${staticServePath}/js/common${miniPostfix}.js?${staticResourceVersion}" charset="utf-8"></script>
<script type="text/javascript" src="${staticServePath}/skins/${skinDirName}/js/${skinDirName}${miniPostfix}.js?${staticResourceVersion}" charset="utf-8"></script>
......
......@@ -15,7 +15,7 @@
<#include "side.ftl">
<main>
<#include "article-list.ftl">
<#include "footer.ftl">
</main>
<#include "footer.ftl">
</body>
</html>
......@@ -17,50 +17,33 @@
* @fileoverview util and every page should be used.
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.0.0.0, Jun 13, 2015
* @version 1.0.0.0, Nov 1, 2015
*/
/**
* @description Finding 皮肤脚本
* @description yilia 皮肤脚本
* @static
*/
var Finding = {
var Yilia = {
/**
* @description 页面初始化
*/
init: function () {
Util.killIE();
$(".scroll-down").click(function (event) {
event.preventDefault();
var $this = $(this),
$htmlBody = $('html, body'),
offset = ($this.attr('data-offset')) ? $this.attr('data-offset') : false,
toMove = parseInt(offset);
$htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top + toMove)}, 500);
});
$('body').click(function (event) {
if ($(event.target).closest('.nav').length === 0
&& $("body").hasClass('nav-opened')
&& !$(event.target).hasClass('icon-gotop')) {
$("body").removeClass('nav-opened').addClass('nav-closed');
}
});
$(".menu-button").click(function (event) {
event.stopPropagation();
$("body").toggleClass("nav-opened nav-closed");
});
$('body').append('<a class="icon-gotop fn-none" href="javascript:Util.goTop()"></a>');
this.resetTags();
$(window).scroll(function () {
if ($(window).scrollTop() > $(window).height()) {
$(".icon-gotop").show();
} else {
$(".icon-gotop").hide();
}
$("article:not(.show)").each(function () {
if ($(this).offset().top <= $(window).scrollTop() + $(window).height() - $(this).height() / 7) {
$(this).addClass("show");
}
});
});
$(window).scroll();
},
resetTags: function () {
$("a.tag").each(function (i) {
$(this).addClass("color" + Math.ceil(Math.random() * 4));
});
},
share: function () {
......@@ -81,4 +64,4 @@ var Finding = {
}
};
Finding.init();
\ No newline at end of file
Yilia.init();
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment