This commit is contained in:
Van 2017-04-09 04:31:52 +08:00
parent bf212920ad
commit b48eac788f
64 changed files with 1230 additions and 217 deletions

View File

@ -13,7 +13,7 @@
<div class="main-wrap">
<main>
<div class="title">
<h2 style="border-bottom:0">
<h2 class="tip">
<i class="icon-inbox"></i>
&nbsp;
<#if "en" == localeString?substring(0, 2)>

View File

@ -0,0 +1,29 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
<#include "header.ftl">
<div class="wrapper">
<div class="main-wrap">
<main>
<div class="title">
<h2 class="tip"><i class="icon-category"></i>
&nbsp;${category.categoryTitle}
<small>${category.categoryDescription}</small>
</h2>
</div>
<#include "article-list.ftl">
</main>
<#include "side.ftl">
</div>
</div>
<#include "footer.ftl">
</body>
</html>

View File

@ -495,25 +495,6 @@ a[class*=" icon-"]:hover {
text-decoration: none;
color: #4285f4
}
@font-face {
font-family: 'icomoon';
src: url("fonts/icomoon.eot?68j667");
src: url("fonts/icomoon.eot?68j667#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?68j667") format("truetype"), url("fonts/icomoon.woff?68j667") format("woff"), url("fonts/icomoon.svg?68j667#icomoon") format("svg");
font-weight: normal;
font-style: normal
}
[class^="icon-"],
[class*=" icon-"] {
font-family: 'icomoon' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
.em00, .em01, .em02, .em03, .em04, .em05, .em06, .em07, .em08, .em09,
.em10, .em11, .em12, .em13, .em14 {
cursor: pointer;
@ -593,6 +574,32 @@ a[class*=" icon-"]:hover {
/* end common */
/* start reset common */
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?oyqnlj');
src: url('fonts/icomoon.eot?oyqnlj#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?oyqnlj') format('truetype'),
url('fonts/icomoon.woff?oyqnlj') format('woff'),
url('fonts/icomoon.svg?oyqnlj#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: 'icomoon' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-list:before {
content: "\f0ca";
}
@ -623,6 +630,9 @@ a[class*=" icon-"]:hover {
.icon-refresh:before {
content: "\f021";
}
.icon-category:before {
content: "\e9bc";
}
.icon-logout:before {
content: "\ea14";
}
@ -641,6 +651,7 @@ a[class*=" icon-"]:hover {
.icon-rss:before {
content: "\e901";
}
*::selection {
background: none repeat scroll 0% 0% #3D4450;
color: #FFF;
@ -1051,6 +1062,10 @@ aside.has-toc > section:last-child {
border-bottom: 1px solid #f1f1f1;
margin-top: 20px;
}
.title > h2.tip {
border-bottom: 0
}
/* end article list */
/* start comments */

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -11,6 +11,7 @@
<glyph unicode="&#xe901;" glyph-name="rss" d="M136.294 209.070c-75.196 0-136.292-61.334-136.292-136.076 0-75.154 61.1-135.802 136.292-135.802 75.466 0 136.494 60.648 136.494 135.802-0.002 74.742-61.024 136.076-136.494 136.076zM0.156 612.070v-196.258c127.784 0 247.958-49.972 338.458-140.512 90.384-90.318 140.282-211.036 140.282-339.3h197.122c-0.002 372.82-303.282 676.070-675.862 676.070zM0.388 960v-196.356c455.782 0 826.756-371.334 826.756-827.644h196.856c0 564.47-459.254 1024-1023.612 1024z" />
<glyph unicode="&#xe973;" glyph-name="register" d="M384 224c0 151.234 95.874 280.486 230.032 330.2 16.28 36.538 25.968 77.164 25.968 117.8 0 159.058 0 288-192 288s-192-128.942-192-288c0-99.060 57.502-198.104 128-237.832v-52.78c-217.102-17.748-384-124.42-384-253.388h397.306c-8.664 30.53-13.306 62.732-13.306 96zM736 512c-159.058 0-288-128.942-288-288s128.942-288 288-288c159.056 0 288 128.942 288 288s-128.942 288-288 288zM896 192h-128v-128h-64v128h-128v64h128v128h64v-128h128v-64z" />
<glyph unicode="&#xe994;" glyph-name="setting" d="M933.79 349.75c-53.726 93.054-21.416 212.304 72.152 266.488l-100.626 174.292c-28.75-16.854-62.176-26.518-97.846-26.518-107.536 0-194.708 87.746-194.708 195.99h-201.258c0.266-33.41-8.074-67.282-25.958-98.252-53.724-93.056-173.156-124.702-266.862-70.758l-100.624-174.292c28.97-16.472 54.050-40.588 71.886-71.478 53.638-92.908 21.512-211.92-71.708-266.224l100.626-174.292c28.65 16.696 61.916 26.254 97.4 26.254 107.196 0 194.144-87.192 194.7-194.958h201.254c-0.086 33.074 8.272 66.57 25.966 97.218 53.636 92.906 172.776 124.594 266.414 71.012l100.626 174.29c-28.78 16.466-53.692 40.498-71.434 71.228zM512 240.668c-114.508 0-207.336 92.824-207.336 207.334 0 114.508 92.826 207.334 207.336 207.334 114.508 0 207.332-92.826 207.332-207.334-0.002-114.51-92.824-207.334-207.332-207.334z" />
<glyph unicode="&#xe9bc;" glyph-name="category" d="M976 192h-16v208c0 61.756-50.242 112-112 112h-272v128h16c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-128h-272c-61.756 0-112-50.244-112-112v-208h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48zM192 0h-128v128h128v-128zM576 0h-128v128h128v-128zM448 704v128h128v-128h-128zM960 0h-128v128h128v-128z" />
<glyph unicode="&#xea13;" glyph-name="login" d="M384 448h-320v128h320v128l192-192-192-192zM1024 960v-832l-384-192v192h-384v256h64v-192h320v576l256 128h-576v-256h-64v320z" />
<glyph unicode="&#xea14;" glyph-name="logout" d="M768 320v128h-320v128h320v128l192-192zM704 384v-256h-320v-192l-384 192v832h704v-320h-64v256h-512l256-128v-576h256v192z" />
<glyph unicode="&#xf002;" glyph-name="search" horiz-adv-x="951" d="M658.286 475.428c0 141.143-114.857 256-256 256s-256-114.857-256-256 114.857-256 256-256 256 114.857 256 256zM950.857 0c0-40-33.143-73.143-73.143-73.143-19.429 0-38.286 8-51.429 21.714l-196 195.429c-66.857-46.286-146.857-70.857-228-70.857-222.286 0-402.286 180-402.286 402.286s180 402.286 402.286 402.286 402.286-180 402.286-402.286c0-81.143-24.571-161.143-70.857-228l196-196c13.143-13.143 21.143-32 21.143-51.429z" />

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Binary file not shown.

View File

@ -19,13 +19,13 @@
"attrs": [],
"properties": {
"name": "list",
"id": 290,
"order": 106,
"id": 6,
"order": 3,
"prevSize": 28,
"code": 61642
},
"setIdx": 1,
"setId": 1,
"setIdx": 0,
"setId": 3,
"iconIdx": 0
},
{
@ -46,13 +46,13 @@
"attrs": [],
"properties": {
"name": "home",
"id": 289,
"order": 107,
"id": 7,
"order": 4,
"prevSize": 28,
"code": 61461
},
"setIdx": 1,
"setId": 1,
"setIdx": 0,
"setId": 3,
"iconIdx": 1
},
{
@ -73,14 +73,14 @@
"attrs": [],
"properties": {
"name": "comments",
"id": 286,
"order": 110,
"id": 8,
"order": 5,
"prevSize": 28,
"code": 61670
},
"setIdx": 1,
"setId": 1,
"iconIdx": 4
"setIdx": 0,
"setId": 3,
"iconIdx": 2
},
{
"icon": {
@ -100,14 +100,14 @@
"attrs": [],
"properties": {
"name": "date",
"id": 285,
"order": 111,
"id": 9,
"order": 6,
"prevSize": 28,
"code": 61555
},
"setIdx": 1,
"setId": 1,
"iconIdx": 5
"setIdx": 0,
"setId": 3,
"iconIdx": 3
},
{
"icon": {
@ -127,14 +127,14 @@
"attrs": [],
"properties": {
"name": "search",
"id": 284,
"order": 112,
"id": 10,
"order": 7,
"prevSize": 28,
"code": 61442
},
"setIdx": 1,
"setId": 1,
"iconIdx": 6
"setIdx": 0,
"setId": 3,
"iconIdx": 4
},
{
"icon": {
@ -154,14 +154,14 @@
"attrs": [],
"properties": {
"name": "up",
"id": 283,
"order": 113,
"id": 11,
"order": 8,
"prevSize": 28,
"code": 61559
},
"setIdx": 1,
"setId": 1,
"iconIdx": 7
"setIdx": 0,
"setId": 3,
"iconIdx": 5
},
{
"icon": {
@ -181,14 +181,14 @@
"attrs": [],
"properties": {
"name": "inbox",
"id": 280,
"order": 114,
"id": 12,
"order": 9,
"prevSize": 28,
"code": 61468
},
"setIdx": 1,
"setId": 1,
"iconIdx": 8
"setIdx": 0,
"setId": 3,
"iconIdx": 6
},
{
"icon": {
@ -208,14 +208,14 @@
"attrs": [],
"properties": {
"name": "tags",
"id": 279,
"order": 115,
"id": 13,
"order": 10,
"prevSize": 28,
"code": 61484
},
"setIdx": 1,
"setId": 1,
"iconIdx": 9
"setIdx": 0,
"setId": 3,
"iconIdx": 7
},
{
"icon": {
@ -236,14 +236,14 @@
"attrs": [],
"properties": {
"name": "link",
"id": 278,
"order": 116,
"id": 14,
"order": 11,
"prevSize": 28,
"code": 61633
},
"setIdx": 1,
"setId": 1,
"iconIdx": 10
"setIdx": 0,
"setId": 3,
"iconIdx": 8
},
{
"icon": {
@ -263,14 +263,41 @@
"attrs": [],
"properties": {
"name": "refresh",
"id": 277,
"order": 117,
"id": 15,
"order": 12,
"prevSize": 28,
"code": 61473
},
"setIdx": 1,
"setId": 1,
"iconIdx": 11
"setIdx": 0,
"setId": 3,
"iconIdx": 9
},
{
"icon": {
"paths": [
"M976 768h-16v-208c0-61.756-50.242-112-112-112h-272v-128h16c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h16v128h-272c-61.756 0-112 50.244-112 112v208h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-16v-192h256v192h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48h-16v-192h256v192h-16c-26.4 0-48 21.6-48 48v160c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-160c0-26.4-21.6-48-48-48zM192 960h-128v-128h128v128zM576 960h-128v-128h128v128zM448 256v-128h128v128h-128zM960 960h-128v-128h128v128z"
],
"tags": [
"tree",
"branches",
"inheritance"
],
"defaultCode": 59836,
"grid": 16,
"attrs": []
},
"attrs": [],
"properties": {
"ligatures": "tree, branches",
"name": "category",
"order": 13,
"id": 16,
"prevSize": 32,
"code": 59836
},
"setIdx": 0,
"setId": 3,
"iconIdx": 10
},
{
"icon": {
@ -294,14 +321,14 @@
"properties": {
"ligatures": "exit, signout",
"name": "logout",
"id": 288,
"order": 108,
"id": 0,
"order": 14,
"prevSize": 32,
"code": 59924
},
"setIdx": 1,
"setId": 1,
"iconIdx": 2
"setIdx": 0,
"setId": 3,
"iconIdx": 11
},
{
"icon": {
@ -323,15 +350,15 @@
{}
],
"properties": {
"order": 109,
"id": 287,
"order": 15,
"id": 1,
"name": "views",
"prevSize": 32,
"code": 59648
},
"setIdx": 1,
"setId": 1,
"iconIdx": 3
"setIdx": 0,
"setId": 3,
"iconIdx": 12
},
{
"icon": {
@ -359,14 +386,14 @@
"properties": {
"ligatures": "user-plus, user2",
"name": "register",
"id": 115,
"order": 118,
"id": 2,
"order": 16,
"prevSize": 32,
"code": 59763
},
"setIdx": 1,
"setId": 1,
"iconIdx": 12
"setIdx": 0,
"setId": 3,
"iconIdx": 13
},
{
"icon": {
@ -392,14 +419,14 @@
"properties": {
"ligatures": "cog, gear",
"name": "setting",
"id": 148,
"order": 119,
"id": 3,
"order": 17,
"prevSize": 32,
"code": 59796
},
"setIdx": 1,
"setId": 1,
"iconIdx": 13
"setIdx": 0,
"setId": 3,
"iconIdx": 14
},
{
"icon": {
@ -421,14 +448,14 @@
"properties": {
"ligatures": "enter, signin",
"name": "login",
"id": 275,
"order": 120,
"id": 4,
"order": 18,
"prevSize": 32,
"code": 59923
},
"setIdx": 1,
"setId": 1,
"iconIdx": 14
"setIdx": 0,
"setId": 3,
"iconIdx": 15
},
{
"icon": {
@ -451,15 +478,15 @@
{}
],
"properties": {
"order": 121,
"id": 0,
"order": 19,
"id": 5,
"prevSize": 32,
"code": 59649,
"name": "rss"
},
"setIdx": 1,
"setId": 1,
"iconIdx": 15
"setIdx": 0,
"setId": 3,
"iconIdx": 16
}
],
"height": 1024,

View File

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

View File

@ -16,7 +16,7 @@
#
# Description: B3log Solo language configurations(en_US).
# Version: 1.1.0.0, Mar 14, 2017
# Version: 1.2.0.0, Apr 8, 2017
# Author: Liyuan Li
#
@ -27,4 +27,5 @@ readLabel=Read More
nextArticleLabel=Next
previousArticleLabel=Previous
articleCP1Label=Please indicate the source:
viewCountLabel=View Count
viewCountLabel=View Count
cntLabel=

View File

@ -16,7 +16,7 @@
#
# Description: B3log Solo default language configurations(zh_CN).
# Version: 1.1.0.0, Mar 14, 2017
# Version: 1.2.0.0, Apr 8, 2017
# Author: Liyuan Li
#
@ -27,4 +27,5 @@ readLabel=\u9605\u8BFB\u5168\u6587
nextArticleLabel=\u65B0\u4E00\u7BC7
previousArticleLabel=\u65E7\u4E00\u7BC7
articleCP1Label=\u8F6C\u8F7D\u8BF7\u6CE8\u660E\u6765\u6E90\uFF1A
viewCountLabel=\u6D4F\u89C8\u6570
viewCountLabel=\u6D4F\u89C8\u6570
cntLabel=\u4E2A

View File

@ -6,14 +6,29 @@
</div>
</#if>
<#if 0 != mostUsedCategories?size>
<div class="module">
<header><h2>${categoryLabel}</h2></header>
<main>
<#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">
<header><h2>${popTagsLabel}</h2></header>
<header><h2>${tagsLabel}</h2></header>
<main>
<#list mostUsedTags as tag>
<a rel="tag" title="${tag.tagTitle}(${tag.tagPublishedRefCount})"
<a rel="tag"
href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}"
class="tag tooltipped tooltipped-n" aria-label="${tag.tagPublishedRefCount} ${countLabel}${articleLabel}">
class="tag tooltipped tooltipped-n"
aria-label="${tag.tagPublishedRefCount} ${countLabel}${articleLabel}">
${tag.tagTitle}</a>
</#list>
</main>

View File

@ -11,56 +11,13 @@
<#include "header.ftl">
<div class="wrapper">
<div class="main-wrap">
<main class="other">
<main>
<div class="title">
<h2><i class="icon-tags"></i>
<h2 class="tip"><i class="icon-tags"></i>
&nbsp;${tag.tagTitle}
<small>${tagLabel}</small>
</div>
<ul class="list">
<#list articles as article>
<li>
<a class="post-title" href="${servePath}${article.articlePermalink}">
<span>${article.articleTitle}</span>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
${updatedLabel}
</sup>
</#if>
<time class="fn-right">
<i class="icon-date"></i> ${article.articleCreateDate?string("yyyy-MM-dd")}
</time>
</a>
</li>
</#list>
</ul>
<#if 0 != paginationPageCount>
<div class="fn-clear">
<nav class="pagination fn-right">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}/${paginationPreviousPageNum}" class="page-number">&laquo;</a>
<a class="page-number" href="${servePath}${path}/1">1</a> <span class="page-number">...</span>
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span class="page-number current">${paginationPageNum}</span>
<#else>
<a class="page-number" href="${servePath}${path}/${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount> <span class="page-number">...</span>
<a href="${servePath}${path}/${paginationPageCount}" class="page-number">${paginationPageCount}</a>
<a href="${servePath}${path}/${paginationNextPageNum}" class="page-number">&raquo;</a>
</#if>
</nav>
</div>
</#if>
<#include "article-list.ftl">
</main>
<#include "side.ftl">
</div>

View File

@ -0,0 +1,41 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "side-tool.ftl">
<div class="wrapper">
<#include "header.ftl">
<div>
<div class="main">
<div class="main-content">
<h2>
${categoryLabel}
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
</div>
<div class="main-footer"></div>
</div>
<div class="side-navi">
<#include "side.ftl">
</div>
<div class="clear"></div>
<div class="brush">
<div class="brush-icon"></div>
<div id="brush"></div>
</div>
<div class="footer">
<#include "footer.ftl">
</div>
</div>
</div>
</body>
</html>

View File

@ -60,25 +60,42 @@
</dl>
</div>
</#if>
<#if 0 != mostUsedTags?size>
<div class="item">
<dl>
<dd>
<h4>${popTagsLabel}</h4>
<ul class="navi-tags">
<#list mostUsedTags as tag>
<li>
<a rel="tag" title="${tag.tagTitle}(${tag.tagPublishedRefCount})" href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}">
${tag.tagTitle}(${tag.tagPublishedRefCount})</a>
<img onclick="window.location='${servePath}/tag-articles-feed.do?oId=${tag.oId}'"
alt="${tag.tagTitle}" src="${staticServePath}/images/feed.png"/>
</li>
</#list>
</ul>
</dd>
</dl>
</div>
<#if 0 != mostUsedCategories?size || 0 != mostUsedTags?size>
<div class="item">
<dl>
<#if 0 != mostUsedCategories?size>
<dd>
<h4>${categoryLabel}</h4>
<ul>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle} (${category.categoryTagCnt})</a>
</li>
</#list>
</ul>
</dd>
</#if>
<#if 0 != mostUsedTags?size>
<dd>
<h4>${tagsLabel}</h4>
<ul class="navi-tags">
<#list mostUsedTags as tag>
<li>
<a rel="tag" title="${tag.tagTitle}(${tag.tagPublishedRefCount})" href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}">
${tag.tagTitle} (${tag.tagPublishedRefCount})</a>
<img onclick="window.location='${servePath}/tag-articles-feed.do?oId=${tag.oId}'"
alt="${tag.tagTitle}" src="${staticServePath}/images/feed.png"/>
</li>
</#list>
</ul>
</dd>
</#if>
</dl>
</div>
</#if>
<#if 0 != links?size>
<div class="item">
<dl>
@ -110,11 +127,11 @@
<#if "en" == localeString?substring(0, 2)>
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
title="${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})">
${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})</a>
${archiveDate.monthName} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount})</a>
<#else>
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
title="${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}(${archiveDate.archiveDatePublishedArticleCount})">
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}(${archiveDate.archiveDatePublishedArticleCount})</a>
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount})</a>
</#if>
</li>
</#list>

View File

@ -0,0 +1,29 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
<#include "header.ftl">
<div class="container">
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8 site article-list">
<h2>
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
</div>
<div class="col-sm-2"></div>
</div>
</div>
<#include "footer.ftl">
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -15,6 +15,19 @@
<div class="col-sm-2"></div>
<div class="col-sm-8 site">
<h2>${categoryLabel}</h2>
<ul>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
<span>${category.categoryTitle}</span>
(<b>${category.categoryTagCnt}</b>)</a>
</a>
</li>
</#list>
</ul>
<h2>${tagsLabel}</h2>
<ul>
<#list tags as tag>
<li>

View File

@ -0,0 +1,37 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<div class="content">
<div class="header">
<#include "header.ftl">
</div>
<div class="body">
<div class="left main">
<div>
<h2 class="marginLeft12 marginBottom12">
${categoryLabel}:
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
</div>
<#include "article-list.ftl">
</div>
<div class="right side">
<#include "side.ftl">
</div>
<div class="clear"></div>
</div>
<div class="footer">
<#include "footer.ftl">
</div>
</div>
</body>
</html>

View File

@ -65,10 +65,31 @@
</ul>
<div class="line"></div>
</#if>
<#if 0 != mostUsedCategories?size>
<ul>
<li>
<h4>${categoryLabel}</h4>
</li>
<li>
<ul>
<#list mostUsedCategories as category>
<li>
<a class="tag" href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle}</a> (${category.categoryTagCnt})
</li>
</#list>
</ul>
</li>
</ul>
<div class="line"></div>
</#if>
<#if 0 != mostUsedTags?size>
<ul>
<li>
<h4>${popTagsLabel}</h4>
<h4>${tagsLabel}</h4>
</li>
<li>
<ul>

View File

@ -0,0 +1,29 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<div class="header">
<#include "header.ftl">
</div>
<div class="content">
<h2>${categoryLabel}
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
</div>
<div>
<#include "side.ftl">
</div>
<div class="footer">
<#include "footer.ftl">
</div>
</body>
</html>

View File

@ -68,9 +68,26 @@
</ul>
</div>
</#if>
<#if 0 != mostUsedCategories?size>
<div class="left footer-block">
<h4><span class="left">${categoryLabel}</span></h4>
<span class="clear"></span>
<ul>
<#list mostUsedCategories as category>
<li class="mostUsedTags">
<a href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle}(${category.categoryTagCnt})</a>
</li>
</#list>
</ul>
</div>
</#if>
<#if 0 != mostUsedTags?size>
<div class="left footer-block">
<h4><span class="left">${popTagsLabel}</span></h4>
<h4><span class="left">${tagsLabel}</span></h4>
<span class="clear"></span>
<ul>
<#list mostUsedTags as tag>

View File

@ -0,0 +1,26 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper">
<h2>
${categoryLabel}
${category.categoryTitle}
(${category.categoryTagCnt})
</h2>
${category.categoryDescription}
<#include "article-list.ftl">
</div>
</div>
<#include "footer.ftl">
</body>
</html>

View File

@ -47,7 +47,7 @@
</#if>
<#if 0 != mostUsedTags?size>
<div class="module side-tags">
<h3 class="ft-gray">${popTagsLabel}</h3>
<h3 class="ft-gray">${tagsLabel}</h3>
<ul>
<#list mostUsedTags as tag>
<li>
@ -61,6 +61,23 @@
<div class="clear"></div>
</div>
</#if>
<#if 0 != mostUsedCategories?size>
<div class="module side-tags">
<h3 class="ft-gray">${categoryLabel}</h3>
<ul>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}"
title="${category.categoryTitle} (${category.categoryTagCnt})">
${category.categoryTitle}</a>
</li>
</#list>
</ul>
<div class="clear"></div>
</div>
</#if>
<div class="clear"></div>
<#if 0 != mostCommentArticles?size>
<div class="module side-most-comment">

2
ease/js/ease.min.js vendored
View File

@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var goTranslate=function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)},getNextPage=function(){var e=$(".article-next");currentPage+=1;var t="/articles/";if(1===$("#tag").length){var a=location.pathname.split("/");t="/articles/tags/"+a[a.length-1]+"/"}else if(1===$("#archive").length){var a=location.pathname.split("/");t="/articles/archives/"+a[a.length-2]+"/"+a[a.length-1]+"/"}else if(1===$("#author").length){var a=location.pathname.split("/");t="/articles/authors/"+a[a.length-1]+"/"}$.ajax({url:latkeConfig.servePath+t+currentPage,type:"GET",beforeSend:function(){e.css("background","url("+latkeConfig.staticServePath+"/skins/ease/images/ajax-loader.gif) no-repeat scroll center center #fefefe")},success:function(t,a){if(t.sc){for(var i="",r=t.rslts.pagination,n=0;n<t.rslts.articles.length;n++){var l=t.rslts.articles[n],s="";t.rslts.articles.length-1===n&&(s=" article-last"),i+='<li class="article'+s+'"><div class="article-title"><h2><a rel="bookmark" class="ft-gray" href="'+latkeConfig.servePath+l.articlePermalink+'">'+l.articleTitle+"</a>",l.hasUpdated&&(i+="<sup>"+Label.updatedLabel+"</sup>"),l.articlePutTop&&(i+="<sup>"+Label.topArticleLabel+"</sup>"),i+='</h2><div class="right"><a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+l.articlePermalink+'#comments">'+ +l.articleCommentCount+"&nbsp;&nbsp;"+Label.commentLabel+'</a>&nbsp;&nbsp;<a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+l.articlePermalink+'">'+l.articleViewCount+"&nbsp;&nbsp;"+Label.viewLabel+'</a></div><div class="clear"></div></div><div class="article-body"><div id="abstract'+l.oId+'">'+l.articleAbstract+'</div><div id="content'+l.oId+'" class="none"></div></div><div class="right ft-gray">',l.hasUpdated?i+=Util.toDate(l.articleUpdateTime,"yy-MM-dd HH:mm"):i+=Util.toDate(l.articleCreateTime,"yy-MM-dd HH:mm"),i+=' <a href="'+latkeConfig.servePath+"/authors/"+l.authorId+'">'+l.authorName+'</a></div><div class="left ft-gray">'+Label.tag1Label+" ";for(var o=l.articleTags.split(","),c=0;c<o.length;c++)i+='<a rel="tag" href="'+latkeConfig.servePath+"/tags/"+encodeURIComponent(o[c])+'">'+o[c]+"</a>",c<o.length-1&&(i+=", ");i+='</div><div class="clear"></div></li>'}$(".article-last").removeClass("article-last"),$(".main>.wrapper>ul").append(i),r.paginationPageCount===currentPage?e.remove():e.css("background","none")}}})},ease={$header:$(".header"),headerH:103,$body:$(".main > .wrapper"),$nav:$(".nav"),getCurrentPage:function(){var e=$(".article-next");e.length>0&&(window.currentPage=e.data("page"))},setNavCurrent:function(){$(".nav ul a").each(function(){var e=$(this);e.attr("href")===location.href?e.addClass("current"):/\/[0-9]+$/.test(location.pathname)&&($(".nav ul li")[0].className="current")})},initCommon:function(){Util.init(),Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide")},initArchives:function(){var e=$(".archives");if(!(e.length<1)){$(".footer").css("marginTop","30px");for(var t=[],a=e.find("span").each(function(){for(var e=$(this).data("year"),a=!0,i=0;i<t.length;i++)if(e===t[i]){a=!1;break}a&&t.push(e)}),i="",r=0;r<t.length;r++){for(var n="",l=0;l<a.length;l++){var s=$(a[l]);s.data("year")===t[r]&&(n+=s.html())}i+="<div><h3 class='ft-gray'>"+t[r]+"</h3>"+n+"</div>"}e.html(i);for(var o=$(".archives>div"),c=0,h=0,g=[],d=0;d<o.length;d++){for(var f=0;f<3&&!(d>=o.length);f++)o[d].style.left=310*f+"px",c>0?(""!==o[d-3].style.top&&(h=parseInt(o[d-3].style.top)),o[d].style.top=$(o[d-3]).height()+60+h+"px",g[f]=parseInt(o[d].style.top)+$(o[d]).height()+60):g[f]=$(o[d]).height()+60,f<2&&(d+=1);c+=1}e.height(g.sort()[g.length-1])}},scrollEvent:function(){var e=this;$(window).scroll(function(){var t=$(window).scrollTop();if(t>e.headerH){var a=$(window).height(),i=t+a-21;$("body").height()-58<=t+a&&(i=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",i)}else $("#goTop").hide()})},setDynamic:function(){var e=$(".dynamic");if(!($(".dynamic").length<1)){var t=e.find(".side-comments"),a=e.find(".side-tags"),i=e.find(".side-most-comment"),r=e.find(".side-most-view");t.height()>a.height()?a.height(t.height()):t.height(a.height()),i.height()>r.height()?r.height(i.height()):i.height(r.height()),$(".article-body").each(function(){this.innerHTML=Util.replaceEmString($(this).html())})}}};!function(){ease.getCurrentPage(),ease.initCommon(),ease.scrollEvent(),ease.setNavCurrent(),ease.initArchives(),ease.setDynamic()}();
var goTranslate=function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)},getNextPage=function(){var e=$(".article-next");currentPage+=1;var t="/articles/";if(1===$("#tag").length){var a=location.pathname.split("/");t="/articles/tags/"+a[a.length-1]+"/"}else if(1===$("#archive").length){var a=location.pathname.split("/");t="/articles/archives/"+a[a.length-2]+"/"+a[a.length-1]+"/"}else if(1===$("#author").length){var a=location.pathname.split("/");t="/articles/authors/"+a[a.length-1]+"/"}$.ajax({url:latkeConfig.servePath+t+currentPage,type:"GET",beforeSend:function(){e.css("background","url("+latkeConfig.staticServePath+"/skins/ease/images/ajax-loader.gif) no-repeat scroll center center #fefefe")},success:function(t,a){if(t.sc){for(var i="",r=t.rslts.pagination,n=0;n<t.rslts.articles.length;n++){var l=t.rslts.articles[n],s="";t.rslts.articles.length-1===n&&(s=" article-last"),i+='<li class="article'+s+'"><div class="article-title"><h2><a rel="bookmark" class="ft-gray" href="'+latkeConfig.servePath+l.articlePermalink+'">'+l.articleTitle+"</a>",l.hasUpdated&&(i+="<sup>"+Label.updatedLabel+"</sup>"),l.articlePutTop&&(i+="<sup>"+Label.topArticleLabel+"</sup>"),i+='</h2><div class="right"><a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+l.articlePermalink+'#comments">'+ +l.articleCommentCount+"&nbsp;&nbsp;"+Label.commentLabel+'</a>&nbsp;&nbsp;<a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+l.articlePermalink+'">'+l.articleViewCount+"&nbsp;&nbsp;"+Label.viewLabel+'</a></div><div class="clear"></div></div><div class="article-body"><div id="abstract'+l.oId+'">'+l.articleAbstract+'</div><div id="content'+l.oId+'" class="none"></div></div><div class="right ft-gray">',i+=l.hasUpdated?Util.toDate(l.articleUpdateTime,"yy-MM-dd HH:mm"):Util.toDate(l.articleCreateTime,"yy-MM-dd HH:mm"),i+=' <a href="'+latkeConfig.servePath+"/authors/"+l.authorId+'">'+l.authorName+'</a></div><div class="left ft-gray">'+Label.tag1Label+" ";for(var o=l.articleTags.split(","),c=0;c<o.length;c++)i+='<a rel="tag" href="'+latkeConfig.servePath+"/tags/"+encodeURIComponent(o[c])+'">'+o[c]+"</a>",c<o.length-1&&(i+=", ");i+='</div><div class="clear"></div></li>'}$(".article-last").removeClass("article-last"),$(".main>.wrapper>ul").append(i),r.paginationPageCount===currentPage?e.remove():e.css("background","none")}}})},ease={$header:$(".header"),headerH:103,$body:$(".main > .wrapper"),$nav:$(".nav"),getCurrentPage:function(){var e=$(".article-next");e.length>0&&(window.currentPage=e.data("page"))},setNavCurrent:function(){$(".nav ul a").each(function(){var e=$(this);e.attr("href")===location.href?e.addClass("current"):/\/[0-9]+$/.test(location.pathname)&&($(".nav ul li")[0].className="current")})},initCommon:function(){Util.init(),Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide")},initArchives:function(){var e=$(".archives");if(!(e.length<1)){$(".footer").css("marginTop","30px");for(var t=[],a=e.find("span").each(function(){for(var e=$(this).data("year"),a=!0,i=0;i<t.length;i++)if(e===t[i]){a=!1;break}a&&t.push(e)}),i="",r=0;r<t.length;r++){for(var n="",l=0;l<a.length;l++){var s=$(a[l]);s.data("year")===t[r]&&(n+=s.html())}i+="<div><h3 class='ft-gray'>"+t[r]+"</h3>"+n+"</div>"}e.html(i);for(var o=$(".archives>div"),c=0,h=0,g=[],d=0;d<o.length;d++){for(var f=0;f<3&&!(d>=o.length);f++)o[d].style.left=310*f+"px",c>0?(""!==o[d-3].style.top&&(h=parseInt(o[d-3].style.top)),o[d].style.top=$(o[d-3]).height()+60+h+"px",g[f]=parseInt(o[d].style.top)+$(o[d]).height()+60):g[f]=$(o[d]).height()+60,f<2&&(d+=1);c+=1}e.height(g.sort()[g.length-1])}},scrollEvent:function(){var e=this;$(window).scroll(function(){var t=$(window).scrollTop();if(t>e.headerH){var a=$(window).height(),i=t+a-21;$("body").height()-58<=t+a&&(i=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",i)}else $("#goTop").hide()})},setDynamic:function(){var e=$(".dynamic");if(!($(".dynamic").length<1)){var t=e.find(".side-comments"),a=e.find(".side-tags"),i=e.find(".side-most-comment"),r=e.find(".side-most-view");t.height()>a.height()?a.height(t.height()):t.height(a.height()),i.height()>r.height()?r.height(i.height()):i.height(r.height()),$(".article-body").each(function(){this.innerHTML=Util.replaceEmString($(this).html())})}}};!function(){ease.getCurrentPage(),ease.initCommon(),ease.scrollEvent(),ease.setNavCurrent(),ease.initArchives(),ease.setDynamic()}();

View File

@ -0,0 +1,41 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "nav.ftl">
<div class="wrapper">
<div class="content">
<#include "header.ftl">
<div class="roundtop"></div>
<div class="body">
<div class="left main">
<div class="kind-title">
${categoryLabel}
</div>
<div class="kind-panel">
${category.categoryTitle}
(${category.categoryTagCnt}) ${category.categoryDescription}
</div>
<#include "article-list.ftl">
</div>
<div class="right">
<#include "side.ftl">
</div>
<div class="clear"></div>
</div>
<div class="roundbottom"></div>
</div>
</div>
<div class="footer">
<div class="footer-icon"><#include "statistic.ftl"></div>
<#include "footer.ftl">
</div>
</body>
</html>

View File

@ -18,7 +18,7 @@
* skin favoutite style
*
* @author <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.0.8, Jun 6, 2012
* @version 1.1.0.8, Apr 9, 2017
*/
body {
background: url("../images/bg.jpg") repeat scroll left top transparent;
@ -581,6 +581,11 @@ h5 {
background: url("../images/categorie.png") no-repeat scroll left top transparent;
height: 64px;
}
#sideNavi .tags {
background: url(../images/tagsIcon.png) no-repeat scroll left top transparent;
height: 52px;
background-size: contain;
}
.archivio {
background: url("../images/archivio.png") no-repeat scroll left top transparent;
height: 64px;

File diff suppressed because one or more lines are too long

View File

@ -76,10 +76,29 @@
</div>
<div class="line"></div>
</#if>
<#if 0 != mostUsedCategories?size>
<div class="item">
<div class="categorie">
<h4>${categoryLabel}</h4>
</div>
<ul id="mostViewCountArticles">
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}"
title="${category.categoryTitle} (${category.categoryTagCnt})">
${category.categoryTitle}</a>(${category.categoryTitle})
</li>
</#list>
</ul>
</div>
<div class="line"></div>
</#if>
<#if 0 != mostUsedTags?size>
<div class="item">
<div class="categorie">
<h4>${popTagsLabel}</h4>
<div class="tags">
<h4>${tagsLabel}</h4>
</div>
<ul class="navi-tags">
<#list mostUsedTags as tag>
@ -96,6 +115,8 @@
</div>
<div class="line"></div>
</#if>
<#if 0 != links?size>
<div class="item">
<div class="blog">

View File

@ -0,0 +1,27 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body class="nav-closed">
<div class="nav">
<#include "side.ftl">
</div>
<div class="site-wrapper">
<#include "header.ftl">
<main id="content">
<h2 class="fn-wrap">
${categoryLabel}:
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
</main>
<#include "footer.ftl">
</div>
</body>
</html>

35
finding/category.ftl Normal file
View File

@ -0,0 +1,35 @@
<#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 class="nav-closed">
<div class="nav">
<#include "side.ftl">
</div>
<div class="site-wrapper">
<#include "header.ftl">
<main id="content">
<ul id="tags" class="fn-clear fn-wrap">
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}"
title="${category.categoryTitle} (${category.categoryTagCnt})">
${category.categoryTitle} (<b>${category.categoryTagCnt}</b>)
</a>
</li>
</#list>
</ul>
</main>
<#include "footer.ftl">
</div>
<script type="text/javascript">
Util.buildTags();
</script>
</body>
</body>
</html>

View File

@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var Finding={init:function(){Util.killIE(),this._initToc(),$(".scroll-down").click(function(t){t.preventDefault();var o=$(this),n=$("html, body"),a=!!o.attr("data-offset")&&o.attr("data-offset"),i=parseInt(a);n.stop(!0,!1).animate({scrollTop:$(this.hash).offset().top+i},500)}),$("body").click(function(t){0===$(t.target).closest(".nav").length&&$("body").hasClass("nav-opened")&&!$(t.target).hasClass("icon-gotop")&&$("body").removeClass("nav-opened").addClass("nav-closed")}),$(".menu-button").click(function(t){t.stopPropagation(),$("body").toggleClass("nav-opened nav-closed")}),$("body").append('<a class="icon-gotop fn-none" href="javascript:Util.goTop()"></a>'),$(window).scroll(function(){$(window).scrollTop()>$(window).height()?$(".icon-gotop").show():$(".icon-gotop").hide()})},_initToc:function(){if(0===$(".b3-solo-list").length)return $(".nav .icon-sitemap, .nav .icon-list").show(),!1;$(".nav .icon-sitemap, .nav .icon-list").show(),$(".nav ul:first").hide(),$(".nav ul:first").after($(".b3-solo-list")),$("body").toggleClass("nav-opened nav-closed")},tabNav:function(t){$(".nav .current").removeClass("current"),"toc"===t?($(".nav ul:first").hide(),$(".nav ul:last").show(),$(".icon-list").addClass("current")):($(".nav ul:first").show(),$(".nav ul:last").hide(),$(".icon-sitemap").addClass("current"))},share:function(){$(".share span").click(function(){var t=$(this).data("type"),o=encodeURIComponent($("title").text()),n=$(".post-title a").attr("href")?$(".post-title a").attr("href"):location,a=$(".post-content img:eq(0)").attr("src"),i={};i.tencent="http://share.v.t.qq.com/index.php?c=share&a=index&title="+o+"&url="+n+"&pic="+a,i.weibo="http://v.t.sina.com.cn/share/share.php?title="+o+"&url="+n+"&pic="+a,i.google="https://plus.google.com/share?url="+n,i.twitter="https://twitter.com/intent/tweet?status="+o+" "+n,window.open(i[t],"_blank","top=100,left=200,width=648,height=618")})}};Finding.init();
var Finding={init:function(){Util.killIE(),this._initToc(),$(".scroll-down").click(function(t){t.preventDefault();var o=$(this),n=$("html, body"),a=!!o.attr("data-offset")&&o.attr("data-offset"),i=parseInt(a);n.stop(!0,!1).animate({scrollTop:$(this.hash).offset().top+i},500)}),$("body").click(function(t){0===$(t.target).closest(".nav").length&&$("body").hasClass("nav-opened")&&!$(t.target).hasClass("icon-gotop")&&$("body").removeClass("nav-opened").addClass("nav-closed")}),$(".menu-button").click(function(t){t.stopPropagation(),$("body").toggleClass("nav-opened nav-closed")}),$("body").append('<a class="icon-gotop fn-none" href="javascript:Util.goTop()"></a>'),$(window).scroll(function(){$(window).scrollTop()>$(window).height()?$(".icon-gotop").show():$(".icon-gotop").hide()})},_initToc:function(){return 0===$(".b3-solo-list").length?($(".nav .icon-sitemap, .nav .icon-list").show(),!1):($(".nav .icon-sitemap, .nav .icon-list").show(),$(".nav ul:first").hide(),$(".nav ul:first").after($(".b3-solo-list")),void $("body").toggleClass("nav-opened nav-closed"))},tabNav:function(t){$(".nav .current").removeClass("current"),"toc"===t?($(".nav ul:first").hide(),$(".nav ul:last").show(),$(".icon-list").addClass("current")):($(".nav ul:first").show(),$(".nav ul:last").hide(),$(".icon-sitemap").addClass("current"))},share:function(){$(".share span").click(function(){var t=$(this).data("type"),o=encodeURIComponent($("title").text()),n=$(".post-title a").attr("href")?$(".post-title a").attr("href"):location,a=$(".post-content img:eq(0)").attr("src"),i={};i.tencent="http://share.v.t.qq.com/index.php?c=share&a=index&title="+o+"&url="+n+"&pic="+a,i.weibo="http://v.t.sina.com.cn/share/share.php?title="+o+"&url="+n+"&pic="+a,i.google="https://plus.google.com/share?url="+n,i.twitter="https://twitter.com/intent/tweet?status="+o+" "+n,window.open(i[t],"_blank","top=100,left=200,width=648,height=618")})}};Finding.init();

View File

@ -24,6 +24,9 @@
<li>
<a href="${servePath}/dynamic.html">${dynamicLabel}</a>
</li>
<li>
<a href="${servePath}/category.html">${categoryLabel}</a>
</li>
<li>
<a href="${servePath}/tags.html">${allTagsLabel}</a>
</li>

View File

@ -0,0 +1,39 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<div class="bg">
<div class="wrapper">
<div class="content">
<#include "header.ftl">
<div class="body">
<div class="left main">
<div class="kind-title">
${categoryLabel}
</div>
<div class="kind-panel">
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</div>
<#include "article-list.ftl">
</div>
<div class="right">
<#include "side.ftl">
</div>
<div class="clear"></div>
</div>
<div class="footer">
<#include "footer.ftl">
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -69,9 +69,26 @@
</div>
<div class="line"></div>
</#if>
<#if 0 != mostUsedCategories?size>
<div class="item">
<h4>${categoryLabel}</h4>
<ul class="navi-tags">
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle}</a> (${category.categoryTagCnt})
</li>
</#list>
</ul>
</div>
<div class="line"></div>
</#if>
<#if 0 != mostUsedTags?size>
<div class="item">
<h4>${popTagsLabel}</h4>
<h4>${tagsLabel}</h4>
<ul class="navi-tags">
<#list mostUsedTags as tag>
<li>
@ -79,7 +96,7 @@
<img alt="${tag.tagTitle}" src="${staticServePath}/images/feed.png"/>
</a>
<a rel="tag" title="${tag.tagTitle}(${tag.tagPublishedRefCount})" href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}">
${tag.tagTitle}</a>(${tag.tagPublishedRefCount})
${tag.tagTitle}</a> (${tag.tagPublishedRefCount})
</li>
</#list>
</ul>

View File

@ -0,0 +1,53 @@
<#include "macro-head.ftl">
<#include "macro-side.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<div class="wrapper">
<div id="header">
<#include "header.ftl" />
<div class="sub-nav fn-clear">
<h2>
${categoryLabel}:
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#if 0 != paginationPageCount>
<div class="pagination">
<#if 1 != paginationPageNums?first>
<a id="previousPage" href="${servePath}${path}/${paginationPreviousPageNum}"
title="${previousPageLabel}"><</a>
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span>${paginationPageNum}</span>
<#else>
<a href="${servePath}${path}/${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount>
<a id="nextPage" href="${servePath}${path}/${paginationNextPageNum}" title="${nextPagePabel}">></a>
</#if>
</div>
</#if>
</div>
</div>
<div class="fn-clear">
<div class="main">
<#include "article-list.ftl"/>
<#include "copyright.ftl"/>
</div>
<@side isArticle=false />
</div>
</div>
<span id="goTop" onclick="Util.goTop()" data-ico="&#xe042;" class="side-tile"></span>
<#include "footer.ftl"/>
</body>
</html>

40
metro-hot/category.ftl Normal file
View File

@ -0,0 +1,40 @@
<#include "macro-head.ftl">
<#include "macro-side.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>
${topBarReplacement}
<div class="wrapper">
<div id="header">
<#include "header.ftl" />
<div class="sub-nav fn-clear">
<h2>${categoryLabel}</h2>
</div>
</div>
<div class="fn-clear">
<div class="main">
<ul id="tags" class="archives fn-clear">
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
<span>${category.categoryTitle}</span>
(<b>${category.categoryTagCnt}</b>)</a>
</a>
</li>
</#list>
</ul>
<#include "copyright.ftl"/>
</div>
<@side isArticle=false />
</div>
</div>
<span id="goTop" onclick="Util.goTop()" data-ico="&#xe042;" class="side-tile"></span>
<#include "footer.ftl"/>
</body>
</html>

View File

@ -17,6 +17,9 @@
<li>
<a href="${servePath}/dynamic.html">${dynamicLabel}</a>
</li>
<li>
<a href="${servePath}/category.html">${categoryLabel}</a>
</li>
<li>
<a href="${servePath}/tags.html">${allTagsLabel}</a>
</li>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,24 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body class="classic-wptouch-bg ">
<#include "header.ftl">
<div class="content single">
<div class="post">
<h2 >${categoryLabel}
<a rel="alternate" href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle}
(${category.categoryTagCnt})</a>
</h2>
</div>
</div>
<#include "article-list.ftl">
<#include "footer.ftl">
</body>
</html>

View File

@ -6,8 +6,7 @@
</center>
<p><span style="color: gray;">&copy; ${year}</span> - <a href="${servePath}">${blogTitle}</a>${footerContent}</p>
<p>Powered by <a href="http://b3log.org" target="_blank">B3log 开源</a> • <a href="http://b3log.org/services/#solo" target="_blank">Solo</a> ${version},
Theme by <a rel="friend" href="http://dx.b3log.org" target="_blank">dx</a> &lt
<a rel="friend" href="http://www.bravenewcode.com/products/wptouch-pro">WPtouch</a>.</p>
Theme by <a rel="friend" href="http://vanessa.b3log.org" target="_blank">Vanessa</a></p>
</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>

View File

@ -28,6 +28,7 @@
<a href="#head-pages"><img src="${staticServePath}/skins/${skinDirName}/images/icon-pool/Pages.png" alt=""/></a>
<a href="#head-tags"><img src="${staticServePath}/skins/${skinDirName}/images/icon-pool/Tags.png" alt=""/></a>
<a href="#head-cats"><img src="${staticServePath}/skins/${skinDirName}/images/icon-pool/Archives.png" alt=""/></a>
<a href="#head-category"><img src="${staticServePath}/skins/${skinDirName}/images/icon-pool/category.png" alt=""/></a>
</div>
<ul id="head-pages">
@ -60,6 +61,17 @@
</#if>
</ul>
<ul id="head-category">
<#if 0 != mostUsedCategories?size>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle}</a>
</li>
</#list>
</#if>
</ul>
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -135,3 +135,15 @@
</ul>
</#if>
</div>
<ul id="head-category">
<#if 0 != mostUsedCategories?size>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}"
aria-label="${category.categoryTagCnt} ${tagsLabel}"
class="tag tooltipped tooltipped-n">
${category.categoryTitle}</a>
</li>
</#list>
</#if>
</ul>

View File

@ -322,7 +322,12 @@ blockquote {
padding: 0;
}
.dropper ul#head-pages li, .dropper ul#head-cats li, .dropper ul#head-tags li li, .dropper ul#head-account li, ul#tweets li {
.dropper ul#head-pages li,
.dropper ul#head-cats li,
.dropper ul#head-tags li,
.dropper ul#head-account li,
.dropper ul#head-category li,
ul#tweets li {
border-bottom: 1px solid #1d1d1d;
background: url(../core/core-images/arrow.png) no-repeat right center;
border-top: 1px solid #363636;
@ -348,7 +353,10 @@ blockquote {
text-decoration: underline;
}
.dropper ul#head-cats li:hover, .dropper ul#head-tags li li:hover, .dropper ul#head-pages li:hover {
.dropper ul#head-cats li:hover,
.dropper ul#head-tags li li:hover,
.dropper ul#head-category li li:hover,
.dropper ul#head-pages li:hover {
background-color: #222;
border-top: 1px solid #222;
position: relative;
@ -761,7 +769,7 @@ input#search-submit {
img.head-close {
display: inline;
position: relative;
top: 6px;
top: 0px;
left: 5px;
}

View File

@ -0,0 +1,29 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="body">
<div class="wrapper">
<div class="main">
<h2>
${categoryLabel}:
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
</div>
<#include "side.ftl">
<div class="clear"></div>
</div>
</div>
<#include "footer.ftl">
</body>
</html>

View File

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

View File

@ -68,9 +68,26 @@
</ul>
</div>
</#if>
<#if 0 != mostUsedCategories?size>
<div>
<h4>${categoryLabel}</h4>
<ul class="tags">
<#list mostUsedCategories as category>
<li>
<sup>[${category.categoryTagCnt}]</sup>
<a class="tag" href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle}</a>
</li>
</#list>
</ul>
<div class="clear"></div>
</div>
</#if>
<#if 0 != mostUsedTags?size>
<div>
<h4>${popTagsLabel}</h4>
<h4>${tagsLabel}</h4>
<ul id="tagsSide" class="tags">
<#list mostUsedTags as tag>
<li>

View File

@ -0,0 +1,69 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
<#include "header.ftl">
<main class="main wrapper">
<div class="content posts-collapse">
<div class="collection-title">
<h2>
${category.categoryTitle}
<small>${categoryLabel}</small>
</h2>
</div>
<#list articles as article>
<article>
<header class="post-header">
<h1>
<a class="post-title" href="${servePath}${article.articlePermalink}">
<span>${article.articleTitle}</span>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
<#if article.hasUpdated>
<sup>
${updatedLabel}
</sup>
</#if>
</a>
</h1>
<time class="post-time">
${article.articleCreateDate?string("MM-dd")}
</time>
</header>
</article>
</#list>
<#if 0 != paginationPageCount>
<nav class="pagination">
<#if 1 != paginationPageNums?first>
<a href="${servePath}${path}/${paginationPreviousPageNum}" class="extend next"><<</a>
<a class="page-number" href="${servePath}${path}/1">1</a> ...
</#if>
<#list paginationPageNums as paginationPageNum>
<#if paginationPageNum == paginationCurrentPageNum>
<span class="page-number current">${paginationPageNum}</span>
<#else>
<a class="page-number" href="${servePath}${path}/${paginationPageNum}">${paginationPageNum}</a>
</#if>
</#list>
<#if paginationPageNums?last != paginationPageCount> ...
<a href="${servePath}${path}/${paginationPageCount}" class="page-number">${paginationPageCount}</a>
<a href="${servePath}${path}/${paginationNextPageNum}" class="extend next">>></a>
</#if>
</nav>
</#if>
</div>
<#include "side.ftl">
</main>
<#include "footer.ftl">
</body>
</html>

View File

@ -10,6 +10,29 @@
<body>
<#include "header.ftl">
<main class="main wrapper">
<#if mostUsedCategories?size != 0>
<div class="content page-archive">
<section class="posts-collapse">
<div class="tag-cloud">
${sumLabel} ${mostUsedCategories?size} ${categoryLabel}
</div>
<#list mostUsedCategories as category>
<article>
<header class="post-header">
<h1>
<a class="post-title" href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle} (${category.categoryTagCnt})</a>
<small>${category.categoryDescription}</small>
</h1>
</header>
</article>
</#list>
</section>
</div>
<br>
<br>
<br>
</#if>
<div class="content">
<div class="tag-cloud">
${sumLabel} ${tags?size} ${tagLabel}

View File

@ -0,0 +1,29 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<div id="a">
<#include "header.ftl">
<div id="b">
<article>
<cite>${categoryLabel}</cite>
<blockquote>
${category.categoryTitle}
(${category.categoryTagCnt}) ${category.categoryDescription}
</blockquote>
<#include "article-list.ftl">
</article>
<#include "side.ftl">
<div class="clear"></div>
</div>
<#include "footer.ftl">
</div>
</body>
</html>

View File

@ -1,16 +1,4 @@
<aside>
<!--
<h4>Search</h4>
<form action="http://www.google.com/cse" id="cse-search-box" class="s" target="_blank">
<div>
<input type="hidden" name="cx" value="014052262704486520429:eeg5ule8tro" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="hidden" name="oe" value="UTF-8">
<input type="hidden" name="hl" value="zh-CN">
<input type="text" name="q" size="15" value="&#x7AD9;&#x5185;&#x641C;&#x7D22;" onclick="this.value=''"/>
<input type="hidden" name="sa" value="site-search"/>
</div>
</form>-->
<nav>
<h4>Navigation</h4>
<ul>
@ -99,8 +87,22 @@
</#list>
</ul>
</#if>
<#if 0 != mostUsedCategories?size>
<h4>${categoryLabel}</h4>
<ul>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}"
title="${category.categoryTitle} (${category.categoryTagCnt})">
${category.categoryTitle}</a>(${category.categoryTagCnt})
</li>
</#list>
</ul>
</#if>
<#if 0 != mostUsedTags?size>
<h4>${popTagsLabel}</h4>
<h4>${tagsLabel}</h4>
<ul class="navi-tags">
<#list mostUsedTags as tag>
<li>

View File

@ -0,0 +1,21 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<h3 id="category" class="nav-abs">
${categoryLabel}:
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h3>
<#include "article-list.ftl">
<#include "footer.ftl">
</body>
</html>

View File

@ -172,17 +172,17 @@ img {
background-position: -96px -48px;
}
#tags {
.tags {
margin: 0;
}
#tags li {
.tags li {
float: left;
list-style-type: none;
height: 45px;
}
#tags a {
.tags a {
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
display: block;
@ -190,13 +190,13 @@ img {
padding: 5px 10px;
}
#tags a:hover {
.tags a:hover {
text-shadow: 0 0 2px;
text-decoration: none;
box-shadow: 0 0 4px #D5D5D5;
}
#tags b {
.tags b {
font-size: 70%;
opacity: 0.6;
filter: alpha(opacity=60);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -12,7 +12,22 @@
<#include "header.ftl">
<div class="wrapper">
<div class="container">
<ul id="tags" class="module fn-clear">
<#if 0 != mostUsedCategories?size>
<h2>${categoryLabel}</h2>
<ul class="module fn-clear tags">
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
<span>${category.categoryTitle}</span>
(<b>${category.categoryTagCnt}</b>)
</a>
</li>
</#list>
</ul>
</#if>
<h2>${tagsLabel}</h2>
<ul id="tags" class="tags module fn-clear">
<#list tags as tag>
<li>
<a rel="tag" data-count="${tag.tagPublishedRefCount}"

View File

@ -0,0 +1,39 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@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">
<h2 class="title">
${categoryLabel}:
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
</div>
<div class="left side">
<#include "side.ftl">
</div>
<div class="clear"></div>
</div>
<div class="footer">
<#include "footer.ftl">
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -74,9 +74,26 @@
</div>
<div class="line"></div>
</#if>
<#if 0 != mostUsedCategories?size>
<div class="block">
<h3>${categoryLabel}</h3>
<ul>
<#list mostUsedCategories as category>
<li>
<a href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle} (${category.categoryTagCnt})</a>
</li>
</#list>
</ul>
<div class='clear'></div>
</div>
<div class="line"></div>
</#if>
<#if 0 != mostUsedTags?size>
<div class="block popTags">
<h3>${popTagsLabel}</h3>
<h3>${tagsLabel}</h3>
<ul>
<#list mostUsedTags as tag>
<li>

View File

@ -0,0 +1,22 @@
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${category.categoryTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${category.categoryTitle}"/>
<meta name="description" content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
<#include "side.ftl">
<main>
<h2 class="classify-name">
${categoryLabel}
${category.categoryTitle}
(${category.categoryTagCnt})<small> ${category.categoryDescription}</small>
</h2>
<#include "article-list.ftl">
<#include "footer.ftl">
</main>
</body>
</html>

View File

@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var Yilia={init:function(){Util.killIE(),this._initToc(),this.resetTags(),$(window).scroll(function(){$("article").length>0&&0===$("article.post").length&&$("article:not(.show)").each(function(){$(this).offset().top<=$(window).scrollTop()+$(window).height()-$(this).height()/7&&$(this).addClass("show")}),$(window).scrollTop()>$(window).height()?$(".icon-goup").show():$(".icon-goup").hide(),1===$("article.post").length&&$("article.post").addClass("show")}),$(window).scroll()},_initToc:function(){if(0===$(".b3-solo-list li").length)return!1;$(".side footer").after('<div class="toc"><a href="javascript:$(\'.side .toc\').hide()" class="close">X</a></div>'),$(".side .toc a").after($(".b3-solo-list")),$(".side .toc-btn").show()},resetTags:function(){$("a.tag").each(function(t){$(this).addClass("color"+Math.ceil(4*Math.random()))})},share:function(){$(".share span").click(function(){var t=$(this).data("type"),i=encodeURIComponent($("title").text()),o=$(".post-title a").attr("href")?$(".post-title a").attr("href"):location,e=$(".post-content img:eq(0)").attr("src"),s={};s.tencent="http://share.v.t.qq.com/index.php?c=share&a=index&title="+i+"&url="+o+"&pic="+e,s.weibo="http://v.t.sina.com.cn/share/share.php?title="+i+"&url="+o+"&pic="+e,s.google="https://plus.google.com/share?url="+o,s.twitter="https://twitter.com/intent/tweet?status="+i+" "+o,window.open(s[t],"_blank","top=100,left=200,width=648,height=618")})}};Yilia.init();
var Yilia={init:function(){Util.killIE(),this._initToc(),this.resetTags(),$(window).scroll(function(){$("article").length>0&&0===$("article.post").length&&$("article:not(.show)").each(function(){$(this).offset().top<=$(window).scrollTop()+$(window).height()-$(this).height()/7&&$(this).addClass("show")}),$(window).scrollTop()>$(window).height()?$(".icon-goup").show():$(".icon-goup").hide(),1===$("article.post").length&&$("article.post").addClass("show")}),$(window).scroll()},_initToc:function(){return 0!==$(".b3-solo-list li").length&&($(".side footer").after('<div class="toc"><a href="javascript:$(\'.side .toc\').hide()" class="close">X</a></div>'),$(".side .toc a").after($(".b3-solo-list")),void $(".side .toc-btn").show())},resetTags:function(){$("a.tag").each(function(t){$(this).addClass("color"+Math.ceil(4*Math.random()))})},share:function(){$(".share span").click(function(){var t=$(this).data("type"),i=encodeURIComponent($("title").text()),o=$(".post-title a").attr("href")?$(".post-title a").attr("href"):location,e=$(".post-content img:eq(0)").attr("src"),s={};s.tencent="http://share.v.t.qq.com/index.php?c=share&a=index&title="+i+"&url="+o+"&pic="+e,s.weibo="http://v.t.sina.com.cn/share/share.php?title="+i+"&url="+o+"&pic="+e,s.google="https://plus.google.com/share?url="+o,s.twitter="https://twitter.com/intent/tweet?status="+i+" "+o,window.open(s[t],"_blank","top=100,left=200,width=648,height=618")})}};Yilia.init();

View File

@ -10,6 +10,26 @@
<body>
<#include "side.ftl">
<main class="classify">
<#if 0 != mostUsedCategories?size>
<article>
<header>
<h2>
<a rel="archive" href="${servePath}/tags.html">
${categoryLabel}
</a>
</h2>
</header>
<ul class="tags fn-clear">
<#list mostUsedCategories as category>
<li>
<a class="tag" href="${servePath}/category/${category.categoryURI}">
${category.categoryTitle} (${category.categoryTagCnt})</a>
</li>
</#list>
</ul>
</article>
</#if>
<article>
<header>
<h2>