Commit 04db3950 authored by Vanessa's avatar Vanessa

添加新皮肤

parent 86bd7489
...@@ -69,7 +69,11 @@ ...@@ -69,7 +69,11 @@
<include path="/skins/**/*.swf" /> <include path="/skins/**/*.swf" />
<include path="/skins/**.gif" /> <include path="/skins/**.gif" />
<include path="/skins/**/*.gif" /> <include path="/skins/**/*.gif" />
<include path="/skins/**/*.eot" />
<include path="/skins/**/*.svg" />
<include path="/skins/**/*.ttf" />
<include path="/skins/**/*.woff" />
<include path="/css/**.css" /> <include path="/css/**.css" />
<include path="/css/**/*.css" /> <include path="/css/**/*.css" />
......
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${archiveDate.archiveDateYear}${archiveDate.archiveDateMonth}"/>
<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 id="archive">${archive1Label}
<#if "en" == localeString?substring(0, 2)>
${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount})
<#else>
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount})
</#if>
</h2>
<#include "article-list.ftl">
</div>
</div>
<#include "footer.ftl">
</body>
</html>
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${blogTitle}">
<meta name="keywords" content="${metaKeywords},${archiveLabel}"/>
<meta name="description" content="${metaDescription},${archiveLabel}"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper">
<#if 0 != archiveDates?size>
<div class="other-main archives">
<#list archiveDates as archiveDate>
<span data-year="${archiveDate.archiveDateYear}">
<#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>
<#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>
</#if>
</span>
</#list>
</div>
</#if>
</div>
</div>
<#include "footer.ftl">
</body>
</html>
<div class="article-list fn-clear">
<#list articles as article>
<div>
<div class="article-title">
<h2>
<a rel="bookmark" class="ft-gray" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.hasUpdated>
<sup>
${updatedLabel}
</sup>
</#if>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
</h2>
<div class="right">
<a rel="nofollow" class="ft-gray" href="${servePath}${article.articlePermalink}#comments">
${article.articleCommentCount}&nbsp;&nbsp;${commentLabel}
</a>&nbsp;&nbsp;
<a rel="nofollow" class="ft-gray" href="${servePath}${article.articlePermalink}">
${article.articleViewCount}&nbsp;&nbsp;${viewLabel}
</a>
</div>
<div class="clear"></div>
</div>
<div class="article-body">
<div id="abstract${article.oId}">
${article.articleAbstract}
</div>
<div id="content${article.oId}" class="none"></div>
</div>
<div class="right ft-gray">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yy-MM-dd HH:mm")}
<#else>
${article.articleCreateDate?string("yy-MM-dd HH:mm")}
</#if>
<a rel="nofollow" href="${servePath}/authors/${article.authorId}">${article.authorName}</a>
</div>
<div class="left ft-gray">
${tag1Label}
<#list article.articleTags?split(",") as articleTag>
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">
${articleTag}</a><#if articleTag_has_next>, </#if>
</#list>
</div>
</div>
</#list>
</div>
<#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>
</#if>
</div>
<#include "macro-head.ftl">
<#include "macro-comments.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${article.articleTitle} - ${blogTitle}">
<meta name="keywords" content="${article.articleTags}" />
<meta name="description" content="${article.articleAbstract?html}" />
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper">
<div class="article">
<div class="article-title">
<h2>
<a class="ft-gray" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<#if article.hasUpdated>
<sup>
${updatedLabel}
</sup>
</#if>
<#if article.articlePutTop>
<sup>
${topArticleLabel}
</sup>
</#if>
</h2>
<div class="right">
<a rel="nofollow" class="ft-gray" href="${servePath}${article.articlePermalink}#comments">
${article.articleCommentCount}&nbsp;&nbsp;${commentLabel}
</a>&nbsp;&nbsp;
<a rel="nofollow" class="ft-gray" href="${servePath}${article.articlePermalink}">
${article.articleViewCount}&nbsp;&nbsp;${viewLabel}
</a>
</div>
<div class="clear"></div>
</div>
<div class="article-body">
${article.articleContent}
<#if "" != article.articleSign.signHTML?trim>
<p>
${article.articleSign.signHTML}
</p>
</#if>
</div>
<div class="right ft-gray">
<#if article.hasUpdated>
${article.articleUpdateDate?string("yy-MM-dd HH:mm")}
<#else>
${article.articleCreateDate?string("yy-MM-dd HH:mm")}
</#if>
<a rel="nofollow" href="${servePath}/authors/${article.authorId}">${article.authorName}</a>
</div>
<div class="left ft-gray">
${tag1Label}
<#list article.articleTags?split(",") as articleTag>
<a rel="tag" href="${servePath}/tags/${articleTag?url('UTF-8')}">${articleTag}</a><#if articleTag_has_next>,</#if>
</#list>
</div>
<div class="clear"></div>
<div class="fn-mgtb10">
<#if 0 != relevantArticlesDisplayCount>
<div id="relevantArticles" class="article-relative"></div>
</#if>
<#if 0 != randomArticlesDisplayCount>
<div id="randomArticles" class="article-relative"></div>
</#if>
<div class="clear"></div>
</div>
<#if nextArticlePermalink??>
<div class="left">
<span class="ft-gray">&lt;</span>
<a href="${servePath}${nextArticlePermalink}">${nextArticleTitle}</a>
</div>
</#if>
<#if previousArticlePermalink??>
<div class="right">
<a href="${servePath}${previousArticlePermalink}">${previousArticleTitle}</a>
<span class="ft-gray">&gt;</span>
</div>
</#if>
<div class="clear"></div>
</div>
<@comments commentList=articleComments article=article></@comments>
</div>
</div>
<div data-ico="&#xe1c6;" id="goTop" onclick="Util.goTop()" title="TOP"></div>
<#include "footer.ftl">
<@comment_script oId=article.oId>
page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}";
<#if 0 != randomArticlesDisplayCount>
page.loadRandomArticles('<h4 class="ft-gray">${randomArticlesLabel}</h4>');
</#if>
<#if 0 != relevantArticlesDisplayCount>
page.loadRelevantArticles('${article.oId}', '<h4 class="ft-gray">${relevantArticlesLabel}</h4>');
</#if>
<#if 0 != externalRelevantArticlesDisplayCount>
page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,</#if></#list>");
</#if>
</@comment_script>
</body>
</html>
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${authorName} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${authorName}"/>
<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 id="author">${author1Label}${authorName}</h2>
<#include "article-list.ftl">
</div>
</div>
<#include "footer.ftl">
</body>
</html>
<div class="footer">
<span class="ft-gray">&copy; ${year}</span> -
<a href="${servePath}">${blogTitle}</a> Powered by
<a href="http://b3log.org" target="_blank" class="logo"> ${b3logLabel}&nbsp;
<span style="color: orangered; font-weight: bold;">Solo</span></a>, ver ${version}&nbsp;&nbsp;Theme by
<a rel="friend" rel="friend" href="http://vanessa.b3log.org" target="_blank">Vanessa</a>.
</div>
\ No newline at end of file
@font-face {
font-family: 'IcoMoon';
src: url('font/IcoMoon.eot');
src: url('font/IcoMoon.eot?#iefix') format('embedded-opentype'),
url('font/IcoMoon.svg#IcoMoon') format('svg'),
url('font/IcoMoon.woff') format('woff'),
url('font/IcoMoon.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
/* Use the following CSS code if you want to use data attributes for inserting your icos */
[data-ico]:before {
font-family: 'IcoMoon';
content: attr(data-ico);
speak: none;
cursor: pointer;
}
/* Use the following CSS code if you want to have a class per ico */
[class^="ico-"],
[class*=" ico-"] {
font-family: 'IcoMoon';
font-size: 16px;
font-style: normal;
font-weight: normal;
height: 16px;
line-height: 16px;
width: 16px;
speak: none;
background-image: none;
background-position: inherit;
}
.ico-home:before {
content: "\0021";
}
.ico-home-2:before {
content: "\0022";
}
.ico-home-3:before {
content: "\0023";
}
.ico-newspaper:before {
content: "\0024";
}
.ico-pencil:before {
content: "\0025";
}
.ico-pencil-2:before {
content: "\0026";
}
.ico-droplet:before {
content: "\0027";
}
.ico-picture:before {
content: "\0028";
}
.ico-picture-2:before {
content: "\0029";
}
.ico-camera:before {
content: "\002a";
}
.ico-music:before {
content: "\002b";
}
.ico-play:before {
content: "\002c";
}
.ico-film:before {
content: "\002d";
}
.ico-camera-2:before {
content: "\002e";
}
.ico-spades:before {
content: "\002f";
}
.ico-clubs:before {
content: "\0030";
}
.ico-diamonds:before {
content: "\0031";
}
.ico-broadcast:before {
content: "\0032";
}
.ico-microphone:before {
content: "\0033";
}
.ico-book:before {
content: "\0034";
}
.ico-paper:before {
content: "\0035";
}
.ico-paper-2:before {
content: "\0036";
}
.ico-new:before {
content: "\0037";
}
.ico-copy:before {
content: "\0038";
}
.ico-folder:before {
content: "\0039";
}
.ico-folder-2:before {
content: "\003a";
}
.ico-tag:before {
content: "\003b";
}
.ico-cart:before {
content: "\003c";
}
.ico-basket:before {
content: "\003d";
}
.ico-calculate:before {
content: "\003e";
}
.ico-support:before {
content: "\003f";
}
.ico-phone:before {
content: "\0040";
}
.ico-mail:before {
content: "\0041";
}
.ico-location:before {
content: "\0042";
}
.ico-compass:before {
content: "\0043";
}
.ico-history:before {
content: "\0044";
}
.ico-clock:before {
content: "\0045";
}
.ico-bell:before {
content: "\0046";
}
.ico-bell-2:before {
content: "\0047";
}
.ico-bell-3:before {
content: "\0048";
}
.ico-calendar:before {
content: "\0049";
}
.ico-mouse:before {
content: "\004a";
}
.ico-screen:before {
content: "\004b";
}
.ico-laptop:before {
content: "\004c";
}
.ico-mobile:before {
content: "\004d";
}
.ico-tablet:before {
content: "\004e";
}
.ico-mobile-2:before {
content: "\004f";
}
.ico-drawer:before {
content: "\0050";
}
.ico-drawer-2:before {
content: "\0051";
}
.ico-box-add:before {
content: "\0052";
}
.ico-box-remove:before {
content: "\0053";
}
.ico-database:before {
content: "\0054";
}
.ico-undo:before {
content: "\0055";
}
.ico-redo:before {
content: "\0056";
}
.ico-forward:before {
content: "\0057";
}
.ico-reply:before {
content: "\0058";
}
.ico-reply-2:before {
content: "\0059";
}
.ico-comments:before {
content: "\005a";
}
.ico-comments-2:before {
content: "\005b";
}
.ico-comments-3:before {
content: "\005c";
}
.ico-comments-4:before {
content: "\005d";
}
.ico-comments-5:before {
content: "\005e";
}
.ico-comments-6:before {
content: "\005f";
}
.ico-user:before {
content: "\0060";
}
.ico-user-2:before {
content: "\0061";
}
.ico-user-3:before {
content: "\0062";
}
.ico-busy:before {
content: "\0063";
}
.ico-loading:before {
content: "\0064";
}
.ico-loading-2:before {
content: "\0065";
}
.ico-search:before {
content: "\0066";
}
.ico-search-2:before {
content: "\0067";
}
.ico-zoom-in:before {
content: "\0068";
}
.ico-zoom-out:before {
content: "\0069";
}
.ico-key:before {
content: "\006a";
}
.ico-key-2:before {
content: "\006b";
}
.ico-locked:before {
content: "\006c";
}
.ico-unlocked:before {
content: "\006d";
}
.ico-wrench:before {
content: "\006e";
}
.ico-equalizer:before {
content: "\006f";
}
.ico-cog:before {
content: "\0070";
}
.ico-pie:before {
content: "\0071";
}
.ico-bars:before {
content: "\0072";
}
.ico-stats-up:before {
content: "\0073";
}
.ico-gift:before {
content: "\0074";
}
.ico-trophy:before {
content: "\0075";
}
.ico-diamond:before {
content: "\0076";
}
.ico-coffee:before {
content: "\0077";
}
.ico-rocket:before {
content: "\0078";
}
.ico-meter-slow:before {
content: "\0079";
}
.ico-meter-medium:before {
content: "\007a";
}
.ico-meter-fast:before {
content: "\007b";
}
.ico-dashboard:before {
content: "\007c";
}
.ico-fire:before {
content: "\007d";
}
.ico-lab:before {
content: "\e000";
}
.ico-remove:before {
content: "\e001";
}
.ico-remove-2:before {
content: "\e002";
}
.ico-remove-3:before {
content: "\e003";
}
.ico-briefcase:before {
content: "\e004";
}
.ico-briefcase-2:before {
content: "\e005";
}
.ico-cars:before {
content: "\e006";
}
.ico-bus:before {
content: "\e007";
}
.ico-cube:before {
content: "\e008";
}
.ico-cube-2:before {
content: "\e009";
}
.ico-puzzle:before {
content: "\e00a";
}
.ico-glasses:before {
content: "\e00b";
}
.ico-glasses-2:before {
content: "\e00c";
}
.ico-accessibility:before {
content: "\e00d";
}
.ico-accessibility-2:before {
content: "\e00e";
}
.ico-target:before {
content: "\e00f";
}
.ico-target-2:before {
content: "\e010";
}
.ico-lightning:before {
content: "\e011";
}
.ico-power:before {
content: "\e012";
}
.ico-power-2:before {
content: "\e013";
}
.ico-clipboard:before {
content: "\e014";
}
.ico-clipboard-2:before {
content: "\e015";
}
.ico-playlist:before {
content: "\e016";
}
.ico-grid-view:before {
content: "\e017";
}
.ico-tree-view:before {
content: "\e018";
}
.ico-menu:before {
content: "\e019";
}
.ico-menu-2:before {
content: "\e01a";
}
.ico-cloud:before {
content: "\e01b";
}
.ico-cloud-2:before {
content: "\e01c";
}
.ico-download:before {
content: "\e01d";
}
.ico-upload:before {
content: "\e01e";
}
.ico-upload-2:before {
content: "\e01f";
}
.ico-link:before {
content: "\e020";
}
.ico-link-2:before {
content: "\e021";
}
.ico-flag:before {
content: "\e022";
}
.ico-flag-2:before {
content: "\e023";
}
.ico-flag-3:before {
content: "\e024";
}
.ico-eye:before {
content: "\e025";
}
.ico-eye-2:before {
content: "\e026";
}
.ico-bookmark:before {
content: "\e027";
}
.ico-bookmark-2:before {
content: "\e028";
}
.ico-star:before {
content: "\e029";
}
.ico-star-2:before {
content: "\e02a";
}
.ico-star-3:before {
content: "\e02b";
}
.ico-heart:before {
content: "\e02c";
}
.ico-heart-2:before {
content: "\e02d";
}
.ico-thumbs-up:before {
content: "\e02e";
}
.ico-thumbs-down:before {
content: "\e02f";
}
.ico-happy:before {
content: "\e030";
}
.ico-smiley:before {
content: "\e031";
}
.ico-neutral:before {
content: "\e032";
}
.ico-plus:before {
content: "\e033";
}
.ico-minus:before {
content: "\e034";
}
.ico-help:before {
content: "\e035";
}
.ico-help-2:before {
content: "\e036";
}
.ico-info:before {
content: "\e037";
}
.ico-blocked:before {
content: "\e038";
}
.ico-cancel:before {
content: "\e039";
}
.ico-cancel-2:before {
content: "\e03a";
}
.ico-cancel-3:before {
content: "\e03b";
}
.ico-checkmark:before {
content: "\e03c";
}
.ico-minus-2:before {
content: "\e03d";
}
.ico-plus-2:before {
content: "\e03e";
}
.ico-enter:before {
content: "\e03f";
}
.ico-exit:before {
content: "\e040";
}
.ico-loop:before {
content: "\e041";
}
.ico-arrow-up:before {
content: "\e042";
}
.ico-arrow-right:before {
content: "\e043";
}
.ico-arrow-down:before {
content: "\e044";
}
.ico-arrow-left:before {
content: "\e045";
}
.ico-arrow-up-left:before {
content: "\e046";
}
.ico-arrow-up-2:before {
content: "\e047";
}
.ico-arrow-up-right:before {
content: "\e048";
}
.ico-arrow-right-2:before {
content: "\e049";
}
.ico-arrow-down-right:before {
content: "\e04a";
}
.ico-arrow-down-2:before {
content: "\e04b";
}
.ico-arrow-down-left:before {
content: "\e04c";
}
.ico-arrow-left-2:before {
content: "\e04d";
}
.ico-arrow-up-left-2:before {
content: "\e04e";
}
.ico-arrow-up-3:before {
content: "\e04f";
}
.ico-arrow-up-right-2:before {
content: "\e050";
}
.ico-arrow-right-3:before {
content: "\e051";
}
.ico-arrow-down-right-2:before {
content: "\e052";
}
.ico-arrow-down-3:before {
content: "\e053";
}
.ico-arrow-down-left-2:before {
content: "\e054";
}
.ico-arrow-left-3:before {
content: "\e055";
}
.ico-arrow-up-left-3:before {
content: "\e056";
}
.ico-arrow-up-4:before {
content: "\e057";
}
.ico-arrow-up-right-3:before {
content: "\e058";
}
.ico-arrow-right-4:before {
content: "\e059";
}
.ico-arrow-down-right-3:before {
content: "\e05a";
}
.ico-arrow-down-4:before {
content: "\e05b";
}
.ico-arrow-down-left-3:before {
content: "\e05c";
}
.ico-arrow-left-4:before {
content: "\e05d";
}
.ico-arrow-up-5:before {
content: "\e05e";
}
.ico-arrow-right-5:before {
content: "\e05f";
}
.ico-arrow-down-5:before {
content: "\e060";
}
.ico-arrow-left-5:before {
content: "\e061";
}
.ico-arrow-up-6:before {
content: "\e062";
}
.ico-arrow-right-6:before {
content: "\e063";
}
.ico-arrow-down-6:before {
content: "\e064";
}
.ico-arrow-left-6:before {
content: "\e065";
}
.ico-arrow-up-7:before {
content: "\e066";
}
.ico-arrow-right-7:before {
content: "\e067";
}
.ico-arrow-down-7:before {
content: "\e068";
}
.ico-arrow-left-7:before {
content: "\e069";
}
.ico-menu-3:before {
content: "\e06a";
}
.ico-enter-2:before {
content: "\e06b";
}
.ico-backspace:before {
content: "\e06c";
}
.ico-backspace-2:before {
content: "\e06d";
}
.ico-tab:before {
content: "\e06e";
}
.ico-tab-2:before {
content: "\e06f";
}
.ico-checkbox:before {
content: "\e070";
}
.ico-checkbox-unchecked:before {
content: "\e071";
}
.ico-checkbox-partial:before {
content: "\e072";
}
.ico-radio-checked:before {
content: "\e073";
}
.ico-radio-unchecked:before {
content: "\e074";
}
.ico-font:before {
content: "\e075";
}
.ico-paragraph-left:before {
content: "\e076";
}
.ico-paragraph-center:before {
content: "\e077";
}
.ico-paragraph-right:before {
content: "\e078";
}
.ico-left-to-right:before {
content: "\e079";
}
.ico-right-to-left:before {
content: "\e07a";
}
.ico-out:before {
content: "\e07b";
}
.ico-out-2:before {
content: "\e07c";
}
.ico-embed:before {
content: "\e07d";
}
.ico-seven-segment-0:before {
content: "\e07e";
}
.ico-seven-segment-1:before {
content: "\e07f";
}
.ico-seven-segment-2:before {
content: "\e080";
}
.ico-seven-segment-3:before {
content: "\e081";
}
.ico-seven-segment-4:before {
content: "\e082";
}
.ico-seven-segment-5:before {
content: "\e083";
}
.ico-seven-segment-6:before {
content: "\e084";
}
.ico-seven-segment-7:before {
content: "\e085";
}
.ico-seven-segment-8:before {
content: "\e086";
}
.ico-seven-segment-9:before {
content: "\e087";
}
.ico-bluetooth:before {
content: "\e088";
}
.ico-share:before {
content: "\e089";
}
.ico-share-2:before {
content: "\e08a";
}
.ico-mail-2:before {
content: "\e08b";
}
.ico-google-plus:before {
content: "\e08c";
}
.ico-google-plus-2:before {
content: "\e08d";
}
.ico-google-plus-3:before {
content: "\e08e";
}
.ico-facebook:before {
content: "\e08f";
}
.ico-facebook-2:before {
content: "\e090";
}
.ico-twitter:before {
content: "\e091";
}
.ico-twitter-2:before {
content: "\e092";
}
.ico-twitter-3:before {
content: "\e093";
}
.ico-twitter-4:before {
content: "\e094";
}
.ico-feed:before {
content: "\e095";
}
.ico-feed-2:before {
content: "\e096";
}
.ico-youtube:before {
content: "\e097";
}
.ico-youtube-2:before {
content: "\e098";
}
.ico-vimeo:before {
content: "\e099";
}
.ico-vimeo-2:before {
content: "\e09a";
}
.ico-flickr:before {
content: "\e09b";
}
.ico-flickr-2:before {
content: "\e09c";
}
.ico-picassa:before {
content: "\e09d";
}
.ico-picassa-2:before {
content: "\e09e";
}
.ico-dribbble:before {
content: "\e09f";
}
.ico-dribbble-2:before {
content: "\e0a0";
}
.ico-forrst:before {
content: "\e0a1";
}
.ico-forrst-2:before {
content: "\e0a2";
}
.ico-deviantart:before {
content: "\e0a3";
}
.ico-deviantart-2:before {
content: "\e0a4";
}
.ico-github:before {
content: "\e0a5";
}
.ico-github-2:before {
content: "\e0a6";
}
.ico-github-3:before {
content: "\e0a7";
}
.ico-github-4:before {
content: "\e0a8";
}
.ico-wordpress:before {
content: "\e0a9";
}
.ico-wordpress-2:before {
content: "\e0aa";
}
.ico-blogger:before {
content: "\e0ab";
}
.ico-blogger-2:before {
content: "\e0ac";
}
.ico-tumblr:before {
content: "\e0ad";
}
.ico-tumblr-2:before {
content: "\e0ae";
}
.ico-yahoo:before {
content: "\e0af";
}
.ico-yahoo-2:before {
content: "\e0b0";
}
.ico-amazon:before {
content: "\e0b1";
}
.ico-amazon-2:before {
content: "\e0b2";
}
.ico-apple:before {
content: "\e0b3";
}
.ico-android:before {
content: "\e0b4";
}
.ico-windows:before {
content: "\e0b5";
}
.ico-soundcloud:before {
content: "\e0b6";
}
.ico-soundcloud-2:before {
content: "\e0b7";
}
.ico-skype:before {
content: "\e0b8";
}
.ico-reddit:before {
content: "\e0b9";
}
.ico-linkedin:before {
content: "\e0ba";
}
.ico-lastfm:before {
content: "\e0bb";
}
.ico-lastfm-2:before {
content: "\e0bc";
}
.ico-delicious:before {
content: "\e0bd";
}
.ico-stumbleupon:before {
content: "\e0be";
}
.ico-stumbleupon-2:before {
content: "\e0bf";
}
.ico-pinterest:before {
content: "\e0c0";
}
.ico-pinterest-2:before {
content: "\e0c1";
}
.ico-xing:before {
content: "\e0c2";
}
.ico-libreoffice:before {
content: "\e0c3";
}
.ico-file-pdf:before {
content: "\e0c4";
}
.ico-file-openoffice:before {
content: "\e0c5";
}
.ico-file-word:before {
content: "\e0c6";
}
.ico-file-excel:before {
content: "\e0c7";
}
.ico-file-powerpoint:before {
content: "\e0c8";
}
.ico-file-xml:before {
content: "\e0c9";
}
.ico-file-css:before {
content: "\e0ca";
}
.ico-html5:before {
content: "\e0cb";
}
.ico-html5-2:before {
content: "\e0cc";
}
.ico-css3:before {
content: "\e0cd";
}
.ico-IcoMoon:before {
content: "\e0ce";
}
.ico-popup:before {
content: "\e0cf";
}
.ico-book-2:before {
content: "\e0d0";
}
.ico-bookmark-3:before {
content: "\e0d1";
}
.ico-home-4:before {
content: "\e0d2";
}
.ico-keyboard:before {
content: "\e0d3";
}
.ico-feather:before {
content: "\e0d4";
}
.ico-network:before {
content: "\e0d5";
}
.ico-inbox:before {
content: "\e0d6";
}
.ico-square:before {
content: "\e0d7";
}
.ico-globe:before {
content: "\e0d8";
}
.ico-broadcast-2:before {
content: "\e0d9";
}
.ico-arrow:before {
content: "\e0da";
}
.ico-screen-2:before {
content: "\e0db";
}
.ico-publish:before {
content: "\e0dc";
}
.ico-browser:before {
content: "\e0dd";
}
.ico-light-bulb:before {
content: "\e0de";
}
.ico-sun:before {
content: "\e0df";
}
.ico-sun-2:before {
content: "\e0e0";
}
.ico-back:before {
content: "\e0e1";
}
.ico-history-2:before {
content: "\e0e2";
}
.ico-battery:before {
content: "\e0e3";
}
.ico-battery-2:before {
content: "\e0e4";
}
.ico-battery-3:before {
content: "\e0e5";
}
.ico-battery-4:before {
content: "\e0e6";
}
.ico-battery-5:before {
content: "\e0e7";
}
.ico-code:before {
content: "\e0e8";
}
.ico-triangle:before {
content: "\e0e9";
}
.ico-triangle-2:before {
content: "\e0ea";
}
.ico-triangle-3:before {
content: "\e0eb";
}
.ico-triangle-4:before {
content: "\e0ec";
}
.ico-arrow-2:before {
content: "\e0ed";
}
.ico-arrow-3:before {
content: "\e0ee";
}
.ico-arrow-4:before {
content: "\e0ef";
}
.ico-arrow-5:before {
content: "\e0f0";
}
.ico-arrow-6:before {
content: "\e0f1";
}
.ico-arrow-7:before {
content: "\e0f2";
}
.ico-arrow-8:before {
content: "\e0f3";
}
.ico-arrow-9:before {
content: "\e0f4";
}
.ico-arrow-10:before {
content: "\e0f5";
}
.ico-arrow-11:before {
content: "\e0f6";
}
.ico-arrow-12:before {
content: "\e0f7";
}
.ico-arrow-13:before {
content: "\e0f8";
}
.ico-arrow-14:before {
content: "\e0f9";
}
.ico-arrow-15:before {
content: "\e0fa";
}
.ico-arrow-16:before {
content: "\e0fb";
}
.ico-arrow-17:before {
content: "\e0fc";
}
.ico-arrow-18:before {
content: "\e0fd";
}
.ico-arrow-19:before {
content: "\e0fe";
}
.ico-arrow-20:before {
content: "\e0ff";
}
.ico-arrow-21:before {
content: "\e100";
}
.ico-mute:before {
content: "\e101";
}
.ico-sound:before {
content: "\e102";
}
.ico-volume:before {
content: "\e103";
}
.ico-collapse:before {
content: "\e104";
}
.ico-full-screen:before {
content: "\e105";
}
.ico-last:before {
content: "\e106";
}
.ico-first:before {
content: "\e107";
}
.ico-fast-backward:before {
content: "\e108";
}
.ico-fast-forward:before {
content: "\e109";
}
.ico-stop:before {
content: "\e10a";
}
.ico-record:before {
content: "\e10b";
}
.ico-pause:before {
content: "\e10c";
}
.ico-play-2:before {
content: "\e10d";
}
.ico-upload-3:before {
content: "\e10e";
}
.ico-cloud-3:before {
content: "\e10f";
}
.ico-install:before {
content: "\e110";
}
.ico-download-2:before {
content: "\e111";
}
.ico-upload-4:before {
content: "\e112";
}
.ico-trashcan:before {
content: "\e113";
}
.ico-archive:before {
content: "\e114";
}
.ico-folder-3:before {
content: "\e115";
}
.ico-song:before {
content: "\e116";
}
.ico-movie:before {
content: "\e117";
}
.ico-images:before {
content: "\e118";
}
.ico-landscape:before {
content: "\e119";
}
.ico-documents:before {
content: "\e11a";
}
.ico-document:before {
content: "\e11b";
}
.ico-document-2:before {
content: "\e11c";
}
.ico-grid:before {
content: "\e11d";
}
.ico-add:before {
content: "\e11e";
}
.ico-list:before {
content: "\e11f";
}
.ico-retweet:before {
content: "\e120";
}
.ico-arrow-22:before {
content: "\e121";
}
.ico-back-2:before {
content: "\e122";
}
.ico-shuffle:before {
content: "\e123";
}
.ico-reload-CCW:before {
content: "\e124";
}
.ico-reload-CW:before {
content: "\e125";
}
.ico-warning:before {
content: "\e126";
}
.ico-help-3:before {
content: "\e127";
}
.ico-help-4:before {
content: "\e128";
}
.ico-info-circle:before {
content: "\e129";
}
.ico-info-2:before {
content: "\e12a";
}
.ico-blocked-2:before {
content: "\e12b";
}
.ico-plus-3:before {
content: "\e12c";
}
.ico-minus-3:before {
content: "\e12d";
}
.ico-close:before {
content: "\e12e";
}
.ico-plus-4:before {
content: "\e12f";
}
.ico-minus-4:before {
content: "\e130";
}
.ico-cancel-4:before {
content: "\e131";
}
.ico-checkmark-2:before {
content: "\e132";
}
.ico-unlocked-2:before {
content: "\e133";
}
.ico-locked-2:before {
content: "\e134";
}
.ico-rss:before {
content: "\e135";
}
.ico-time:before {
content: "\e136";
}
.ico-flash:before {
content: "\e137";
}
.ico-calendar-2:before {
content: "\e138";
}
.ico-microphone-2:before {
content: "\e139";
}
.ico-clock-2:before {
content: "\e13a";
}
.ico-eye-3:before {
content: "\e13b";
}
.ico-google-circles:before {
content: "\e13c";
}
.ico-support-2:before {
content: "\e13d";
}
.ico-flight:before {
content: "\e13e";
}
.ico-shopping:before {
content: "\e13f";
}
.ico-music-2:before {
content: "\e140";
}
.ico-leaf:before {
content: "\e141";
}
.ico-palette:before {
content: "\e142";
}
.ico-sleep:before {
content: "\e143";
}
.ico-camera-3:before {
content: "\e144";
}
.ico-price:before {
content: "\e145";
}
.ico-trophy-2:before {
content: "\e146";
}
.ico-search-3:before {
content: "\e147";
}
.ico-settings:before {
content: "\e148";
}
.ico-flag-4:before {
content: "\e149";
}
.ico-link-3:before {
content: "\e14a";
}
.ico-alert:before {
content: "\e14b";
}
.ico-printer:before {
content: "\e14c";
}
.ico-quote:before {
content: "\e14d";
}
.ico-comment:before {
content: "\e14e";
}
.ico-chat:before {
content: "\e14f";
}
.ico-thumbs-up-2:before {
content: "\e150";
}
.ico-star-4:before {
content: "\e151";
}
.ico-star-5:before {
content: "\e152";
}
.ico-heart-3:before {
content: "\e153";
}
.ico-heart-4:before {
content: "\e154";
}
.ico-share-3:before {
content: "\e155";
}
.ico-center:before {
content: "\e156";
}
.ico-direction:before {
content: "\e157";
}
.ico-compass-2:before {
content: "\e158";
}
.ico-map:before {
content: "\e159";
}
.ico-location-2:before {
content: "\e15a";
}
.ico-export:before {
content: "\e15b";
}
.ico-card:before {
content: "\e15c";
}
.ico-contact:before {
content: "\e15d";
}
.ico-users:before {
content: "\e15e";
}
.ico-user-4:before {
content: "\e15f";
}
.ico-forward-2:before {
content: "\e160";
}
.ico-reply-to-all:before {
content: "\e161";
}
.ico-reply-3:before {
content: "\e162";
}
.ico-attachment:before {
content: "\e163";
}
.ico-write:before {
content: "\e164";
}
.ico-email:before {
content: "\e165";
}
.ico-address:before {
content: "\e166";
}
.ico-mouse-2:before {
content: "\e167";
}
.ico-mobile-3:before {
content: "\e168";
}
.ico-phone-2:before {
content: "\e169";
}
.ico-paperclip:before {
content: "\e16a";
}
.ico-fork:before {
content: "\e16b";
}
.ico-cloud-upload:before {
content: "\e16c";
}
.ico-cloud-download:before {
content: "\e16d";
}
.ico-upload-5:before {
content: "\e16e";
}
.ico-download-3:before {
content: "\e16f";
}
.ico-target-3:before {
content: "\e170";
}
.ico-map-pin-alt:before {
content: "\e171";
}
.ico-map-pin-fill:before {
content: "\e172";
}
.ico-map-pin-stroke:before {
content: "\e173";
}
.ico-star-6:before {
content: "\e174";
}
.ico-umbrella:before {
content: "\e175";
}
.ico-rain:before {
content: "\e176";
}
.ico-cloud-4:before {
content: "\e177";
}
.ico-moon-fill:before {
content: "\e178";
}
.ico-moon-stroke:before {
content: "\e179";
}
.ico-sun-fill:before {
content: "\e17a";
}
.ico-sun-stroke:before {
content: "\e17b";
}
.ico-tag-fill:before {
content: "\e17c";
}
.ico-tag-stroke:before {
content: "\e17d";
}
.ico-unlock-fill:before {
content: "\e17e";
}
.ico-unlock-stroke:before {
content: "\e17f";
}
.ico-lock-fill:before {
content: "\e180";
}
.ico-lock-stroke:before {
content: "\e181";
}
.ico-clock-3:before {
content: "\e182";
}
.ico-home-5:before {
content: "\e183";
}
.ico-user-5:before {
content: "\e184";
}
.ico-eye-4:before {
content: "\e185";
}
.ico-bars-alt:before {
content: "\e186";
}
.ico-bars-2:before {
content: "\e187";
}
.ico-chart-alt:before {
content: "\e188";
}
.ico-chart:before {
content: "\e189";
}
.ico-aperture-alt:before {
content: "\e18a";
}
.ico-aperture:before {
content: "\e18b";
}
.ico-camera-4:before {
content: "\e18c";
}
.ico-image:before {
content: "\e18d";
}
.ico-layers:before {
content: "\e18e";
}
.ico-layers-alt:before {
content: "\e18f";
}
.ico-eyedropper:before {
content: "\e190";
}
.ico-brush-alt:before {
content: "\e191";
}
.ico-brush:before {
content: "\e192";
}
.ico-pen-alt2:before {
content: "\e193";
}
.ico-pen-alt-fill:before {
content: "\e194";
}
.ico-pen-alt-stroke:before {
content: "\e195";
}
.ico-pen:before {
content: "\e196";
}
.ico-book-alt2:before {
content: "\e197";
}
.ico-book-alt:before {
content: "\e198";
}
.ico-book-3:before {
content: "\e199";
}
.ico-list-nested:before {
content: "\e19a";
}
.ico-list-2:before {
content: "\e19b";
}
.ico-read-more:before {
content: "\e19c";
}
.ico-article:before {
content: "\e19d";
}
.ico-right-quote-alt:before {
content: "\e19e";
}
.ico-left-quote-alt:before {
content: "\e19f";
}
.ico-right-quote:before {
content: "\e1a0";
}
.ico-left-quote:before {
content: "\e1a1";
}
.ico-hash:before {
content: "\e1a2";
}
.ico-pilcrow:before {
content: "\e1a3";
}
.ico-question-mark:before {
content: "\e1a4";
}
.ico-info-3:before {
content: "\e1a5";
}
.ico-ampersand:before {
content: "\e1a6";
}
.ico-at:before {
content: "\e1a7";
}
.ico-folder-fill:before {
content: "\e1a8";
}
.ico-folder-stroke:before {
content: "\e1a9";
}
.ico-box:before {
content: "\e1aa";
}
.ico-compass-3:before {
content: "\e1ab";
}
.ico-battery-charging:before {
content: "\e1ac";
}
.ico-battery-full:before {
content: "\e1ad";
}
.ico-battery-half:before {
content: "\e1ae";
}
.ico-battery-empty:before {
content: "\e1af";
}
.ico-iphone:before {
content: "\e1b0";
}
.ico-fullscreen-alt:before {
content: "\e1b1";
}
.ico-fullscreen:before {
content: "\e1b2";
}
.ico-fullscreen-exit-alt:before {
content: "\e1b3";
}
.ico-fullscreen-exit:before {
content: "\e1b4";
}
.ico-play-alt:before {
content: "\e1b5";
}
.ico-last-2:before {
content: "\e1b6";
}
.ico-first-2:before {
content: "\e1b7";
}
.ico-eject:before {
content: "\e1b8";
}
.ico-stop-2:before {
content: "\e1b9";
}
.ico-pause-2:before {
content: "\e1ba";
}
.ico-play-3:before {
content: "\e1bb";
}
.ico-volume-mute:before {
content: "\e1bc";
}
.ico-volume-2:before {
content: "\e1bd";
}
.ico-headphones:before {
content: "\e1be";
}
.ico-microphone-3:before {
content: "\e1bf";
}
.ico-steering-wheel:before {
content: "\e1c0";
}
.ico-cd:before {
content: "\e1c1";
}
.ico-arrow-down-alt2:before {
content: "\e1c2";
}
.ico-arrow-down-alt1:before {
content: "\e1c3";
}
.ico-arrow-down-8:before {
content: "\e1c4";
}
.ico-arrow-up-alt2:before {
content: "\e1c5";
}
.ico-arrow-up-alt1:before {
content: "\e1c6";
}
.ico-arrow-up-8:before {
content: "\e1c7";
}
.ico-arrow-right-alt2:before {
content: "\e1c8";
}
.ico-arrow-right-alt1:before {
content: "\e1c9";
}
.ico-arrow-right-8:before {
content: "\e1ca";
}
.ico-arrow-left-alt2:before {
content: "\e1cb";
}
.ico-arrow-left-alt1:before {
content: "\e1cc";
}
.ico-arrow-left-8:before {
content: "\e1cd";
}
.ico-move-horizontal-alt2:before {
content: "\e1ce";
}
.ico-move-horizontal-alt1:before {
content: "\e1cf";
}
.ico-move-horizontal:before {
content: "\e1d0";
}
.ico-move-vertical-alt2:before {
content: "\e1d1";
}
.ico-move-vertical-alt1:before {
content: "\e1d2";
}
.ico-move-vertical:before {
content: "\e1d3";
}
.ico-transfer:before {
content: "\e1d4";
}
.ico-loop-alt4:before {
content: "\e1d5";
}
.ico-loop-alt3:before {
content: "\e1d6";
}
.ico-loop-alt2:before {
content: "\e1d7";
}
.ico-loop-alt1:before {
content: "\e1d8";
}
.ico-loop-2:before {
content: "\e1d9";
}
.ico-reload-alt:before {
content: "\e1da";
}
.ico-reload:before {
content: "\e1db";
}
.ico-undo-2:before {
content: "\e1dc";
}
.ico-curved-arrow:before {
content: "\e1dd";
}
.ico-spin:before {
content: "\e1de";
}
.ico-spin-alt:before {
content: "\e1df";
}
.ico-lightbulb:before {
content: "\e1e0";
}
.ico-new-window:before {
content: "\e1e1";
}
.ico-key-fill:before {
content: "\e1e2";
}
.ico-key-stroke:before {
content: "\e1e3";
}
.ico-beaker:before {
content: "\e1e4";
}
.ico-beaker-alt:before {
content: "\e1e5";
}
.ico-trash-fill:before {
content: "\e1e6";
}
.ico-trash-stroke:before {
content: "\e1e7";
}
.ico-magnifying-glass:before {
content: "\e1e8";
}
.ico-award-stroke:before {
content: "\e1e9";
}
.ico-award-fill:before {
content: "\e1ea";
}
.ico-equalizer-2:before {
content: "\e1eb";
}
.ico-move-alt2:before {
content: "\e1ec";
}
.ico-move-alt1:before {
content: "\e1ed";
}
.ico-move:before {
content: "\e1ee";
}
.ico-bolt:before {
content: "\e1ef";
}
.ico-link-4:before {
content: "\e1f0";
}
.ico-pin:before {
content: "\e1f1";
}
.ico-minus-alt:before {
content: "\e1f2";
}
.ico-minus-5:before {
content: "\e1f3";
}
.ico-plus-alt:before {
content: "\e1f4";
}
.ico-plus-5:before {
content: "\e1f5";
}
.ico-document-fill:before {
content: "\e1f6";
}
.ico-document-stroke:before {
content: "\e1f7";
}
.ico-document-alt-fill:before {
content: "\e1f8";
}
.ico-document-alt-stroke:before {
content: "\e1f9";
}
.ico-movie-2:before {
content: "\e1fa";
}
.ico-heart-fill:before {
content: "\e1fb";
}
.ico-heart-stroke:before {
content: "\e1fc";
}
.ico-mail-3:before {
content: "\e1fd";
}
.ico-share-4:before {
content: "\e1fe";
}
.ico-calendar-alt-fill:before {
content: "\e1ff";
}
.ico-calendar-alt-stroke:before {
content: "\e200";
}
.ico-calendar-3:before {
content: "\e201";
}
.ico-cog-2:before {
content: "\e202";
}
.ico-dial:before {
content: "\e203";
}
.ico-wrench-2:before {
content: "\e204";
}
.ico-rss-alt:before {
content: "\e205";
}
.ico-rss-2:before {
content: "\e206";
}
.ico-cursor:before {
content: "\e207";
}
.ico-denied:before {
content: "\e208";
}
.ico-x-altx-alt:before {
content: "\e209";
}
.ico-x:before {
content: "\e20a";
}
.ico-check-alt:before {
content: "\e20b";
}
.ico-checkmark-3:before {
content: "\e20c";
}
.ico-comment-alt2-fill:before {
content: "\e20d";
}
.ico-comment-alt2-stroke:before {
content: "\e20e";
}
.ico-comment-fill:before {
content: "\e20f";
}
.ico-comment-stroke:before {
content: "\e210";
}
.ico-comment-alt1-fill:before {
content: "\e211";
}
.ico-comment-alt1-stroke:before {
content: "\e212";
}
.ico-chat-alt-fill:before {
content: "\e213";
}
.ico-chat-alt-stroke:before {
content: "\e214";
}
.ico-chat-2:before {
content: "\e215";
}
.ico-Fahrenheit:before {
content: "\e216";
}
.ico-Celsius:before {
content: "\e217";
}
.ico-none:before {
content: "\e218";
}
.ico-compass-4:before {
content: "\e219";
}
.ico-thermometer:before {
content: "\e21a";
}
.ico-lightning-2:before {
content: "\e21b";
}
.ico-cloudy:before {
content: "\e21c";
}
.ico-weather:before {
content: "\e21d";
}
.ico-snowy:before {
content: "\e21e";
}
.ico-snowy-2:before {
content: "\e21f";
}
.ico-windy:before {
content: "\e220";
}
.ico-windy-2:before {
content: "\e221";
}
.ico-rainy:before {
content: "\e222";
}
.ico-rainy-2:before {
content: "\e223";
}
.ico-lightning-3:before {
content: "\e224";
}
.ico-cloud-5:before {
content: "\e225";
}
.ico-cloud-6:before {
content: "\e226";
}
.ico-cloudy-2:before {
content: "\e227";
}
.ico-moon:before {
content: "\e228";
}
.ico-sun-3:before {
content: "\e229";
}
.ico-lightning-4:before {
content: "\e22a";
}
.ico-cloud-7:before {
content: "\e22b";
}
.ico-cloudy-3:before {
content: "\e22c";
}
.ico-weather-2:before {
content: "\e22d";
}
.ico-snowy-3:before {
content: "\e22e";
}
.ico-snowy-4:before {
content: "\e22f";
}
.ico-snowy-5:before {
content: "\e230";
}
.ico-windy-3:before {
content: "\e231";
}
.ico-windy-4:before {
content: "\e232";
}
.ico-rainy-3:before {
content: "\e233";
}
.ico-rainy-4:before {
content: "\e234";
}
.ico-lightning-5:before {
content: "\e235";
}
.ico-lightning-6:before {
content: "\e236";
}
.ico-cloud-8:before {
content: "\e237";
}
.ico-lines:before {
content: "\e238";
}
.ico-weather-3:before {
content: "\e239";
}
.ico-weather-4:before {
content: "\e23a";
}
.ico-weather-5:before {
content: "\e23b";
}
.ico-cloud-9:before {
content: "\e23c";
}
.ico-cloudy-4:before {
content: "\e23d";
}
.ico-snowflake:before {
content: "\e23e";
}
.ico-wind:before {
content: "\e23f";
}
.ico-windy-5:before {
content: "\e240";
}
.ico-sun-4:before {
content: "\e241";
}
.ico-moon-2:before {
content: "\e242";
}
.ico-sun-5:before {
content: "\e243";
}
.ico-sunrise:before {
content: "\e244";
}
This source diff could not be displayed because it is too large. You can view the blob instead.
/*
* Copyright (c) 2009, 2010, 2011, 2012, B3log Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* skin ease style
*
* @author <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.0.1, Jul 26, 2013
*/
/* start base */
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
body {
font-family: Verdana, arial, '\5fae\8f6f\96c5\9ed1';
font-size: 12px;
background-color: #292929;
margin: 0;
}
a {
outline: 0;
text-decoration: none;
color: #BDBEBD;
}
a:hover {
color: #FFF;
text-decoration: underline;
}
a:focus {
color: #9E0B0E;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
max-width: 100%;
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}
button,
input,
select,
textarea {
margin: 0;
font-size: 100%;
vertical-align: middle;
font-family: '\5fae\8f6f\96c5\9ed1';
outline: none;
}
button,
input {
line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
padding: 0;
border: 0;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer;
-webkit-appearance: button;
}
input[type="search"] {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
}
textarea {
overflow: auto;
vertical-align: top;
}
::selection {
background-color: #D5D5D5;
color: #FCFCFC;
}
::-moz-selection {
background-color: #D5D5D5;
color: #FCFCFC;
}
.fn-clear:before,
.fn-clear:after {
display: table;
content: "";
}
.fn-clear:after {
clear: both;
}
.fn-left {
float: left;
}
.fn-right {
float: right;
}
.fn-none {
display: none;
}
.fn-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-wrap: normal;
}
/* end base */
/* start frame */
.wrapper {
height: auto;
margin: 35px auto 10px;
width: 1240px;
}
.footer {
background-color: #000;
color: #FFF;
padding: 30px;
}
.main {
float: left;
width: 960px;
}
/* end frame */
/* start header */
.header {
position: relative;
}
.title {
color: #CA1B1E;
}
.title:hover {
text-decoration: none;
}
.title > span:before {
color: inherit;
}
.top-info {
font-size: 38px;
height: 46px;
line-height: 46px;
}
.top-info > hr {
background-color: #7B7B7B;
border: 0 none;
display: inline-block;
height: 42px;
margin: 2px 10px;
padding: 0;
vertical-align: top;
width: 1px;
}
.top-info a:hover {
text-decoration: none;
}
#showTop {
display: none;
}
.articles-header {
background-color: #E61E1E;
color: #FFF;
padding: 30px;
margin: 30px 0;
}
.articles-header > h2 {
float: left;
margin: 0;
}
.pagination {
float: right;
margin-top: 5px;
}
.pagination > a,
.pagination > span {
background-color: #EA4040;
color: #FFF;
padding: 6px 7px;
text-align: center;
text-decoration: none;
font-weight: bold;
}
.pagination > a:hover,
.pagination > span {
color: #E61E1E;
background-color: #FFF;
}
.navigation {
background-color: #FFFFFF;
border: 2px solid #BABABA;
left: 0;
list-style: none outside none;
margin: 0;
min-width: 226px;
padding: 0;
position: absolute;
top: 100%;
z-index: 1;
}
/* end header */
/* start article list */
.main .pagination {
float: none;
padding-bottom: 30px;
padding-top: 30px;
text-align: end;
}
.article-list > div {
float: left;
margin: 5px 10px 5px 0;
width: 290px;
background-color: #3E3E3E;
padding: 10px;
}
/* end article list*/
/* start side */
.side {
float: right;
width: 240px;
}
#search {
background-color: #FFF;
border: 0 none;
color: #3A3A3A;
height: 50px;
margin-top: 5px;
padding: 0 10px;
width: 177px;
transition: all 0.3s ease-out 0s;
}
.side form > span {
background-color: #FFF;
color: #3A3A3A;
float: right;
font-size: 25px;
height: 32px;
margin-top: 5px;
padding: 9px;
}
.side-tile {
color: #FFF;
float: left;
margin-top: 20px;
padding: 15px 25px 10px 25px;
position: relative;
background-color: #F09609;
height: 90px;
width: 65px;
transition: all 0.3s ease-out 0s;
}
.side-tile:hover,
.side form input:focus {
text-decoration: none;
outline: 3px solid #BABABA;
}
.side-tile > span {
display: block;
font-size: 60px;
text-align: center;
width: 60px;;
}
.side-tile > div.title {
color: #FFF;
}
.side-tile > div.text {
font-size: 15px;
font-weight: bold;
left: 93px;
line-height: 30px;
position: absolute;
top: 20px;
}
.side-tile > div.text a {
color: #FFF;
}
.online-count,
.user,
.clear,
.notice-board {
width: 188px;
}
.translate,
.register,
.logout {
margin-left: 10px;
}
.translate {
background-color: #2E8BCC;
}
.login,
.settings {
background-color: #008641;
}
.logout,
.register {
background-color: #7B4F9D;
}
.clear {
background-color: #E61E1E;
}
.user {
background-color: #393;
}
.online-count {
background-color: #20608E;
}
.notice-board {
background-color: #2E8BCC;
overflow: hidden;
height: auto;
}
.user div.text,
.notice-board div.text {
text-align: center;
top: 35px;
width: 120px;
}
.online-count div.text {
font-size: 13px;
font-weight: normal;
left: 100px;
line-height: 22px;
text-align: left;
top: 15px;
}
/* end side */
/* start others */
#goTop {
bottom: 0;
font-size: 25px;
position: fixed;
right: 0;
}
/* end others */
\ No newline at end of file
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${blogTitle}">
<meta name="keywords" content="${metaKeywords},${dynamicLabel}"/>
<meta name="description" content="${metaDescription},${dynamicLabel}"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper dynamic">
<div class="other-main">
<#if 0 != recentComments?size>
<div class="module side-comments">
<h3 class="ft-gray">${recentCommentsLabel}</h3>
<ul>
<#list recentComments as comment>
<li>
<img class='comment-header'
alt='${comment.commentName}'
src='${comment.commentThumbnailURL}'/>
<div class='comment-panel'>
<span class="left">
<#if "http://" == comment.commentURL>
${comment.commentName}
<#else>
<a target="_blank" href="${comment.commentURL}">${comment.commentName}</a>
</#if>
</span>
<div class="right ft-gray">
${comment.commentDate?string("yyyy-MM-dd HH:mm:ss")}
<a rel="nofollow" href="${servePath}${comment.commentSharpURL}">${viewLabel}</a>
</div>
<span class="clear"></span>
<div class="article-body">
${comment.commentContent}
</div>
</div>
<div class='clear'></div>
</li>
</#list>
</ul>
</div>
</#if>
<#if 0 != mostUsedTags?size>
<div class="module side-tags">
<h3 class="ft-gray">${popTagsLabel}</h3>
<ul>
<#list mostUsedTags as tag>
<li>
<a rel="tag" href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}"
title="${tag.tagTitle}(${tag.tagPublishedRefCount})">
<span>${tag.tagTitle}</span>
</a>
</li>
</#list>
</ul>
<div class="clear"></div>
</div>
</#if>
<div class="clear"></div>
<#if 0 != mostCommentArticles?size>
<div class="module side-most-comment">
<h3 class="ft-gray">${mostCommentArticlesLabel}</h3>
<ul>
<#list mostCommentArticles as article>
<li>
<a rel="nofollow" class="left" title="${article.articleTitle}"
href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<a rel="nofollow" class="ft-gray right" href="${servePath}${article.articlePermalink}#comments">
${article.articleCommentCount}&nbsp;&nbsp;${commentLabel}
</a>
<span class="clear"></span>
</li>
</#list>
</ul>
</div>
</#if>
<#if 0 != mostViewCountArticles?size>
<div class="module side-most-view">
<h3 class="ft-gray">${mostViewCountArticlesLabel}</h3>
<ul>
<#list mostViewCountArticles as article>
<li>
<a rel="nofollow" class="left" title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
${article.articleTitle}
</a>
<a rel="nofollow" class="ft-gray right" href="${servePath}${article.articlePermalink}">
${article.articleViewCount}&nbsp;&nbsp;${viewLabel}
</a>
<span class="clear"></span>
</li>
</#list>
</ul>
</div>
</#if>
<div class="clear"></div>
</div>
</div>
</div>
<#include "footer.ftl">
</body>
</html>
<script type="text/javascript">
var latkeConfig = {
"servePath": "${servePath}",
"staticServePath": "${staticServePath}"
};
var Label = {
"tag1Label": "${tag1Label}",
"viewLabel": "${viewLabel}",
"commentLabel": "${commentLabel}",
"topArticleLabel": "${topArticleLabel}",
"updatedLabel": "${updatedLabel}",
"contentLabel": "${contentLabel}",
"abstractLabel": "${abstractLabel}",
"clearAllCacheLabel": "${clearAllCacheLabel}",
"clearCacheLabel": "${clearCacheLabel}",
"adminLabel": "${adminLabel}",
"logoutLabel": "${logoutLabel}",
"skinDirName": "${skinDirName}",
"loginLabel": "${loginLabel}",
"em00Label": "${em00Label}",
"em01Label": "${em01Label}",
"em02Label": "${em02Label}",
"em03Label": "${em03Label}",
"em04Label": "${em04Label}",
"em05Label": "${em05Label}",
"em06Label": "${em06Label}",
"em07Label": "${em07Label}",
"em08Label": "${em08Label}",
"em09Label": "${em09Label}",
"em10Label": "${em10Label}",
"em11Label": "${em11Label}",
"em12Label": "${em12Label}",
"em13Label": "${em13Label}",
"em14Label": "${em14Label}"
};
</script>
<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>
${plugins}
<div class="fn-clear header">
<h1 class="fn-left">
<a class="title" href="${servePath}">
${blogTitle}
<span data-ico="&#xe0f3;"></span>
</a>
</h1>
<div class="fn-right top-info">
<a title="${loginLabel}" id="login" data-ico="&#xe03f;"></a>
<a href="${servePath}/admin-index.do#main" title="${adminLabel}" id="settings" data-ico="&#x0070;"></a>
<hr>
<a id="logout" title="${logoutLabel}" data-ico="&#xe040;"></a>
<a href="${servePath}/register" title="${registerLabel}" id="register" data-ico="&#xe02b;"></a>
</div>
<ul class="navigation">
<li>
<a rel="nofollow" href="${servePath}/">${indexLabel}</a>
</li>
<#list pageNavigations as page>
<li>
<a href="${page.pagePermalink}" target="${page.pageOpenTarget}">${page.pageTitle}</a>
</li>
</#list>
<li>
<a href="${servePath}/dynamic.html">${dynamicLabel}</a>
</li>
<li>
<a href="${servePath}/tags.html">${allTagsLabel}</a>
</li>
<li>
<a href="${servePath}/archives.html">${archiveLabel}</a>
</li>
<li>
<a href="${servePath}/links.html">${linkLabel}</a>
</li>
<li>
<a rel="alternate" href="${servePath}/blog-articles-feed.do">Atom<img
src="${staticServePath}/images/feed.png" alt="Atom" /></a>
</li>
</ul>
</div>
\ No newline at end of file
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${blogTitle}">
<meta name="keywords" content="${metaKeywords}" />
<meta name="description"
content="<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>" />
</@head>
</head>
<body>
${topBarReplacement}
<div class="wrapper">
<#include "header.ftl" />
<div class="articles-header fn-clear">
<h2>${blogSubtitle}</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 class="fn-clear">
<div class="main">
<#include "article-list.ftl"/>
<#include "copyright.ftl"/>
</div>
<#include "side.ftl" />
</div>
</div>
<#include "footer.ftl"/>
</body>
</html>
/*
* Copyright (c) 2009, 2010, 2011, 2012, B3log Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @fileoverview metro-hot js.
*
* @author <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.0.1, Jun 27, 2013
*/
var MetroHot = {
goTranslate: function() {
window.open("http://translate.google.com/translate?sl=auto&tl=auto&u=" + location.href);
},
init: function() {
// 登录与否的显示设置
var isLogin = $("#admin").data("login");
if (isLogin) {
$(".user .text").html($("#admin > span").text());
$(".login, .register, #login, #register, .logout, .settings").hide();
} else {
$(".login, .register, .user, .clear, .logout, .settings, #logout, #settings").hide();
}
// 侧边栏点击事件
$("#login, .login").attr("href", $("#admin > a").first().attr("href"));
// 当先用户在线数目
var onlineVisitorCnt = $("#top > span").first().text();
$(".online-count .text").append(onlineVisitorCnt.substr(1,onlineVisitorCnt.length));
// logout
var logoutHref = "";
$("#admin a").each(function() {
if ($(this).attr("href").indexOf("/logout?goto=") > -1) {
logoutHref = $(this).attr("href");
}
});
$("#logout, .logout").attr("href", logoutHref);
// 滚动处理
$(window).scroll(function() {
var y = $(window).scrollTop();
if (y > 240) {
if (isLogin) {
$(".side > div").css({
"position": "fixed",
"bottom": "10px",
"width": "240px"
});
} else {
$(".side > div").css({
"position": "fixed",
"top": "0px",
"width": "240px"
});
}
} else {
$(".side > div").css("position", "static");
}
if (y > 120) {
if (isLogin) {
$(".logout, .settings").show();
} else {
$(".login, .register").show();
}
} else {
if (isLogin) {
$(".logout, .settings").hide();
} else {
$(".login, .register").hide();
}
}
});
$(window).scroll();
},
$header: $(".header"),
headerH: 103,
$body: $(".main > .wrapper"),
$nav: $(".nav"),
getCurrentPage: function() {
var $next = $(".article-next");
if ($next.length > 0) {
window.currentPage = $next.data("page");
}
},
setNavCurrent: function() {
$(".nav ul a").each(function() {
var $this = $(this);
if ($this.attr("href") === latkeConfig.servePath + location.pathname) {
$this.addClass("current");
} else if (/\/[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 $archives = $(".archives");
if ($archives.length < 1) {
return;
}
$(".footer").css("marginTop", "30px");
var years = [], $archiveList = $archives.find("span").each(function() {
var year = $(this).data("year"), tag = true;
for (var i = 0; i < years.length; i++) {
if (year === years[i]) {
tag = false;
break;
}
}
if (tag) {
years.push(year);
}
});
var yearsHTML = "";
for (var j = 0; j < years.length; j++) {
var monthsHTML = "";
for (var l = 0; l < $archiveList.length; l++) {
var $month = $($archiveList[l]);
if ($month.data("year") === years[j]) {
monthsHTML += $month.html();
}
}
yearsHTML += "<div><h3 class='ft-gray'>" + years[j] + "</h3>" + monthsHTML + "</div>";
}
$archives.html(yearsHTML);
// position
var $items = $(".archives>div"), line = 0, top = 0, heights = [];
for (var m = 0; m < $items.length; m++) {
for (var n = 0; n < 3; n++) {
if (m >= $items.length) {
break;
}
$items[m].style.left = (n * 310) + "px";
if (line > 0) {
if ($items[m - 3].style.top !== "") {
top = parseInt($items[m - 3].style.top);
}
$items[m].style.top = $($items[m - 3]).height() + 60 + top + "px";
heights[n] = parseInt($items[m].style.top) + $($items[m]).height() + 60;
} else {
heights[n] = $($items[m]).height() + 60;
}
if (n < 2) {
m += 1;
}
}
line += 1;
}
// archive height
$archives.height(heights.sort()[heights.length - 1]);
},
setDynamic: function() {
var $dynamic = $(".dynamic");
if ($(".dynamic").length < 1) {
return;
}
var $comments = $dynamic.find(".side-comments"), $tags = $dynamic.find(".side-tags"), $mostComment = $dynamic.find(".side-most-comment"), $mostView = $dynamic.find(".side-most-view");
if ($comments.height() > $tags.height()) {
$tags.height($comments.height());
} else {
$comments.height($tags.height());
}
if ($mostComment.height() > $mostView.height()) {
$mostView.height($mostComment.height());
} else {
$mostComment.height($mostView.height());
}
// emotions
$(".article-body").each(function() {
this.innerHTML = Util.replaceEmString($(this).html());
});
},
/**
* @description 纠正评论滚动位置偏差
*/
scrollToCmt: function() {
if ($(window.location.hash).length == 1) {
$(window).scrollTop($(window.location.hash).offset().top - 60);
}
}
};
(function() {
MetroHot.init();
})();
#
# Copyright (c) 2009, 2010, 2011, B3log Team
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Description: Language configurations(en_US) for skin "ease".
# Version: 1.0.0.1, Jun 28, 2013
# Author: Liyuan Li
#
registerLabel=Register
clearAllCacheLabel=Clear all cache
clearCachePageLabel=Clear current cache
clearCacheLabel=Clear cache
adminLabel=Admin
logoutLabel=Logout
loginLabel=Login
commentNameLabel=Name
translateLabel=Translate
dynamicLabel=Dynamic
moreLabel=More
contentLabel=More...
abstractLabel=Abstract
viewCount1Label=View Count:
articleCount1Label=Article Count:
commentCount1Label=Comment Count:
allTagsLabel=Tags
archiveLabel=Archive
yearLabel=
monthLabel=
recentArticlesLabel=Recent Articles
recentCommentsLabel=Recent Comments
mostCommentArticlesLabel=Most Comment Articles
mostViewCountArticlesLabel=Most View Articles
popTagsLabel=Popular Tags
linkLabel=Friend Links
indexLabel=Home
sumLabel=
pageLabel=Page
em00Label=Smile
em01Label=Laughter
em02Label=Happy
em03Label=Sad
em04Label=Cry
em05Label=No Comments
em06Label=Fidget
em07Label=Angry
em08Label=Look Around
em09Label=Surprise
em10Label=Cool
em11Label=Cheeky
em12Label=Heart
em13Label=Heart Broken
em14Label=Devil
commentLabel=Comment
viewLabel=View
authorLabel=Author
previousPageLabel=Previous Page
nextPagePabel=Next Page
firstPageLabel=First Page
lastPageLabel=Last Page
archive1Label=Archive:
author1Label=Author:
tag1Label=Tags:
sorryLabel=Sorry!
notFoundLabel=Not Found!
returnTo1Label=Return:
updatedLabel=Updated!
topArticleLabel=Top!
replyLabel=Reply
commentEmailLabel=Email
commentURLLabel=URL
submmitCommentLabel=Commit Comment
nameTooLongLabel=Sorry, your username must be between 2 and 20 characters long!
mailCannotEmptyLabel=Mail is empty!
mailInvalidLabel=Mail is invalid!
commentContentCannotEmptyLabel=Sorry, your content must be between 2 and 500 characters long!
captchaCannotEmptyLabel=Captcha is empty!
loadingLabel=loading....
relevantArticlesLabel=Relevant Articles
randomArticlesLabel=Random Articles
externalRelevantArticlesLabel=External Relevant Articles:
captchaErrorLabel=Captcha Error
b3logLabel=<span style="color: orange;">B</span><span style="color: blue;"><sup>3</sup></span><span style="color: green;">L</span><span style="color: red;">O</span><span style="color: blue;">G</span>
killBrowserLabel=<h2>Let's kill outdated and insecure browser!</h2><p>Let's kill outdated and insecure browser for browser evolution, human progress and better experience.</p><p>You can download</p><ul><li><a href="http://www.mozilla.com/" target="_blank">Firefox</a></li><li><a href="http://www.google.com/chrome" target="_blank">Chrome</a></li><li><a href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie" target="_blank">IE8 / IE9</a></li><li><a href="http://www.maxthon.com/" target="_blank">Maxthon</a> and <a href="http://www.google.com" target="_blank">so on</a>.</li></ul>
\ No newline at end of file
#
# Copyright (c) 2009, 2010, 2011, B3log Team
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Description: Language configurations(zh_CN) for skin "ease".
# Version: 1.0.0.1, Jun 28, 2013
# Author: Liyuan Li
#
registerLabel=注册
clearAllCacheLabel=清除所有页面缓存
clearCachePageLabel=清除本页缓存
clearCacheLabel=清除缓存
adminLabel=管理
logoutLabel=登出
loginLabel=登录
commentNameLabel=姓名
translateLabel=翻译
dynamicLabel=动态
moreLabel=更多
contentLabel=全文
abstractLabel=摘要
viewCount1Label=浏览次数:
articleCount1Label=文章总数:
commentCount1Label=评论总数:
allTagsLabel=标签墙
updatedLabel=有更新!
topArticleLabel=置顶!
archiveLabel=存档
yearLabel=
monthLabel=
recentArticlesLabel=最新文章
recentCommentsLabel=最新评论
mostCommentArticlesLabel=评论最多的文章
mostViewCountArticlesLabel=访问最多的文章
popTagsLabel=分类标签
linkLabel=友情链接
indexLabel=首页
sumLabel=
pageLabel=
em00Label=微笑
em01Label=大笑
em02Label=高兴
em03Label=悲伤
em04Label=哭泣
em05Label=无语
em06Label=烦躁
em07Label=生气
em08Label=我瞅
em09Label=惊讶
em10Label=
em11Label=顽皮
em12Label=爱心
em13Label=心碎
em14Label=魔鬼
commentLabel=评论
viewLabel=浏览
authorLabel=作者
previousPageLabel=上一页
nextPagePabel=下一页
firstPageLabel=第一页
lastPageLabel=最后一页
archive1Label=存档:
author1Label=作者:
tag1Label=标签:
sorryLabel=对不起!
notFoundLabel=找不到!
returnTo1Label=返回:
replyLabel=回复
commentEmailLabel=邮箱
commentURLLabel=URL
submmitCommentLabel=提交评论
nameTooLongLabel=姓名只能为 2 到 20 个字符!
mailCannotEmptyLabel=邮箱不能为空!
mailInvalidLabel=邮箱格式不正确!
commentContentCannotEmptyLabel=评论内容只能为 2 到 500 个字符!
captchaCannotEmptyLabel=验证码不能为空!
loadingLabel=载入中....
relevantArticlesLabel=相关阅读
randomArticlesLabel=随机阅读
externalRelevantArticlesLabel=站外相关阅读
captchaErrorLabel=验证码错误
b3logLabel=<span style="color: orange;">B</span><span style="color: blue;"><sup>3</sup></span><span style="color: green;">L</span><span style="color: red;">O</span><span style="color: blue;">G</span>
killBrowserLabel=<h2>让我们放弃使用那些过时、不安全的浏览器吧!</h2><p>为了让浏览器更好的发展,人类更加的进步,拥有更好的体验,让我们放弃使用那些过时、不安全的浏览器。</p>您可以下载<ul><li><a href="http://www.mozilla.com/" target="_blank">火狐</a></li><li><a href="http://www.google.com/chrome" target="_blank">谷歌浏览器</a></li><li><a href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie" target="_blank">IE8 / IE9</a></li><li><a href="http://www.maxthon.com/" target="_blank">遨游</a>或者<a href="http://www.google.com" target="_blank">其它浏览器</a>.</li></ul>
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${blogTitle}">
<meta name="keywords" content="${metaKeywords},${linkLabel}"/>
<meta name="description" content="${metaDescription},${linkLabel}"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper">
<#if 0 != links?size>
<ul class="other-main links">
<#list links as link>
<li>
<a rel="friend" href="${link.linkAddress}" alt="${link.linkTitle}" target="_blank">
<img alt="${link.linkTitle}"
src="http://www.google.com/s2/u/0/favicons?domain=<#list link.linkAddress?split('/') as x><#if x_index=2>${x}<#break></#if></#list>" /></a>
<a rel="friend" href="${link.linkAddress}" title="${link.linkDescription}" target="_blank">${link.linkTitle}
</a>
</li>
</#list>
</ul>
</#if>
</div>
</div>
<#include "footer.ftl">
</body>
</html>
<#macro comments commentList article>
<div id="comments">
<#list commentList as comment>
<div id="${comment.oId}">
<img class="comment-header" title="${comment.commentName}"
alt="${comment.commentName}" src="${comment.commentThumbnailURL}"/>
<div class="comment-panel">
<div class="left">
<#if "http://" == comment.commentURL>
<a>${comment.commentName}</a>
<#else>
<a href="${comment.commentURL}" target="_blank">${comment.commentName}</a>
</#if>
<#if comment.isReply>@
<a href="${servePath}${article.permalink}#${comment.commentOriginalCommentId}"
onmouseover="page.showComment(this, '${comment.commentOriginalCommentId}', 20);"
onmouseout="page.hideComment('${comment.commentOriginalCommentId}')">${comment.commentOriginalCommentName}</a>
</#if>
</div>
<#if article.commentable>
<div class="right ft-gray">
${comment.commentDate?string("yy-MM-dd HH:mm")}
<a rel="nofollow" href="javascript:replyTo('${comment.oId}');">${replyLabel}</a>
</div>
</#if>
<span class="clear"></span>
<div class="article-body">${comment.commentContent}</div>
</div>
<span class="clear"></span>
</div>
</#list>
</div>
<#if article.commentable>
<div class="form">
<table id="commentForm">
<tbody>
<tr>
<td colspan="2">
<input type="text" class="normalInput" id="commentName"/>
<label for="commentName">${commentNameLabel}</label>
</td>
</tr>
<tr>
<td colspan="2">
<input type="text" class="normalInput" id="commentEmail"/>
<label for="commentEmail">${commentEmailLabel}</label>
</td>
</tr>
<tr>
<td colspan="2">
<input type="text" id="commentURL"/>
<label for="commentURL">${commentURLLabel}</label>
</td>
</tr>
<tr>
<td id="emotions" colspan="2">
<span class="em00" title="${em00Label}"></span>
<span class="em01" title="${em01Label}"></span>
<span class="em02" title="${em02Label}"></span>
<span class="em03" title="${em03Label}"></span>
<span class="em04" title="${em04Label}"></span>
<span class="em05" title="${em05Label}"></span>
<span class="em06" title="${em06Label}"></span>
<span class="em07" title="${em07Label}"></span>
<span class="em08" title="${em08Label}"></span>
<span class="em09" title="${em09Label}"></span>
<span class="em10" title="${em10Label}"></span>
<span class="em11" title="${em11Label}"></span>
<span class="em12" title="${em12Label}"></span>
<span class="em13" title="${em13Label}"></span>
<span class="em14" title="${em14Label}"></span>
</td>
</tr>
<tr>
<td colspan="2">
<textarea rows="10" cols="96" id="comment"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="text" class="normalInput" id="commentValidate"/>
<img id="captcha" alt="validate" src="${servePath}/captcha.do" />
</td>
</tr>
<tr>
<td>
<span class="ft-gray" id="commentErrorTip"></span>
</td>
<td align="right">
<button id="submitCommentButton" onclick="page.submitComment();">${submmitCommentLabel}</button>
</td>
</tr>
</tbody>
</table>
</div>
<#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount>
<div id="externalRelevantArticles" class="article-relative"></div>
</#if>
<span class="clear"></span>
</#if>
</#macro>
<#macro comment_script oId>
<script type="text/javascript" src="${staticServePath}/js/page${miniPostfix}.js?${staticResourceVersion}" charset="utf-8"></script>
<script type="text/javascript">
var page = new Page({
"nameTooLongLabel": "${nameTooLongLabel}",
"mailCannotEmptyLabel": "${mailCannotEmptyLabel}",
"mailInvalidLabel": "${mailInvalidLabel}",
"commentContentCannotEmptyLabel": "${commentContentCannotEmptyLabel}",
"captchaCannotEmptyLabel": "${captchaCannotEmptyLabel}",
"captchaErrorLabel": "${captchaErrorLabel}",
"loadingLabel": "${loadingLabel}",
"oId": "${oId}",
"skinDirName": "${skinDirName}",
"blogHost": "${blogHost}",
"randomArticles1Label": "${randomArticlesLabel}",
"externalRelevantArticles1Label": "${externalRelevantArticlesLabel}"
});
var addComment = function (result, state) {
var commentHTML = '<div id="' + result.oId + '"><img class="comment-header" \
title="' + $("#commentName" + state).val() + '" alt="' + $("#commentName" + state).val() +
'" src="' + result.commentThumbnailURL + '"/><div class="comment-panel"><div class="left">' + result.replyNameHTML;
if (state !== "") {
var commentOriginalCommentName = $("#" + page.currentCommentId + " .comment-panel>.left a").first().text();
commentHTML += '&nbsp;@&nbsp;<a href="${servePath}' + result.commentSharpURL.split("#")[0] + '#' + page.currentCommentId + '"'
+ 'onmouseover="page.showComment(this, \'' + page.currentCommentId + '\', 20);"'
+ 'onmouseout="page.hideComment(\'' + page.currentCommentId + '\')">' + commentOriginalCommentName + '</a>';
}
commentHTML += '</div><div class="right ft-gray">' + result.commentDate.substring(2, 16)
+ '&nbsp;<a rel="nofollow" href="javascript:replyTo(\'' + result.oId
+ '\');">${replyLabel}</a></div><span class="clear"></span><div class="article-body">' +
Util.replaceEmString($("#comment" + state).val().replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g,"<br/>"))
+ '</div></div><span class="clear"></span></div>';
return commentHTML;
}
var replyTo = function (id) {
var commentFormHTML = "<table class='form' id='replyForm'>";
page.addReplyForm(id, commentFormHTML);
$("#replyForm label").each(function () {
$this = $(this);
$this.attr("for", $this.attr("for") + "Reply");
});
};
$(document).ready(function () {
page.load();
ease.scrollToCmt();
// emotions
page.replaceCommentsEm("#comments .article-body");
<#nested>
});
</script>
</#macro>
\ No newline at end of file
<#macro head title>
<meta charset="utf-8" />
<title>${title}</title>
<#nested>
<meta name="author" content="${blogTitle?html}" />
<meta name="generator" content="B3log Solo" />
<meta name="copyright" content="B3log" />
<meta name="owner" content="B3log Team" />
<meta name="revised" content="${blogTitle?html}, ${year}" />
<meta http-equiv="Window-target" content="_top" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/${skinDirName}${miniPostfix}.css?${staticResourceVersion}" charset="utf-8" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/font${miniPostfix}.css?${staticResourceVersion}" charset="utf-8" />
<link href="${servePath}/blog-articles-feed.do" title="ATOM" type="application/atom+xml" rel="alternate" />
<link rel="icon" type="image/png" href="${staticServePath}/favicon.png" />
${htmlHead}
</#macro>
\ No newline at end of file
<#include "macro-head.ftl">
<#include "macro-comments.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${page.pageTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${page.pageTitle}" />
<meta name="description" content="${metaDescription}" />
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper">
<div class="article-body article">
${page.pageContent}
</div>
<@comments commentList=pageComments article=page></@comments>
</div>
</div>
<#include "footer.ftl">
<@comment_script oId=page.oId></@comment_script>
</body>
</html>
<div class="side">
<div>
<form class="right" target="_blank" method="get" action="http://www.google.com/search">
<input placeholder="Search" id="search" type="text" name="q" /><span data-ico="&#x0067;"></span>
<input type="submit" name="btnG" value="" class="fn-none" />
<input type="hidden" name="oe" value="UTF-8" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="hidden" name="newwindow" value="0" />
<input type="hidden" name="sitesearch" value="${blogHost}" />
</form>
<#if "" != noticeBoard>
<div class="notice-board side-tile">
<span data-ico="&#xe0d9;"></span>
<div class="title">
${noticeBoard}
</div>
<div class="text">
{noticeBoard}
</div>
</div>
</#if>
<div class="online-count side-tile">
<span data-ico="&#xe129;"></span>
<div class="title">{Info}</div>
<div class="text">
${viewCount1Label}
${statistic.statisticBlogViewCount}<br/>
${articleCount1Label}
${statistic.statisticPublishedBlogArticleCount}<br/>
${commentCount1Label}
${statistic.statisticPublishedBlogCommentCount}<br/>
</div>
</div>
<a rel="alternate" href="${servePath}/blog-articles-feed.do" class="atom side-tile">
<span data-ico="&#xe135;"></span>
<div class="title">
Atom
</div>
</a>
<a href="javascript: MetroHot.goTranslate();" class="translate side-tile">
<span data-ico="&#x0038;"></span>
<div class="title">
${translateLabel}
</div>
</a>
<a href="" class="login side-tile">
<span data-ico="&#xe03f;"></span>
<div class="title">
${loginLabel}
</div>
</a>
<a href="${servePath}/register" class="register side-tile">
<span data-ico="&#xe02b;"></span>
<div class="title">
${registerLabel}
</div>
</a>
<div class="user side-tile">
<span data-ico="&#x0060;"></span>
<div class="fn-clear title">
${commentNameLabel}
</div>
<div class="text"></div>
</div>
<div class="clear side-tile">
<span data-ico="&#xe003;"></span>
<div class="title">
${clearCacheLabel}
</div>
<div class="text">
<a href="javascript:Util.clearCache();">{clearCachePageLabel}</a>
<br />
<a href="javascript:Util.clearCache('all');">${clearAllCacheLabel}</a>
</div>
</div>
<a href="${servePath}/admin-index.do#main" class="settings side-tile">
<span data-ico="&#x0070;"></span>
<div class="title">
${adminLabel}
</div>
</a>
<a href="${servePath}/register" class="logout side-tile">
<span data-ico="&#xe040;"></span>
<div class="title">
${logoutLabel}
</div>
</a>
</div>
</div>
\ No newline at end of file
#
# Copyright (C) 2009, 2010, 2011, B3log Team
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Description: ease skin.
# Version: 1.0.0.5, Apr 26, 2013
# Author: Liyuan Li
# Author: Liang Ding
#
name=ease
version=1.0.4
forSolo=0.6.0
memo=\u56de\u5f52\u606c\u9759
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${tag.tagTitle} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${tag.tagTitle}"/>
<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>
<a id="tag" rel="alternate" href="${servePath}/tag-articles-feed.do?oId=${tag.oId}">
${tag1Label}
${tag.tagTitle}
(${tag.tagPublishedRefCount})
</a>
</h2>
<#include "article-list.ftl">
</div>
</div>
<#include "footer.ftl">
</body>
</html>
<#include "macro-head.ftl">
<!DOCTYPE html>
<html>
<head>
<@head title="${allTagsLabel} - ${blogTitle}">
<meta name="keywords" content="${metaKeywords},${allTagsLabel}"/>
<meta name="description" content="<#list tags as tag>${tag.tagTitle}<#if tag_has_next>,</#if></#list>"/>
</@head>
</head>
<body>
${topBarReplacement}
<#include "header.ftl">
<div class="main">
<div class="wrapper">
<ul id="tags" class="other-main">
<#list tags as tag>
<li>
<a rel="tag" data-count="${tag.tagPublishedRefCount}"
href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}" title="${tag.tagTitle}">
<span>${tag.tagTitle}</span>
(<b>${tag.tagPublishedRefCount}</b>)
</a>
</li>
</#list>
</ul>
<div class="clear"></div>
</div>
</div>
<#include "footer.ftl">
<script type="text/javascript">
Util.buildTags();
</script>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
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