diff --git a/ease/archive-articles.ftl b/ease/archive-articles.ftl new file mode 100644 index 0000000..88af8e8 --- /dev/null +++ b/ease/archive-articles.ftl @@ -0,0 +1,27 @@ +<#include "macro-head.ftl"> + + + + <@head title="${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
+
+

${archive1Label} + <#if "en" == localeString?substring(0, 2)> + ${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) + <#else> + ${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount}) + +

+ <#include "article-list.ftl"> +
+
+ <#include "footer.ftl"> + + diff --git a/ease/archives.ftl b/ease/archives.ftl new file mode 100644 index 0000000..cd66da9 --- /dev/null +++ b/ease/archives.ftl @@ -0,0 +1,36 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
+
+ <#if 0 != archiveDates?size> + + +
+
+ <#include "footer.ftl"> + + diff --git a/ease/article-list.ftl b/ease/article-list.ftl new file mode 100644 index 0000000..4d9d632 --- /dev/null +++ b/ease/article-list.ftl @@ -0,0 +1,57 @@ + +<#if paginationCurrentPageNum != paginationPageCount && 0 != paginationPageCount> +
${moreLabel}
+ \ No newline at end of file diff --git a/ease/article.ftl b/ease/article.ftl new file mode 100644 index 0000000..93bf4b1 --- /dev/null +++ b/ease/article.ftl @@ -0,0 +1,106 @@ +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${article.articleTitle} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
+
+
+
+

+ + ${article.articleTitle} + + <#if article.hasUpdated> + + ${updatedLabel} + + + <#if article.articlePutTop> + + ${topArticleLabel} + + +

+ +
+
+
+ ${article.articleContent} + <#if "" != article.articleSign.signHTML?trim> +

+ ${article.articleSign.signHTML} +

+ +
+
+ <#if article.hasUpdated> + ${article.articleUpdateDate?string("yy-MM-dd HH:mm")} + <#else> + ${article.articleCreateDate?string("yy-MM-dd HH:mm")} + + ${article.authorName} +
+
+ ${tag1Label} + <#list article.articleTags?split(",") as articleTag> + <#if articleTag_has_next>, + +
+
+
+ <#if 0 != relevantArticlesDisplayCount> +
+ + <#if 0 != randomArticlesDisplayCount> +
+ +
+
+ <#if nextArticlePermalink??> + + + <#if previousArticlePermalink??> + + +
+
+ <@comments commentList=articleComments article=article> +
+
+ <#include "footer.ftl"> + <@comment_script oId=article.oId> + page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}"; + <#if 0 != randomArticlesDisplayCount> + page.loadRandomArticles('

${randomArticlesLabel}

'); + + <#if 0 != relevantArticlesDisplayCount> + page.loadRelevantArticles('${article.oId}', '

${relevantArticlesLabel}

'); + + <#if 0 != externalRelevantArticlesDisplayCount> + page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,"); + + + + diff --git a/ease/author-articles.ftl b/ease/author-articles.ftl new file mode 100644 index 0000000..beeca41 --- /dev/null +++ b/ease/author-articles.ftl @@ -0,0 +1,21 @@ +<#include "macro-head.ftl"> + + + + <@head title="${authorName} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
+
+

${author1Label}${authorName}

+ <#include "article-list.ftl"> +
+
+ <#include "footer.ftl"> + + diff --git a/ease/css/ease.css b/ease/css/ease.css new file mode 100644 index 0000000..4e1a5fc --- /dev/null +++ b/ease/css/ease.css @@ -0,0 +1,743 @@ +/* + * 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 Liyuan Li +* @version 1.0.1.8, Aug 6, 2012 +*/ +/* start base */ +html, body, div, ul, li { + margin: 0; + padding: 0; +} + +body { + font-family: Verdana,arial,'\5fae\8f6f\96c5\9ed1'; + font-size: 12px; + background-color: #FCFCFC; +} + +::selection { + background-color: #D5D5D5; + color: #FCFCFC; +} + +::-moz-selection { + background-color: #D5D5D5; + color: #FCFCFC; +} + +a { + outline: none; + color: #009EB8; + text-decoration: none; +} + +a:visited { + color: #00b4d2; +} + +a:hover { + text-decoration: underline; +} + +a:active { + color: #00889f; +} + +img { + vertical-align: middle; + border: 0; +} + +textarea, input { + outline: none; +} + +sup { + font-size: 10px; + font-weight: normal; + -webkit-text-size-adjust: none; +} + +.left { + float: left; +} + +.right { + float: right; +} + +.clear { + background-color: transparent; + border: 0; + clear: both; + display: block; + font-size: 0; + height: 0; + line-height: 0; + overflow: hidden; +} + +.none { + display: none; +} + +.ft-gray { + color: #808080; +} + +.ft-gray:visited { + color: #9a9a9a +} + +.ft-gray:hover { + color: #676767; + text-decoration: none; +} + +.fn-mgtb10 { + margin: 10px 0; +} + +.logo { + padding: 0 5px; + text-shadow: 0 0 1px #D5D5D5; +} + +.em00, .em01, .em02, .em03, .em04, .em05, .em06, .em07, .em08, .em09, +.em10, .em11, .em12, .em13, .em14 { + cursor: pointer; + background-image: url("../../ease/images/emotions/emotions-ease.png"); + float: left; + height: 24px; + margin-right: 5px; + width: 24px; + transition: all .2s ease-out; + -webkit-transition: all .2s ease-out; + -moz-transition: all .2s ease-out; +} + +#emotions span:hover { + transform: scale(1.2) rotate(360deg); + -webkit-transform: scale(1.2) rotate(360deg); + -moz-transform: scale(1.2) rotate(360deg); +} + +.em01 { + background-position: -24px 0; +} +.em02 { + background-position: -48px 0; +} +.em03 { + background-position: -72px 0; +} +.em04 { + background-position: -96px 1px; +} +.em05 { + background-position: 0 -24px; +} +.em06 { + background-position: -24px -24px; +} +.em07 { + background-position: -48px -24px; +} +.em08 { + background-position: -72px -24px; +} +.em09 { + background-position: -96px -24px; +} +.em10 { + background-position: 0 -48px; +} +.em11 { + background-position: -24px -48px ; +} +.em12 { + background-position: -48px -48px; +} +.em13 { + background-position: -72px -48px; +} +.em14 { + background-position: -96px -48px; +} +/* end base */ + +/* start ico */ +#search, +.translate-ico { + background-image: url("/skins/ease/images/icons.png"); +} + +.translate-ico { + background-position: 1px -125px; + background-repeat: no-repeat; + border: 1px solid #D5D5D5; + border-radius: 3px; + cursor: pointer; + float: right; + height: 16px; + margin: -3px 0 0 15px; + padding: 1px; + width: 16px; +} + +.translate-ico:hover { + border-color: #9a9a9a; + box-shadow: 0 0 1px #808080; + background-color: #FCFCFC; +} +/* end ico */ + +/* start frame */ +.wrapper { + margin: 0 auto; + width: 990px; +} + +.main { + background-color: #FFF; + padding-bottom: 50px; +} +/* end frame */ + +/* start header */ +.header { + width: 100%; + z-index: 1; +} + +.header .title { + border-bottom: 1px solid #808080; + font-size: 26px; + font-weight: normal; +} + +.header .sub-title { + font-size: 11px; +} + +#search { + background-position: 7px -99px; + background-repeat: no-repeat; + background-color: #FFF; + border: 1px solid #D5D5D5; + border-radius: 2px 2px 2px 2px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset; + color: #808080; + float: right; + font-size: 14px; + height: 19px; + line-height: 145%; + padding: 4px 10px 4px 28px; + width: 24px; + -moz-transition: width 0.4s ease, background 0.4s ease; + -webkit-transition: width 0.4s ease, background 0.4s ease; + transition: width 0.4s ease, background 0.4s ease; +} + +#search:focus { + width: 150px; +} + +.banner { + margin-bottom: 20px; +} + +.banner .notice { + float: left; + margin: 20px 0 0 50px; +} + +.nav { + background-color: #2C2C2C; + box-shadow: 0 2px 2px #D5D5D5, 0 3px 3px -3px #D5D5D5 inset; + border-top: 1px solid #e2e2e2; + border-bottom: 1px solid #e2e2e2; + height: 29px; + top: 0; + width: 100%; + z-index: 1; +} + +.nav ul { + list-style: none; + float: left; +} + +.nav li { + float: left; +} + +.nav a { + color: #C9C9C9; + display: block; + float: left; + font-size: 14px; + font-weight: 700; + line-height: 29px; + margin-right: 20px; + padding: 0 10px; + text-decoration: none; + transition: color .4s ease, background-color .8s ease; + -webkit-transition: color .4s ease, background-color .8s ease; + -moz-transition: color .4s ease, background-color .8s ease; +} +.nav a:hover { + color: #FFF; + background-color: #535353; +} + +.nav a.current { + background-color: #FFF; + box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.1) inset, 0 1px 1px rgba(0, 0, 0, 0.1) inset; + color: #808080; +} + +.nav img { + margin-left: 3px; +} +/* end header */ + +/* start footer */ +.footer { + border-top: 1px solid #D5D5D5; + box-shadow: 0 -1px 1px #D5D5D5; + font-size: 11px; + padding: 12px 0; + -webkit-text-size-adjust: none; +} + +#goTop { + background: url("/skins/ease/images/icons.png") no-repeat scroll 5px -51px #D5D5D5; + border-radius: 2px 2px 0 0; + box-shadow: 0 0 3px #D5D5D5; + cursor: pointer; + font-size: 11px; + height: 21px; + line-height: 21px; + padding: 0 10px 0 23px; + position: absolute; + right: 50px; + display: none; +} + +#goTop:hover { + background-color: #c8c8c8; + box-shadow: 0 0 3px #c8c8c8; +} +/* end footer*/ + +/* start article list */ +.wrapper > ul { + list-style: none; +} + +.main > .wrapper > h2 { + margin: 0; + padding: 14px 0; +} + +.article { + border-bottom: 1px solid #f6f6f6; + padding: 30px 50px; +} + +.article:hover { + border-bottom-color: #ddd; + box-shadow: 0 0 1px #f6f6f6 inset; + background-color: #FCFCFC; +} + +.article-body { + line-height: 145%; + overflow: hidden; + word-wrap: break-word; + margin-bottom: 10px; + font-size: 14px; +} + +.article-body ol, .article-body ul { + margin-left: 40px; +} + +.article-body a { + color: #808080; + text-decoration: underline; +} + +.article-body a:vidited { + color: #9a9a9a +} + +.article-body a:hover { + color: #676767; +} + +.article-body>div { + min-height: 32px; +} + +.article-title h2 { + display: inline; +} + +.article-title span { + cursor: pointer; +} + +.article-last:hover { + border-bottom: 1px solid #f6f6f6; +} + +.article-next { + border: 1px solid #eee; + background-color: #F9F9F9; + cursor: pointer; + font-size: 14px; + line-height: 36px; + text-align: center; +} + +.article-next:hover { + background-color: #FCFCFC; +} +/* end article list */ + +/* start article */ +.article-relative { + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + float: left; + margin: 10px 0; + padding: 0 20px 10px; + width: 385px; +} + +.article-relative:hover { + background-color: #fff; + box-shadow: 0 0 4px #D5D5D5; +} + +.article-relative ul { + list-style: none; +} + +#relevantArticles { + margin-right: 40px; +} + +#externalRelevantArticles { + width: 357px; + margin-top: 0; +} +/* end article*/ + +/* start comment */ +#comments { + padding: 20px 50px; + position: relative; +} + +.comment-header { + float: left; + background-color: #FFF; + border: 1px solid #DEDEDE; + padding: 2px; + height: 60px; + width: 60px; +} + +.comment-panel { + float: left; + line-height: 16px; + margin: 0 0 20px 10px; + min-height: 64px; + overflow: hidden; + width: 814px; +} + +.comment-body-ref { + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + display: block; + left: 127px; + padding: 10px; + opacity: 0.9; + filter: alpha(opacity=90); + position: absolute; + border: 1px solid #e2e2e2; +} + +.comment-body-ref > .comment-header { + border: 0 none; + float: right; + height: 48px; + width: 48px; + padding: 0; +} + +.comment-body-ref > .comment-panel { + margin: 0 20px 0 0; + min-height: 48px; + width: 725px; +} + +.comment-body-ref > .comment-panel > .right { + display: none; +} + +#replyForm { + margin-left: 25px; +} + +.form { + padding: 0 50px 20px; +} + +.wrapper > .form { + float: left; +} + +.form th { + text-align: right; + white-space: nowrap; +} + +.form input[type="text"], +.form input[type="password"], +.form textarea { + background-color: #FCFCFC; + border-width: 0; + box-shadow: 0 0 2px #BCBCBC; + font-family: Verdana,arial,\5fae\8f6f\96c5\9ed1; + font-size: 12px; + margin: 0 5px 10px 0; + outline: medium none; + padding: 0 3px; + height: 28px; + line-height: 28px; + width: 260px; +} + +.form input:focus, +.form textarea:focus { + box-shadow: 0 0 4px #D5D5D5; +} + +.form textarea { + height: 120px; + overflow: auto; + width: 426px; + line-height: 16px; +} + +.form button { + background-color: #F6F6F6; + border: 0 none; + box-shadow: 0 0 2px #D5D5D5; + height: 28px; + line-height: 28px; + padding: 0 12px; + color: #808080; +} + +.form button:hover { + box-shadow: 0 0 4px #D5D5D5; + text-shadow: 0 0 2px; +} + +.form img { + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + cursor: pointer; + height: 24px; + padding: 1px; +} +/* end comment */ + +/* start tags */ +#tags.other-main { + margin: 47px 44px 0; + width: 902px; +} + +#tags li { + float: left; + height: 38px; +} + +#tags a { + margin: 3px 6px; + padding: 3px 12px; + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + float: left; +} + +#tags a:hover { + text-shadow: 0 0 2px; + text-decoration: none; + box-shadow: 0 0 4px #D5D5D5; +} + +.tags1, .tags1:visited { + font-size: 12px; + color: #a7a7a7; +} + +.tags2, .tags2:visited { + font-size: 14px; + color: #808080; +} + +.tags3, .tags3:visited { + font-size: 16px; + color: #595959; +} + +.tags4, .tags4:visited { + font-size: 18px; + color: #323232; +} + +.tags5, .tags5:visited { + font-size: 20px; + color: #0a0a0a; +} +/* end tags */ + +/* start archives */ +.archives { + position: relative; +} + +.archives > div { + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + padding-bottom: 20px; + line-height: 20px; + margin: 20px; + width: 270px; + position: absolute; + top: 0; +} + +.archives h3 { + text-align: center; +} + +.archives > div:hover { + box-shadow: 0 0 4px #D5D5D5; +} + +.archives a { + display: block; + margin-left: 77px; +} +/* end archives */ + +/* start dynamic */ +.dynamic ul { + list-style: none; +} + +.dynamic h3 { + text-align: center; +} + +.dynamic .module { + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + float: left; + line-height: 20px; + margin: 20px; + padding: 10px 20px 20px; + width: 385px; +} + +.dynamic .module:hover { + box-shadow: 0 0 4px #D5D5D5; +} + +.dynamic .side-comments { + width: 600px; +} + +.dynamic .side-comments .comment-panel { + width: 510px; +} + +.dynamic .side-tags { + width: 170px; +} + +.dynamic .side-tags li { + float: left; + margin: 0 5px; +} + +.dynamic .side-most-comment, +.dynamic .side-most-view { + margin-bottom: 0; +} +/* end dynamic */ + +/* start links */ +.other-main.links { + margin-top: 45px; +} + +.links li { + float: left; + line-height: 22px; + margin: 0 20px; + width: 270px; +} +/* end links */ + +/* start not list */ +.other-main { + display: inline-block; + margin: 30px 30px 0; + width: 930px; +} + +#tags a, +.archives > div, +.dynamic .module, +.form input[type="text"], +.form input[type="password"], +.form textarea, +.article-relative { + border: 1px solid #f2f2f2; +} + +#tags a:hover, +.archives>div:hover, +.dynamic .module:hover, +.form input:focus, +.form textarea:focus, +.article-relative:hover { + border: 1px solid #e2e2e2; +} +/* end not list */ \ No newline at end of file diff --git a/ease/css/ease.min.css b/ease/css/ease.min.css new file mode 100644 index 0000000..fd6858e --- /dev/null +++ b/ease/css/ease.min.css @@ -0,0 +1,123 @@ +html,body,div,ul,li{margin:0;padding:0;} +body{font-family:Verdana,arial,'\5fae\8f6f\96c5\9ed1';font-size:12px;background-color:#FCFCFC;} +::selection{background-color:#D5D5D5;color:#FCFCFC;} +::-moz-selection{background-color:#D5D5D5;color:#FCFCFC;} +a{outline:none;color:#009EB8;text-decoration:none;} +a:visited{color:#00b4d2;} +a:hover{text-decoration:underline;} +a:active{color:#00889f;} +img{vertical-align:middle;border:0;} +textarea,input{outline:none;} +sup{font-size:10px;font-weight:normal;-webkit-text-size-adjust:none;} +.left{float:left;} +.right{float:right;} +.clear{background-color:transparent;border:0;clear:both;display:block;font-size:0;height:0;line-height:0;overflow:hidden;} +.none{display:none;} +.ft-gray{color:#808080;} +.ft-gray:visited{color:#9a9a9a;} +.ft-gray:hover{color:#676767;text-decoration:none;} +.fn-mgtb10{margin:10px 0;} +.logo{padding:0 5px;text-shadow:0 0 1px #D5D5D5;} +.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{cursor:pointer;background-image:url("../../ease/images/emotions/emotions-ease.png");float:left;height:24px;margin-right:5px;width:24px;transition:all 0.2s ease-out;-webkit-transition:all 0.2s ease-out;-moz-transition:all 0.2s ease-out;} +#emotions span:hover{transform:scale(1.2) rotate(360deg);-webkit-transform:scale(1.2) rotate(360deg);-moz-transform:scale(1.2) rotate(360deg);} +.em01{background-position:-24px 0;} +.em02{background-position:-48px 0;} +.em03{background-position:-72px 0;} +.em04{background-position:-96px 1px;} +.em05{background-position:0 -24px;} +.em06{background-position:-24px -24px;} +.em07{background-position:-48px -24px;} +.em08{background-position:-72px -24px;} +.em09{background-position:-96px -24px;} +.em10{background-position:0 -48px;} +.em11{background-position:-24px -48px;} +.em12{background-position:-48px -48px;} +.em13{background-position:-72px -48px;} +.em14{background-position:-96px -48px;} +#search,.translate-ico{background-image:url("/skins/ease/images/icons.png");} +.translate-ico{background-position:1px -125px;background-repeat:no-repeat;border:1px solid #D5D5D5;border-radius:3px;cursor:pointer;float:right;height:16px;margin:-3px 0 0 15px;padding:1px;width:16px;} +.translate-ico:hover{border-color:#9a9a9a;box-shadow:0 0 1px #808080;background-color:#FCFCFC;} +.wrapper{margin:0 auto;width:990px;} +.main{background-color:#FFF;padding-bottom:50px;} +.header{width:100%;z-index:1;} +.header .title{border-bottom:1px solid #808080;font-size:26px;font-weight:normal;} +.header .sub-title{font-size:11px;} +#search{background-position:7px -99px;background-repeat:no-repeat;background-color:#FFF;border:1px solid #D5D5D5;border-radius:2px 2px 2px 2px;box-shadow:0 1px 1px rgba(0, 0, 0, 0.1) inset;color:#808080;float:right;font-size:14px;height:19px;line-height:145%;padding:4px 10px 4px 28px;width:24px;-moz-transition:width 0.4s ease, background 0.4s ease;-webkit-transition:width 0.4s ease, background 0.4s ease;transition:width 0.4s ease, background 0.4s ease;} +#search:focus{width:150px;} +.banner{margin-bottom:20px;} +.banner .notice{float:left;margin:20px 0 0 50px;} +.nav{background-color:#2C2C2C;box-shadow:0 2px 2px #d5d5d5,0 3px 3px -3px #d5d5d5 inset;border-top:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2;height:29px;top:0;width:100%;z-index:1;} +.nav ul{list-style:none;float:left;} +.nav li{float:left;} +.nav a{color:#C9C9C9;display:block;float:left;font-size:14px;font-weight:700;line-height:29px;margin-right:20px;padding:0 10px;text-decoration:none;transition:color 0.4s ease,background-color 0.8s ease;-webkit-transition:color 0.4s ease,background-color 0.8s ease;-moz-transition:color 0.4s ease,background-color 0.8s ease;} +.nav a:hover{color:#FFF;background-color:#535353;} +.nav a.current{background-color:#FFF;box-shadow:0 -1px 1px rgba(0, 0, 0, 0.1) inset,0 1px 1px rgba(0, 0, 0, 0.1) inset;color:#808080;} +.nav img{margin-left:3px;} +.footer{border-top:1px solid #D5D5D5;box-shadow:0 -1px 1px #d5d5d5;font-size:11px;padding:12px 0;-webkit-text-size-adjust:none;} +#goTop{background:url("/skins/ease/images/icons.png") no-repeat scroll 5px -51px #d5d5d5;border-radius:2px 2px 0 0;box-shadow:0 0 3px #D5D5D5;cursor:pointer;font-size:11px;height:21px;line-height:21px;padding:0 10px 0 23px;position:absolute;right:50px;display:none;} +#goTop:hover{background-color:#c8c8c8;box-shadow:0 0 3px #c8c8c8;} +.wrapper>ul{list-style:none;} +.main>.wrapper>h2{margin:0;padding:14px 0;} +.article{border-bottom:1px solid #f6f6f6;padding:30px 50px;} +.article:hover{border-bottom-color:#ddd;box-shadow:0 0 1px #f6f6f6 inset;background-color:#FCFCFC;} +.article-body{line-height:145%;overflow:hidden;word-wrap:break-word;margin-bottom:10px;font-size:14px;} +.article-body ol,.article-body ul{margin-left:40px;} +.article-body a{color:#808080;text-decoration:underline;} +.article-body a:vidited{color:#9a9a9a;} +.article-body a:hover{color:#676767;} +.article-body>div{min-height:32px;} +.article-title h2{display:inline;} +.article-title span{cursor:pointer;} +.article-last:hover{border-bottom:1px solid #f6f6f6;} +.article-next{border:1px solid #eee;background-color:#F9F9F9;cursor:pointer;font-size:14px;line-height:36px;text-align:center;} +.article-next:hover{background-color:#FCFCFC;} +.article-relative{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;float:left;margin:10px 0;padding:0 20px 10px;width:385px;} +.article-relative:hover{background-color:#fff;box-shadow:0 0 4px #D5D5D5;} +.article-relative ul{list-style:none;} +#relevantArticles{margin-right:40px;} +#externalRelevantArticles{width:357px;margin-top:0;} +#comments{padding:20px 50px;position:relative;} +.comment-header{float:left;background-color:#FFF;border:1px solid #DEDEDE;padding:2px;height:60px;width:60px;} +.comment-panel{float:left;line-height:16px;margin:0 0 20px 10px;min-height:64px;overflow:hidden;width:814px;} +.comment-body-ref{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;display:block;left:127px;padding:10px;opacity:0.9;filter:alpha(opacity=90);position:absolute;border:1px solid #e2e2e2;} +.comment-body-ref>.comment-header{border:0 none;float:right;height:48px;width:48px;padding:0;} +.comment-body-ref>.comment-panel{margin:0 20px 0 0;min-height:48px;width:725px;} +.comment-body-ref>.comment-panel>.right{display:none;} +#replyForm{margin-left:25px;} +.form{padding:0 50px 20px;} +.wrapper>.form{float:left;} +.form th{text-align:right;white-space:nowrap;} +.form input[type="text"],.form input[type="password"],.form textarea{background-color:#FCFCFC;border-width:0;box-shadow:0 0 2px #BCBCBC;font-family:Verdana,arial,\5fae\8f6f\96c5\9ed1;font-size:12px;margin:0 5px 10px 0;outline:medium none;padding:0 3px;height:28px;line-height:28px;width:260px;} +.form input:focus,.form textarea:focus{box-shadow:0 0 4px #D5D5D5;} +.form textarea{height:120px;overflow:auto;width:426px;line-height:16px;} +.form button{background-color:#F6F6F6;border:0 none;box-shadow:0 0 2px #D5D5D5;height:28px;line-height:28px;padding:0 12px;color:#808080;} +.form button:hover{box-shadow:0 0 4px #D5D5D5;text-shadow:0 0 2px;} +.form img{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;cursor:pointer;height:24px;padding:1px;} +#tags.other-main{margin:47px 44px 0;width:902px;} +#tags li{float:left;height:38px;} +#tags a{margin:3px 6px;padding:3px 12px;background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;float:left;} +#tags a:hover{text-shadow:0 0 2px;text-decoration:none;box-shadow:0 0 4px #D5D5D5;} +.tags1,.tags1:visited{font-size:12px;color:#a7a7a7;} +.tags2,.tags2:visited{font-size:14px;color:#808080;} +.tags3,.tags3:visited{font-size:16px;color:#595959;} +.tags4,.tags4:visited{font-size:18px;color:#323232;} +.tags5,.tags5:visited{font-size:20px;color:#0a0a0a;} +.archives{position:relative;} +.archives>div{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;padding-bottom:20px;line-height:20px;margin:20px;width:270px;position:absolute;top:0;} +.archives h3{text-align:center;} +.archives>div:hover{box-shadow:0 0 4px #D5D5D5;} +.archives a{display:block;margin-left:77px;} +.dynamic ul{list-style:none;} +.dynamic h3{text-align:center;} +.dynamic .module{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;float:left;line-height:20px;margin:20px;padding:10px 20px 20px;width:385px;} +.dynamic .module:hover{box-shadow:0 0 4px #D5D5D5;} +.dynamic .side-comments{width:600px;} +.dynamic .side-comments .comment-panel{width:510px;} +.dynamic .side-tags{width:170px;} +.dynamic .side-tags li{float:left;margin:0 5px;} +.dynamic .side-most-comment,.dynamic .side-most-view{margin-bottom:0;} +.other-main.links{margin-top:45px;} +.links li{float:left;line-height:22px;margin:0 20px;width:270px;} +.other-main{display:inline-block;margin:30px 30px 0;width:930px;} +#tags a,.archives>div,.dynamic .module,.form input[type="text"],.form input[type="password"],.form textarea,.article-relative{border:1px solid #f2f2f2;} +#tags a:hover,.archives>div:hover,.dynamic .module:hover,.form input:focus,.form textarea:focus,.article-relative:hover{border:1px solid #e2e2e2;} diff --git a/ease/dynamic.ftl b/ease/dynamic.ftl new file mode 100644 index 0000000..ed51109 --- /dev/null +++ b/ease/dynamic.ftl @@ -0,0 +1,108 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
+
+
+ <#if 0 != recentComments?size> +
+

${recentCommentsLabel}

+
    + <#list recentComments as comment> +
  • + ${comment.commentName} +
    + + <#if "http://" == comment.commentURL> + ${comment.commentName} + <#else> + ${comment.commentName} + + +
    + ${comment.commentDate?string("yyyy-MM-dd HH:mm:ss")} + ${viewLabel} +
    + +
    + ${comment.commentContent} +
    +
    +
    +
  • + +
+
+ + <#if 0 != mostUsedTags?size> +
+

${popTagsLabel}

+ +
+
+ +
+ <#if 0 != mostCommentArticles?size> +
+

${mostCommentArticlesLabel}

+ +
+ + <#if 0 != mostViewCountArticles?size> +
+

${mostViewCountArticlesLabel}

+ +
+ +
+
+
+
+ <#include "footer.ftl"> + + diff --git a/ease/footer.ftl b/ease/footer.ftl new file mode 100644 index 0000000..58d5aaa --- /dev/null +++ b/ease/footer.ftl @@ -0,0 +1,76 @@ + +
TOP
+ + + + +${plugins} diff --git a/ease/header.ftl b/ease/header.ftl new file mode 100644 index 0000000..a2ebe6d --- /dev/null +++ b/ease/header.ftl @@ -0,0 +1,56 @@ +
+ + +
\ No newline at end of file diff --git a/ease/images/ajax-loader.gif b/ease/images/ajax-loader.gif new file mode 100644 index 0000000..02ffcbc Binary files /dev/null and b/ease/images/ajax-loader.gif differ diff --git a/ease/images/emotions/em00.png b/ease/images/emotions/em00.png new file mode 100644 index 0000000..53df885 Binary files /dev/null and b/ease/images/emotions/em00.png differ diff --git a/ease/images/emotions/em01.png b/ease/images/emotions/em01.png new file mode 100644 index 0000000..c056d33 Binary files /dev/null and b/ease/images/emotions/em01.png differ diff --git a/ease/images/emotions/em02.png b/ease/images/emotions/em02.png new file mode 100644 index 0000000..21fbad3 Binary files /dev/null and b/ease/images/emotions/em02.png differ diff --git a/ease/images/emotions/em03.png b/ease/images/emotions/em03.png new file mode 100644 index 0000000..ab8962d Binary files /dev/null and b/ease/images/emotions/em03.png differ diff --git a/ease/images/emotions/em04.png b/ease/images/emotions/em04.png new file mode 100644 index 0000000..c895cff Binary files /dev/null and b/ease/images/emotions/em04.png differ diff --git a/ease/images/emotions/em05.png b/ease/images/emotions/em05.png new file mode 100644 index 0000000..f24350a Binary files /dev/null and b/ease/images/emotions/em05.png differ diff --git a/ease/images/emotions/em06.png b/ease/images/emotions/em06.png new file mode 100644 index 0000000..f84ba88 Binary files /dev/null and b/ease/images/emotions/em06.png differ diff --git a/ease/images/emotions/em07.png b/ease/images/emotions/em07.png new file mode 100644 index 0000000..9ad797d Binary files /dev/null and b/ease/images/emotions/em07.png differ diff --git a/ease/images/emotions/em08.png b/ease/images/emotions/em08.png new file mode 100644 index 0000000..6771967 Binary files /dev/null and b/ease/images/emotions/em08.png differ diff --git a/ease/images/emotions/em09.png b/ease/images/emotions/em09.png new file mode 100644 index 0000000..116be97 Binary files /dev/null and b/ease/images/emotions/em09.png differ diff --git a/ease/images/emotions/em10.png b/ease/images/emotions/em10.png new file mode 100644 index 0000000..0fd8a39 Binary files /dev/null and b/ease/images/emotions/em10.png differ diff --git a/ease/images/emotions/em11.png b/ease/images/emotions/em11.png new file mode 100644 index 0000000..6679ddc Binary files /dev/null and b/ease/images/emotions/em11.png differ diff --git a/ease/images/emotions/em12.png b/ease/images/emotions/em12.png new file mode 100644 index 0000000..9df73f3 Binary files /dev/null and b/ease/images/emotions/em12.png differ diff --git a/ease/images/emotions/em13.png b/ease/images/emotions/em13.png new file mode 100644 index 0000000..a602aaa Binary files /dev/null and b/ease/images/emotions/em13.png differ diff --git a/ease/images/emotions/em14.png b/ease/images/emotions/em14.png new file mode 100644 index 0000000..7883932 Binary files /dev/null and b/ease/images/emotions/em14.png differ diff --git a/ease/images/emotions/emotions-ease.png b/ease/images/emotions/emotions-ease.png new file mode 100644 index 0000000..727e407 Binary files /dev/null and b/ease/images/emotions/emotions-ease.png differ diff --git a/ease/images/icons.png b/ease/images/icons.png new file mode 100644 index 0000000..b11023a Binary files /dev/null and b/ease/images/icons.png differ diff --git a/ease/index.ftl b/ease/index.ftl new file mode 100644 index 0000000..c189bbc --- /dev/null +++ b/ease/index.ftl @@ -0,0 +1,20 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
+
+ <#include "article-list.ftl"> +
+
+ <#include "footer.ftl"> + + diff --git a/ease/js/ease.js b/ease/js/ease.js new file mode 100644 index 0000000..edd7e8c --- /dev/null +++ b/ease/js/ease.js @@ -0,0 +1,317 @@ +/* + * 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 ease js. + * + * @author Liyuan Li + * @version 1.0.1.5, Jan 29, 2013 + */ +var goTranslate = function () { + window.open("http://translate.google.com/translate?sl=auto&tl=auto&u=" + location.href); +}; + +var getNextPage = function () { + var $more = $(".article-next"); + currentPage += 1; + var path = "/articles/"; + if($("#tag").length === 1) { + var pathnames = location.pathname.split("/"); + path = "/articles/tags/" + pathnames[pathnames.length - 1] + "/"; + } else if ($("#archive").length === 1) { + var pathnames = location.pathname.split("/"); + path = "/articles/archives/" + pathnames[pathnames.length - 2] + "/" + pathnames[pathnames.length - 1] + "/"; + } else if ($("#author").length === 1) { + var pathnames = location.pathname.split("/"); + path = "/articles/authors/" + pathnames[pathnames.length - 1] + "/"; + } + + $.ajax({ + url: latkeConfig.servePath + path + currentPage, + type: "GET", + beforeSend: function () { + $more.css("background", + "url(" + latkeConfig.staticServePath + "/skins/ease/images/ajax-loader.gif) no-repeat scroll center center #fefefe"); + }, + success: function(result, textStatus){ + if (!result.sc) { + return; + } + + var articlesHTML = "", + pagination = result.rslts.pagination; + + // append articles + for (var i = 0; i < result.rslts.articles.length; i++) { + var article = result.rslts.articles[i], + lastClass = ""; + if (result.rslts.articles.length - 1 === i) { + lastClass = " article-last"; + } + + articlesHTML += '
  • ' + + '
    ' + + '

    ' + + '' + + article.articleTitle + + ''; + if (article.hasUpdated) { + articlesHTML += '' + Label.updatedLabel + ''; + } + + if (article.articlePutTop) { + articlesHTML += '' + Label.topArticleLabel + ''; + } + + articlesHTML += '

    ' + + '' + + '
    ' + + '
    ' + + '
    ' + + '
    ' + + article.articleAbstract + + '
    ' + + '
    ' + + '
    ' + + '
    '; + if (article.hasUpdated) { + articlesHTML += Util.toDate(article.articleUpdateTime, 'yy-MM-dd HH:mm'); + } else { + articlesHTML += Util.toDate(article.articleCreateTime, 'yy-MM-dd HH:mm'); + } + + articlesHTML += ' ' + article.authorName + '' + + '
    ' + + '
    ' + + Label.tag1Label + " "; + + var articleTags = article.articleTags.split(","); + for (var j = 0; j < articleTags.length; j++) { + articlesHTML += ''; + + if (j < articleTags.length - 1) { + articlesHTML += ", "; + } + } + + articlesHTML += '
    ' + + '
    ' + + '
  • '; + } + + $(".article-last").removeClass("article-last"); + $(".main>.wrapper>ul").append(articlesHTML); + + // 最后一页处理 + if (pagination.paginationPageCount === currentPage) { + $more.remove(); + } else { + $more.css("background", "none"); + } + } + }); +}; + +var ease = { + $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 += "

    " + years[j] + "

    " + monthsHTML + "
    "; + } + + $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]); + }, + + scrollEvent: function () { + var _it = this; + $(window).scroll(function () { + var y = $(window).scrollTop(), + topH = 0; + if ($("#top").css("display") === "block") { + topH = $("#top").height(); + } + + // header event + if (y >= _it.headerH + topH) { + _it.$nav.css("position", "fixed"); + _it.$body.css("marginTop", "55px"); + } else { + _it.$nav.css("position" ,"inherit"); + _it.$body.css("marginTop", "0"); + } + + // go top icon show or hide + if (y > _it.headerH) { + var bodyH = $(window).height(); + var top = y + bodyH - 21; + if ($("body").height() - 58 <= y + bodyH) { + top = $(".footer").offset().top - 21; + } + $("#goTop").fadeIn("slow").css("top", top); + } else { + $("#goTop").hide(); + } + }); + }, + + 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 () { + ease.getCurrentPage(); + ease.initCommon(); + ease.scrollEvent(); + ease.setNavCurrent(); + + ease.initArchives(); + ease.setDynamic(); +})(); \ No newline at end of file diff --git a/ease/js/ease.min.js b/ease/js/ease.min.js new file mode 100644 index 0000000..3ccd9d9 --- /dev/null +++ b/ease/js/ease.min.js @@ -0,0 +1,20 @@ +/* + * 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 ease js. + * + * @author Liyuan Li + * @version 1.0.1.5, Jan 29, 2013 + */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($("#tag").length===1){var n=location.pathname.split("/");t="/articles/tags/"+n[n.length-1]+"/"}else if($("#archive").length===1){var n=location.pathname.split("/");t="/articles/archives/"+n[n.length-2]+"/"+n[n.length-1]+"/"}else if($("#author").length===1){var n=location.pathname.split("/");t="/articles/authors/"+n[n.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,n){if(!t.sc)return;var r="",i=t.rslts.pagination;for(var s=0;s'+'
    '+"

    "+''+o.articleTitle+"",o.hasUpdated&&(r+=""+Label.updatedLabel+""),o.articlePutTop&&(r+=""+Label.topArticleLabel+""),r+='

    "+'
    '+"
    "+'
    '+'
    '+o.articleAbstract+"
    "+'
    '+"
    "+'
    ',o.hasUpdated?r+=Util.toDate(o.articleUpdateTime,"yy-MM-dd HH:mm"):r+=Util.toDate(o.articleCreateTime,"yy-MM-dd HH:mm"),r+=' '+o.authorName+""+"
    "+'
    '+Label.tag1Label+" ";var a=o.articleTags.split(",");for(var f=0;f
    "}e.html(r);var a=$(".archives>div"),f=0,l=0,c=[];for(var h=0;h=a.length)break;a[h].style.left=p*310+"px",f>0?(a[h-3].style.top!==""&&(l=parseInt(a[h-3].style.top)),a[h].style.top=$(a[h-3]).height()+60+l+"px",c[p]=parseInt(a[h].style.top)+$(a[h]).height()+60):c[p]=$(a[h]).height()+60,p<2&&(h+=1)}f+=1}e.height(c.sort()[c.length-1])},scrollEvent:function(){var e=this;$(window).scroll(function(){var t=$(window).scrollTop(),n=0;$("#top").css("display")==="block"&&(n=$("#top").height()),t>=e.headerH+n?(e.$nav.css("position","fixed"),e.$body.css("marginTop","55px")):(e.$nav.css("position","inherit"),e.$body.css("marginTop","0"));if(t>e.headerH){var r=$(window).height(),i=t+r-21;$("body").height()-58<=t+r&&(i=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",i)}else $("#goTop").hide()})},setDynamic:function(){var e=$(".dynamic");if($(".dynamic").length<1)return;var t=e.find(".side-comments"),n=e.find(".side-tags"),r=e.find(".side-most-comment"),i=e.find(".side-most-view");t.height()>n.height()?n.height(t.height()):t.height(n.height()),r.height()>i.height()?i.height(r.height()):r.height(i.height()),$(".article-body").each(function(){this.innerHTML=Util.replaceEmString($(this).html())})},scrollToCmt:function(){$(window.location.hash).length==1&&$(window).scrollTop($(window.location.hash).offset().top-60)}};(function(){ease.getCurrentPage(),ease.initCommon(),ease.scrollEvent(),ease.setNavCurrent(),ease.initArchives(),ease.setDynamic()})(); \ No newline at end of file diff --git a/ease/lang/lang_en_US.properties b/ease/lang/lang_en_US.properties new file mode 100644 index 0000000..9f50ea6 --- /dev/null +++ b/ease/lang/lang_en_US.properties @@ -0,0 +1,93 @@ +# +# 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.5, May 22, 2012 +# Author: Liyuan Li +# +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 +clearAllCacheLabel=Clear all cache +clearCacheLabel=Clear cache +adminLabel=Admin +logoutLabel=Logout +loginLabel=Login +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 +commentNameLabel=Name +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=B3LOG +killBrowserLabel=

    Let's kill outdated and insecure browser!

    Let's kill outdated and insecure browser for browser evolution, human progress and better experience.

    You can download

    \ No newline at end of file diff --git a/ease/lang/lang_zh_CN.properties b/ease/lang/lang_zh_CN.properties new file mode 100644 index 0000000..8262001 --- /dev/null +++ b/ease/lang/lang_zh_CN.properties @@ -0,0 +1,93 @@ +# +# 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.5, May 22, 2012 +# Author: Liyuan Li +# +dynamicLabel=\u52a8\u6001 +moreLabel=\u66f4\u591a +contentLabel=\u5168\u6587 +abstractLabel=\u6458\u8981 +viewCount1Label=\u6d4f\u89c8\u6b21\u6570\uff1a +articleCount1Label=\u6587\u7ae0\u603b\u6570\uff1a +commentCount1Label=\u8bc4\u8bba\u603b\u6570\uff1a +allTagsLabel=\u6807\u7b7e\u5899 +updatedLabel=\u6709\u66f4\u65b0\uff01 +topArticleLabel=\u7f6e\u9876\uff01 +archiveLabel=\u5b58\u6863 +yearLabel=\u5e74 +monthLabel=\u6708 +recentArticlesLabel=\u6700\u65b0\u6587\u7ae0 +recentCommentsLabel=\u6700\u65b0\u8bc4\u8bba +mostCommentArticlesLabel=\u8bc4\u8bba\u6700\u591a\u7684\u6587\u7ae0 +mostViewCountArticlesLabel=\u8bbf\u95ee\u6700\u591a\u7684\u6587\u7ae0 +popTagsLabel=\u5206\u7c7b\u6807\u7b7e +linkLabel=\u53cb\u60c5\u94fe\u63a5 +indexLabel=\u9996\u9875 +sumLabel=\u5171 +pageLabel=\u9875 +clearAllCacheLabel=\u6e05\u9664\u6240\u6709\u9875\u9762\u7f13\u5b58 +clearCacheLabel=\u6e05\u9664\u672c\u9875\u7f13\u5b58 +adminLabel=\u7ba1\u7406 +logoutLabel=\u767b\u51fa +loginLabel=\u767b\u5f55 +em00Label=\u5fae\u7b11 +em01Label=\u5927\u7b11 +em02Label=\u9ad8\u5174 +em03Label=\u60b2\u4f24 +em04Label=\u54ed\u6ce3 +em05Label=\u65e0\u8bed +em06Label=\u70e6\u8e81 +em07Label=\u751f\u6c14 +em08Label=\u6211\u7785 +em09Label=\u60ca\u8bb6 +em10Label=\u9177 +em11Label=\u987d\u76ae +em12Label=\u7231\u5fc3 +em13Label=\u5fc3\u788e +em14Label=\u9b54\u9b3c +commentLabel=\u8bc4\u8bba +viewLabel=\u6d4f\u89c8 +authorLabel=\u4f5c\u8005 +previousPageLabel=\u4e0a\u4e00\u9875 +nextPagePabel=\u4e0b\u4e00\u9875 +firstPageLabel=\u7b2c\u4e00\u9875 +lastPageLabel=\u6700\u540e\u4e00\u9875 +archive1Label=\u5b58\u6863\uff1a +author1Label=\u4f5c\u8005\uff1a +tag1Label=\u6807\u7b7e\uff1a +sorryLabel=\u5bf9\u4e0d\u8d77\uff01 +notFoundLabel=\u627e\u4e0d\u5230\uff01 +returnTo1Label=\u8fd4\u56de\uff1a +replyLabel=\u56de\u590d +commentNameLabel=\u59d3\u540d +commentEmailLabel=\u90ae\u7bb1 +commentURLLabel=URL +submmitCommentLabel=\u63d0\u4ea4\u8bc4\u8bba +nameTooLongLabel=\u59d3\u540d\u53ea\u80fd\u4e3a 2 \u5230 20 \u4e2a\u5b57\u7b26\uff01 +mailCannotEmptyLabel=\u90ae\u7bb1\u4e0d\u80fd\u4e3a\u7a7a\uff01 +mailInvalidLabel=\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e\uff01 +commentContentCannotEmptyLabel=\u8bc4\u8bba\u5185\u5bb9\u53ea\u80fd\u4e3a 2 \u5230 500 \u4e2a\u5b57\u7b26\uff01 +captchaCannotEmptyLabel=\u9a8c\u8bc1\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01 +loadingLabel=\u8f7d\u5165\u4e2d.... +relevantArticlesLabel=\u76f8\u5173\u9605\u8bfb +randomArticlesLabel=\u968f\u673a\u9605\u8bfb +externalRelevantArticlesLabel=\u7ad9\u5916\u76f8\u5173\u9605\u8bfb +captchaErrorLabel=\u9a8c\u8bc1\u7801\u9519\u8bef +b3logLabel=B3LOG +killBrowserLabel=

    \u8ba9\u6211\u4eec\u653e\u5f03\u4f7f\u7528\u90a3\u4e9b\u8fc7\u65f6\u3001\u4e0d\u5b89\u5168\u7684\u6d4f\u89c8\u5668\u5427\uff01

    \u4e3a\u4e86\u8ba9\u6d4f\u89c8\u5668\u66f4\u597d\u7684\u53d1\u5c55\uff0c\u4eba\u7c7b\u66f4\u52a0\u7684\u8fdb\u6b65\uff0c\u62e5\u6709\u66f4\u597d\u7684\u4f53\u9a8c\uff0c\u8ba9\u6211\u4eec\u653e\u5f03\u4f7f\u7528\u90a3\u4e9b\u8fc7\u65f6\u3001\u4e0d\u5b89\u5168\u7684\u6d4f\u89c8\u5668\u3002

    \u60a8\u53ef\u4ee5\u4e0b\u8f7d diff --git a/ease/links.ftl b/ease/links.ftl new file mode 100644 index 0000000..1968dad --- /dev/null +++ b/ease/links.ftl @@ -0,0 +1,32 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    + <#if 0 != links?size> + + +
    +
    + <#include "footer.ftl"> + + diff --git a/ease/macro-comments.ftl b/ease/macro-comments.ftl new file mode 100644 index 0000000..ae015c7 --- /dev/null +++ b/ease/macro-comments.ftl @@ -0,0 +1,159 @@ +<#macro comments commentList article> +
    + <#list commentList as comment> +
    + ${comment.commentName} +
    +
    + <#if "http://" == comment.commentURL> + ${comment.commentName} + <#else> + ${comment.commentName} + + <#if comment.isReply>@ + ${comment.commentOriginalCommentName} + +
    + <#if article.commentable> +
    + ${comment.commentDate?string("yy-MM-dd HH:mm")} + ${replyLabel} +
    + + +
    ${comment.commentContent}
    +
    + +
    + +
    +<#if article.commentable> +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + +
    + + +
    + + + + + + + + + + + + + + + +
    + +
    + + validate +
    + + + +
    +
    +<#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount> +
    + + + + + +<#macro comment_script oId> + + + \ No newline at end of file diff --git a/ease/macro-head.ftl b/ease/macro-head.ftl new file mode 100644 index 0000000..be40ab0 --- /dev/null +++ b/ease/macro-head.ftl @@ -0,0 +1,14 @@ +<#macro head title> + +${title} +<#nested> + + + + + + + + +${htmlHead} + \ No newline at end of file diff --git a/ease/page.ftl b/ease/page.ftl new file mode 100644 index 0000000..4643957 --- /dev/null +++ b/ease/page.ftl @@ -0,0 +1,25 @@ +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${page.pageTitle} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    +
    + ${page.pageContent} +
    + <@comments commentList=pageComments article=page> +
    +
    + <#include "footer.ftl"> + <@comment_script oId=page.oId> + + diff --git a/ease/preview.png b/ease/preview.png new file mode 100644 index 0000000..53cd318 Binary files /dev/null and b/ease/preview.png differ diff --git a/ease/skin.properties b/ease/skin.properties new file mode 100644 index 0000000..1c29719 --- /dev/null +++ b/ease/skin.properties @@ -0,0 +1,27 @@ +# +# 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.3, Nov 21, 2012 +# Author: Liyuan Li +# Author: Liang Ding +# + +name=ease +version=1.0.3 +forSolo=0.5.5 +memo=\u56de\u5f52\u606c\u9759 diff --git a/ease/tag-articles.ftl b/ease/tag-articles.ftl new file mode 100644 index 0000000..5f8dd55 --- /dev/null +++ b/ease/tag-articles.ftl @@ -0,0 +1,27 @@ +<#include "macro-head.ftl"> + + + + <@head title="${tag.tagTitle} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> + + <#include "footer.ftl"> + + diff --git a/ease/tags.ftl b/ease/tags.ftl new file mode 100644 index 0000000..725bbe5 --- /dev/null +++ b/ease/tags.ftl @@ -0,0 +1,34 @@ +<#include "macro-head.ftl"> + + + + <@head title="${allTagsLabel} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    + +
    +
    +
    + <#include "footer.ftl"> + + + diff --git a/mobile/archive-articles.ftl b/mobile/archive-articles.ftl new file mode 100644 index 0000000..08d478a --- /dev/null +++ b/mobile/archive-articles.ftl @@ -0,0 +1,26 @@ +<#include "macro-head.ftl"> + + + + <@head title="${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +

    ${archive1Label} + <#if "en" == localeString?substring(0, 2)> + ${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount}) + <#else> + ${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount}) + +

    +
    +
    + <#include "article-list.ftl"> + <#include "footer.ftl"> + + diff --git a/mobile/article-list.ftl b/mobile/article-list.ftl new file mode 100644 index 0000000..e361897 --- /dev/null +++ b/mobile/article-list.ftl @@ -0,0 +1,67 @@ +
    +
    + <#list articles as article> +
    + <#if 0 lt article.articleCommentCount> +
    ${article.articleCommentCount}
    + + + +
    +
    ${article.articleUpdateDate?string("MM")}
    +
    ${article.articleUpdateDate?string("dd")}
    +
    + ${article.articleTitle} + +
    + +
    +
    + + + <#if 0 != paginationPageCount> +
    + <#if 1 != paginationPageNums?first> + ${firstPageLabel} + ${previousPageLabel} + + <#list paginationPageNums as paginationPageNum> + <#if paginationPageNum == paginationCurrentPageNum> + ${paginationPageNum} + <#else> + ${paginationPageNum} + + + <#if paginationPageNums?last != paginationPageCount> + ${nextPagePabel} + ${lastPageLabel} + +   ${sumLabel} ${paginationPageCount} ${pageLabel} +
    + + \ No newline at end of file diff --git a/mobile/article.ftl b/mobile/article.ftl new file mode 100644 index 0000000..927734e --- /dev/null +++ b/mobile/article.ftl @@ -0,0 +1,81 @@ +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${article.articleTitle} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    + ${article.articleTitle} + +
    +
    +
    +
    + ${article.articleContent} + <#if "" != article.articleSign.signHTML?trim> +
    + ${article.articleSign.signHTML} +
    + +
    + + +
      + <#if nextArticlePermalink??> +
    • + +
    • +
    • +
    • + <#if previousArticlePermalink??> +
    • + +
    +
    + + <@comments commentList=articleComments article=article> +
    + <#include "footer.ftl"> + <@comment_script oId=article.oId> + page.tips.externalRelevantArticlesDisplayCount = "${externalRelevantArticlesDisplayCount}"; + <#if 0 != randomArticlesDisplayCount> + page.loadRandomArticles(); + + <#if 0 != relevantArticlesDisplayCount> + page.loadRelevantArticles('${article.oId}', '

    ${relevantArticles1Label}

    '); + + <#if 0 != externalRelevantArticlesDisplayCount> + page.loadExternalRelevantArticles("<#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>,"); + + + + \ No newline at end of file diff --git a/mobile/author-articles.ftl b/mobile/author-articles.ftl new file mode 100644 index 0000000..c7284c0 --- /dev/null +++ b/mobile/author-articles.ftl @@ -0,0 +1,22 @@ +<#include "macro-head.ftl"> + + + + <@head title="${authorName} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    +

    + ${author1Label}${authorName} +

    +
    +
    + <#include "article-list.ftl"> + <#include "footer.ftl"> + + diff --git a/mobile/footer.ftl b/mobile/footer.ftl new file mode 100644 index 0000000..eb726f5 --- /dev/null +++ b/mobile/footer.ftl @@ -0,0 +1,57 @@ + + + + + +${plugins} diff --git a/mobile/header.ftl b/mobile/header.ftl new file mode 100644 index 0000000..fd2ed99 --- /dev/null +++ b/mobile/header.ftl @@ -0,0 +1,110 @@ + + + + + + +
    +
    + +
    +
    + +
    +
    + + aln + ${blogTitle} +
    +
    + +
    +
    + + +
    + + ${searchLabel} + + +
    \ No newline at end of file diff --git a/mobile/images/emotions/em00.png b/mobile/images/emotions/em00.png new file mode 100644 index 0000000..2420609 Binary files /dev/null and b/mobile/images/emotions/em00.png differ diff --git a/mobile/images/emotions/em01.png b/mobile/images/emotions/em01.png new file mode 100644 index 0000000..bddbe24 Binary files /dev/null and b/mobile/images/emotions/em01.png differ diff --git a/mobile/images/emotions/em02.png b/mobile/images/emotions/em02.png new file mode 100644 index 0000000..39051f3 Binary files /dev/null and b/mobile/images/emotions/em02.png differ diff --git a/mobile/images/emotions/em03.png b/mobile/images/emotions/em03.png new file mode 100644 index 0000000..8cf9113 Binary files /dev/null and b/mobile/images/emotions/em03.png differ diff --git a/mobile/images/emotions/em04.png b/mobile/images/emotions/em04.png new file mode 100644 index 0000000..fb061a8 Binary files /dev/null and b/mobile/images/emotions/em04.png differ diff --git a/mobile/images/emotions/em05.png b/mobile/images/emotions/em05.png new file mode 100644 index 0000000..83d82b4 Binary files /dev/null and b/mobile/images/emotions/em05.png differ diff --git a/mobile/images/emotions/em06.png b/mobile/images/emotions/em06.png new file mode 100644 index 0000000..20d66f0 Binary files /dev/null and b/mobile/images/emotions/em06.png differ diff --git a/mobile/images/emotions/em07.png b/mobile/images/emotions/em07.png new file mode 100644 index 0000000..dcda19c Binary files /dev/null and b/mobile/images/emotions/em07.png differ diff --git a/mobile/images/emotions/em08.png b/mobile/images/emotions/em08.png new file mode 100644 index 0000000..676df26 Binary files /dev/null and b/mobile/images/emotions/em08.png differ diff --git a/mobile/images/emotions/em09.png b/mobile/images/emotions/em09.png new file mode 100644 index 0000000..94f4605 Binary files /dev/null and b/mobile/images/emotions/em09.png differ diff --git a/mobile/images/emotions/em10.png b/mobile/images/emotions/em10.png new file mode 100644 index 0000000..11f9f4c Binary files /dev/null and b/mobile/images/emotions/em10.png differ diff --git a/mobile/images/emotions/em11.png b/mobile/images/emotions/em11.png new file mode 100644 index 0000000..9979744 Binary files /dev/null and b/mobile/images/emotions/em11.png differ diff --git a/mobile/images/emotions/em12.png b/mobile/images/emotions/em12.png new file mode 100644 index 0000000..0c9d57f Binary files /dev/null and b/mobile/images/emotions/em12.png differ diff --git a/mobile/images/emotions/em13.png b/mobile/images/emotions/em13.png new file mode 100644 index 0000000..5279d49 Binary files /dev/null and b/mobile/images/emotions/em13.png differ diff --git a/mobile/images/emotions/em14.png b/mobile/images/emotions/em14.png new file mode 100644 index 0000000..7594861 Binary files /dev/null and b/mobile/images/emotions/em14.png differ diff --git a/mobile/images/emotions/emotions-black.png b/mobile/images/emotions/emotions-black.png new file mode 100644 index 0000000..3e67ef9 Binary files /dev/null and b/mobile/images/emotions/emotions-black.png differ diff --git a/mobile/images/good.png b/mobile/images/good.png new file mode 100644 index 0000000..78d97db Binary files /dev/null and b/mobile/images/good.png differ diff --git a/mobile/images/icon-pool/Apps.png b/mobile/images/icon-pool/Apps.png new file mode 100644 index 0000000..a94b624 Binary files /dev/null and b/mobile/images/icon-pool/Apps.png differ diff --git a/mobile/images/icon-pool/Archives.png b/mobile/images/icon-pool/Archives.png new file mode 100644 index 0000000..2b243dd Binary files /dev/null and b/mobile/images/icon-pool/Archives.png differ diff --git a/mobile/images/icon-pool/Home.png b/mobile/images/icon-pool/Home.png new file mode 100644 index 0000000..0758bd7 Binary files /dev/null and b/mobile/images/icon-pool/Home.png differ diff --git a/mobile/images/icon-pool/Mail.png b/mobile/images/icon-pool/Mail.png new file mode 100644 index 0000000..8d30ddd Binary files /dev/null and b/mobile/images/icon-pool/Mail.png differ diff --git a/mobile/images/icon-pool/Pages.png b/mobile/images/icon-pool/Pages.png new file mode 100644 index 0000000..d4e7c3f Binary files /dev/null and b/mobile/images/icon-pool/Pages.png differ diff --git a/mobile/images/icon-pool/RSS.png b/mobile/images/icon-pool/RSS.png new file mode 100644 index 0000000..6917a60 Binary files /dev/null and b/mobile/images/icon-pool/RSS.png differ diff --git a/mobile/images/icon-pool/Tags.png b/mobile/images/icon-pool/Tags.png new file mode 100644 index 0000000..4590512 Binary files /dev/null and b/mobile/images/icon-pool/Tags.png differ diff --git a/mobile/index.ftl b/mobile/index.ftl new file mode 100644 index 0000000..262e790 --- /dev/null +++ b/mobile/index.ftl @@ -0,0 +1,15 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + <#include "header.ftl"> + <#include "article-list.ftl"> + <#include "footer.ftl"> + + diff --git a/mobile/js/l10n.js b/mobile/js/l10n.js new file mode 100644 index 0000000..db2e814 --- /dev/null +++ b/mobile/js/l10n.js @@ -0,0 +1 @@ +function convertEntities(b){var d,a;d=function(c){if(/&[^;]+;/.test(c)){var f=document.createElement("div");f.innerHTML=c;return !f.firstChild?c:f.firstChild.nodeValue}return c};if(typeof b==="string"){return d(b)}else{if(typeof b==="object"){for(a in b){if(typeof b[a]==="string"){b[a]=d(b[a])}}}}return b}; \ No newline at end of file diff --git a/mobile/lang/lang_en_US.properties b/mobile/lang/lang_en_US.properties new file mode 100644 index 0000000..92755e9 --- /dev/null +++ b/mobile/lang/lang_en_US.properties @@ -0,0 +1,282 @@ +# +# 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: Mobile skin language configurations(en_US). +# Version: 1.0.0.3, Aug 30, 2012 +# Author: Liang Ding +# Author: Liyuan Li +# + +adminConsoleLabel=Admin +adminIndexLabel=Admin Index +postArticleLabel=Post +articleListLabel=Articles +commentListLabel=Comments +draftListLabel=Drafts +userManageLabel=Users +commonUserLabel=Common User +addUserLabel=Add User +updateUserLabel=Update User +linkManagementLabel=Links +pluginMgmtLabel=Plugins +pluginNameLabel=Name +versionLabel=Version +statusLabel=Status +enabledLabel=Enabled +disabledLabel=Disabled +enableLabel=Enable +disableLabel=Disable +preferenceLabel=Preference +localeString1Label=Language: +timeZoneId1Label=Time Zone: +adminLabel=Admin +administratorLabel=Administrator +loginLabel=Login +logoutLabel=Logout +initLabel=Initial +popTagsLabel=Popular Tags +tag1Label=Tag: +tags1Label=Tags: +recentArticlesLabel=Recent Articles +recentCommentsLabel=Recent Comments +postCommentsLabel=Post Comment +mostCommentArticlesLabel=Most Comment Articles +mostViewCountArticlesLabel=Most View Articles +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 +linkLabel=Friend Links +sumLabel= +pageLabel=Page +commentLabel=Comment +linkTitleLabel=Link Title +linkTitle1Label=Title: +updateLabel=Update +removeLabel=Remove +putTopLabel=Put Top +cancelPutTopLabel=Cancel Put Top +downloadCountLabel=Count +sizeLabel=Size +uploadDateLabel=Upload Date +downloadURLLabel=Download URL +downloadLabel=Download +createDateLabel=Create Date +updateDateLabel=Update Date +titleLabel=Title +title1Label=Title: +content1Label=Content: +abstract1Label=Summary: +publishLabel=Publish +unPublishLabel=Un Publish +urlLabel=URL +url1Label=URL (start protocol, e.g.: http://): +addLinkLabel=Add Link +updateLinkLabel=Update Link +archiveLabel=Archive +archive1Label=archive: +yearLabel= +monthLabel= +pageLabel=Page +pageMgmtLabel=Pages +othersLabel=Others +fileListLabel=Files +submitUploadLabel=Upload +fileNameLabel=File Name +paramSettingsLabel=Parameters +skinLabel=Skins +signLabel=Signs +sign1Label=Signs: +noSignLabel=No Signs +signIsNullLabel=This Sign is Null +statisticLabel=Blog Statistic +viewLabel=View +countLabel=Posts +viewCount1Label=View Count: +articleCount1Label=Article Count: +commentCountLabel=Comment Count +commentCount1Label=Comment Count: +commentEmotions1Label=Emotions: +commentEmotionsLabel=Emotions +commentName1Label=Name: +commentNameLabel=Name +commentEmail1Label=Email: +commentEmailLabel=Email +commentURL1Label=URL: +commentURLLabel=URL +commentContent1Label=Content: +commentContentLabel=Content +getDateLabel=Get Date +getArticleLabel=Get Article +selectDateLabel=Select Date +selectDate1Label=Select Date: +importLabel=Import +chooseBlog1Label=Choose Blog: +blogArticleImportLabel=Article Import +userName1Label=Username: +userPassword1Label=Password: +categoryLabel=Category +noticeBoard1Label=Notice Board: +noticeBoardLabel=Notice Board +htmlhead1Label=HTML head: +indexTagDisplayCnt1Label=Index Tag Display Count: +indexRecentArticleDisplayCnt1Label=Recent Article Display Count: +indexRecentCommentDisplayCnt1Label=Recent Comment Display Count: +indexMostCommentArticleDisplayCnt1Label=Most Comment Article Display Count: +indexMostViewArticleDisplayCnt1Label=Most View Article Display Count: +relevantArticlesDisplayCnt1Label=Relevant Article Display Count: +randomArticlesDisplayCnt1Label=Random Article Display Count: +externalRelevantArticlesDisplayCnt1Label=External Relevant Article Display Count: +windowSize1Label=Pagination Window Size: +pageSize1Label=Pagination Page Size: +blogTitle1Label=Blog Title: +blogSubtitle1Label=Blog Subtitle: +blogHost1Label=Blog Host: +submmitCommentLabel=Commit Comment +saveLabel=Save +tagLabel=Tag +tagsLabel=Tags +importedLabel=Imported +captcha1Label=Captcha: +captchaLabel=Captcha +clearAllCacheLabel=Clear all cache +clearCacheLabel=Clear cache +indexLabel=Index +nextArticle1Label=Next: +previousArticle1Label=Previous: +updatedLabel=Updated! +topArticleLabel=Top! +CSDNBlogLabel=CSDN Blog +BlogJavaLabel=BlogJava +CnBlogsLabel=CnBlogs +previousPageLabel=Previous Page +nextPagePabel=Next Page +firstPageLabel=First Page +lastPageLabel=Last Page +returnTo1Label=Return to: +tencentLabel=Tencent +appKey1Label=App Key: +appSecret1Label=App Secret: +postToTencentMicroblogWhilePublishArticleLabel=Post to Tencent microblog while publish an article: +postToCommunityLabel=Post to Community: +authorizeTencentMicroblog1Label=Click to authorize: +googleLabel=Google +OAuthConsumerSecret1Label=OAuth Consumer Secret: +atomLabel=Atom +relevantArticles1Label=Relevant Articles: +randomArticles1Label=Random Articles: +externalRelevantArticles1Label=External Relevant Articles: +metaKeywords1Label=Meta Keywords: +metaDescription1Label=Meta Description: +removeUnusedTagsLabel=Remove Unused Tags +goTopLabel=Top +permalink1Label=Permalink: +permalinkLabel=Permalink +b3logLabel=B3LOG +killBrowserLabel=

    Let's kill outdated and insecure browser!

    Let's kill outdated and insecure browser for browser evolution, human progress and better experience.

    You can download

    +readmoreLabel=Read more\u00bb +readmore2Label=Read more +replyLabel=Reply\u00bb +homeLabel=Home +enableArticleUpdateHint1Label=Enable Article Update Hint: +allowVisitDraftViaPermalink1Label=Allow Visit Draft Via Link: +author1Label=Author: +authorLabel=Author +keyOfSolo1Label=Solo Key: +articleLabel=Article +tagArticlesLabel=Tag Articles +dateArticlesLabel=Archive Date Articles +authorArticlesLabel=Author Articles +indexArticleLabel=Index Articles +allTagsLabel=Tag Cloud +customizedPageLabel=Customized Page +killBrowserPageLabel=Kill Browser Page +pageNumLabel=Page Number +#### +forbiddenLabel=Forbidden Access! +sorryLabel=Sorry! +notFoundLabel=Not Found! +unPulbishSuccLabel=Un Publish Successfully +unPulbishFailLabel=Un Publish Fail +removeSuccLabel=Remove Successfully +removeFailLabel=Remove Fail +removeUserFailSkinNeedMulUsersLabel=Remove Fail, the current skin need multiple users! +putTopSuccLabel=Put Top Successfully +putTopFailLabel=Put Top Fail +cancelTopSuccLabel=Cancel Top Successfully +cancelTopFailLabel=Cancel Top Fail +addSuccLabel=Add Successfully +addFailLabel=Add Fail +updateSuccLabel=Update Successfully +updateFailLabel=Update Fail +updatePreferenceFailNeedMulUsersLabel=Update Fail, the selected skin need multiple users! +setFailLabel=Set Fail +setSuccLabel=Set Successfully +getFailLabel=Get Fail +noSettingLabel=No Setting +getSuccLabel=Get Successfully +importSuccLabel=Import Successfully :-) +importFailLabel=Some Import Fail %>_<% +noCommentLabel=No Comment +captchaErrorLabel=Captcha Error +inputErrorLabel=Input Error! +gotoLabel=Go +passwordEmptyLabel=Password is empty +blogEmptyLabel=Blogging service is empty +blogArticleEmptyLabel=Please select articles +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.... +titleEmptyLabel=Title is empty +contentEmptyLabel=Content is empty +orderEmptyLabel=Order is empty +abstractEmptyLabel=Abstract is empty +tagsEmptyLabel=Tags is empty +addressEmptyLabel=Address is empty +noAuthorizationURLLabel=Can not retrieve authorization URL from Google, please \ +make sure the Consumer Secret you typed in and then try again. +duplicatedPermalinkLabel=Duplicated permalink! +invalidPermalinkFormatLabel=Invalid permalink format! +duplicatedEmailLabel=Duplicated email! +refreshAndRetryLabel=Please refresh and try again! +editorLeaveLabel=Content is not null, Do you leave\uff1f +editorPostLabel=Content is not null, Do you clear\uff1f +#### +confirmRemoveLabel=Are You Sure? +confirmInitLabel=Are You Sure? +mobileLabel=Mobile Theme +responses=Responses +commentSuccess=Success! Comment added. +refresh2CComment=< Refresh the page to see your comment. +readThisPost=Read This Post +skipToComment=↓ Skip to comments +searchLabel=Search +publishing=Publishing... diff --git a/mobile/lang/lang_zh_CN.properties b/mobile/lang/lang_zh_CN.properties new file mode 100644 index 0000000..a523736 --- /dev/null +++ b/mobile/lang/lang_zh_CN.properties @@ -0,0 +1,288 @@ +# +# 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: Mobile skin language configurations(zh_CN). +# Version: 1.0.0.3, Aug 30, 2012 +# Author: Liang Ding +# Author: Liyuan Li +# + +adminConsoleLabel=\u540e\u53f0\u7ba1\u7406 +adminIndexLabel=\u540e\u53f0\u9996\u9875 +postArticleLabel=\u53d1\u5e03\u6587\u7ae0 +articleListLabel=\u6587\u7ae0\u7ba1\u7406 +commentListLabel=\u8bc4\u8bba\u7ba1\u7406 +draftListLabel=\u8349\u7a3f\u5939 +userManageLabel=\u7528\u6237\u7ba1\u7406 +commonUserLabel=\u4e00\u822c\u7528\u6237 +addUserLabel=\u6dfb\u52a0\u7528\u6237 +updateUserLabel=\u66f4\u65b0\u7528\u6237 +linkManagementLabel=\u94fe\u63a5\u7ba1\u7406 +pluginMgmtLabel=\u63d2\u4ef6\u7ba1\u7406 +pluginNameLabel=\u63d2\u4ef6\u540d +versionLabel=\u7248\u672c +statusLabel=\u72b6\u6001 +enabledLabel=\u5df2\u542f\u7528 +disabledLabel=\u5df2\u7981\u7528 +enableLabel=\u542f\u7528 +disableLabel=\u7981\u7528 +preferenceLabel=\u504f\u597d\u8bbe\u5b9a +localeString1Label=\u8bed\u8a00\uff1a +timeZoneId1Label=\u65f6\u533a\uff1a +adminLabel=\u7ba1\u7406 +administratorLabel=\u7ba1\u7406\u5458 +loginLabel=\u767b\u5f55 +logoutLabel=\u767b\u51fa +initLabel=\u521d\u59cb\u5316 +popTagsLabel=\u5206\u7c7b\u6807\u7b7e +tag1Label=\u6807\u7b7e\uff1a +tags1Label=\u6807\u7b7e\uff1a +recentArticlesLabel=\u6700\u65b0\u6587\u7ae0 +recentCommentsLabel=\u6700\u65b0\u8bc4\u8bba +postCommentsLabel=\u53d1\u8868\u8bc4\u8bba +mostCommentArticlesLabel=\u8bc4\u8bba\u6700\u591a\u7684\u6587\u7ae0 +mostViewCountArticlesLabel=\u8bbf\u95ee\u6700\u591a\u7684\u6587\u7ae0 +em00Label=\u5fae\u7b11 +em01Label=\u5927\u7b11 +em02Label=\u9ad8\u5174 +em03Label=\u60b2\u4f24 +em04Label=\u54ed\u6ce3 +em05Label=\u65e0\u8bed +em06Label=\u70e6\u8e81 +em07Label=\u751f\u6c14 +em08Label=\u6211\u7785 +em09Label=\u60ca\u8bb6 +em10Label=\u9177 +em11Label=\u987d\u76ae +em12Label=\u7231\u5fc3 +em13Label=\u5fc3\u788e +em14Label=\u9b54\u9b3c +linkLabel=\u53cb\u60c5\u94fe\u63a5 +sumLabel=\u5171 +pageLabel=\u9875 +commentLabel=\u8bc4\u8bba +linkTitleLabel=\u94fe\u63a5\u6807\u9898 +linkTitle1Label=\u6807\u9898\uff1a +updateLabel=\u66f4\u65b0 +removeLabel=\u5220\u9664 +putTopLabel=\u7f6e\u9876 +cancelPutTopLabel=\u53d6\u6d88\u7f6e\u9876 +downloadCountLabel=\u4e0b\u8f7d\u6b21\u6570 +sizeLabel=\u5927\u5c0f +uploadDateLabel=\u4e0a\u4f20\u65e5\u671f +downloadURLLabel=\u4e0b\u8f7d\u5730\u5740 +downloadLabel=\u4e0b\u8f7d +createDateLabel=\u521b\u5efa\u65e5\u671f +updateDateLabel=\u66f4\u65b0\u65e5\u671f +titleLabel=\u6807\u9898 +title1Label=\u6807\u9898\uff1a +content1Label=\u6b63\u6587\uff1a +abstract1Label=\u6458\u8981\uff1a +publishLabel=\u53d1\u5e03 +unPublishLabel=\u53d6\u6d88\u53d1\u5e03 +urlLabel=URL +url1Label=URL (\u8bf7\u4ee5\u534f\u8bae\u5f00\u5934\uff0c\u5982: http://)\uff1a +addLinkLabel=\u6dfb\u52a0\u94fe\u63a5 +updateLinkLabel=\u66f4\u65b0\u94fe\u63a5 +archiveLabel=\u5b58\u6863 +archive1Label=\u5b58\u6863\uff1a +yearLabel=\u5e74 +monthLabel=\u6708 +blogSyncLabel=\u535a\u5ba2\u540c\u6b65 +pageLabel=\u9875\u9762 +pageMgmtLabel=\u9875\u9762\u7ba1\u7406 +othersLabel=\u5176\u4ed6 +fileListLabel=\u6587\u4ef6\u7ba1\u7406 +submitUploadLabel=\u4e0a\u4f20 +fileNameLabel=\u6587\u4ef6\u540d +paramSettingsLabel=\u53c2\u6570\u8bbe\u7f6e +skinLabel=\u76ae\u80a4 +signLabel=\u7b7e\u540d\u6863 +sign1Label=\u7b7e\u540d\u6863\uff1a +noSignLabel=\u4e0d\u4f7f\u7528\u7b7e\u540d\u6863 +signIsNullLabel=\u8be5\u7b7e\u540d\u6863\u4e3a\u7a7a +statisticLabel=\u535a\u5ba2\u7edf\u8ba1 +viewLabel=\u6d4f\u89c8 +countLabel=\u7bc7 +viewCount1Label=\u6d4f\u89c8\u6b21\u6570\uff1a +articleCount1Label=\u6587\u7ae0\u603b\u6570\uff1a +commentCountLabel=\u8bc4\u8bba\u6570 +commentCount1Label=\u8bc4\u8bba\u603b\u6570\uff1a +commentEmotions1Label=\u8868\u60c5\uff1a +commentEmotionsLabel=\u8868\u60c5 +commentName1Label=\u59d3\u540d\uff1a +commentNameLabel=\u59d3\u540d +commentEmail1Label=\u90ae\u7bb1\uff1a +commentEmailLabel=\u90ae\u7bb1 +commentURL1Label=URL\uff1a +commentURLLabel=URL +commentContent1Label=\u8bc4\u8bba\u5185\u5bb9\uff1a +commentContentLabel=\u8bc4\u8bba\u5185\u5bb9 +getDateLabel=\u83b7\u53d6\u65e5\u671f +getArticleLabel=\u83b7\u53d6\u6587\u7ae0 +selectDateLabel=\u9009\u62e9\u65e5\u671f +selectDate1Label=\u9009\u62e9\u65e5\u671f\uff1a +importLabel=\u5bfc\u5165 +chooseBlog1Label=\u8bf7\u9009\u62e9\u9700\u8981\u7ba1\u7406\u7684\u535a\u5ba2\uff1a +blogArticleImportLabel=\u6587\u7ae0\u5bfc\u5165 +blogSyncMgmtLabel=\u535a\u5ba2\u540c\u6b65\u7ba1\u7406 +syncMgmtLabel=\u540c\u6b65\u7ba1\u7406\u535a\u5ba2 +userName1Label=\u7528\u6237\u540d\uff1a +userPassword1Label=\u5bc6\u7801\uff1a +syncPostLabel=\u540c\u6b65\u53d1\u5e03 +syncUpdateLabel=\u540c\u6b65\u66f4\u65b0 +syncRemoveLabel=\u540c\u6b65\u5220\u9664 +categoryLabel=\u5206\u7c7b +noticeBoard1Label=\u516c\u544a\uff1a +noticeBoardLabel=\u516c\u544a +htmlhead1Label=HTML head\uff1a +indexTagDisplayCnt1Label= \u9996\u9875\u6807\u7b7e\u663e\u793a\u6570\uff1a +indexRecentArticleDisplayCnt1Label=\u6700\u65b0\u6587\u7ae0\u663e\u793a\u6570\u76ee\uff1a +indexRecentCommentDisplayCnt1Label=\u6700\u65b0\u8bc4\u8bba\u663e\u793a\u6570\u76ee\uff1a +indexMostCommentArticleDisplayCnt1Label=\u8bc4\u8bba\u6700\u591a\u6587\u7ae0\u663e\u793a\u6570\u76ee\uff1a +indexMostViewArticleDisplayCnt1Label=\u8bbf\u95ee\u6700\u591a\u6700\u591a\u6587\u7ae0\u663e\u793a\u6570\u76ee\uff1a +relevantArticlesDisplayCnt1Label=\u76f8\u5173\u9605\u8bfb\u663e\u793a\u6570\u76ee\uff1a +randomArticlesDisplayCnt1Label=\u968f\u673a\u9605\u8bfb\u663e\u793a\u6570\u76ee\uff1a +externalRelevantArticlesDisplayCnt1Label=\u7ad9\u5916\u76f8\u5173\u9605\u8bfb\u663e\u793a\u6570\u76ee\uff1a +windowSize1Label=\u5206\u9875\u9875\u7801\u6700\u5927\u5bbd\u5ea6\uff1a +pageSize1Label=\u5206\u9875\u6bcf\u9875\u663e\u793a\u6587\u7ae0\u6570\uff1a +blogTitle1Label=\u535a\u5ba2\u6807\u9898\uff1a +blogSubtitle1Label=\u535a\u5ba2\u5b50\u6807\u9898\uff1a +blogHost1Label=\u535a\u5ba2\u5730\u5740\uff1a +submmitCommentLabel=\u63d0\u4ea4\u8bc4\u8bba +saveLabel=\u4fdd\u5b58 +tagLabel=\u6807\u7b7e +tagsLabel=\u6807\u7b7e +importedLabel=\u5df2\u5bfc\u5165 +captcha1Label=\u9a8c\u8bc1\u7801\uff1a +captchaLabel=\u9a8c\u8bc1\u7801 +clearAllCacheLabel=\u6e05\u9664\u6240\u6709\u9875\u9762\u7f13\u5b58 +clearCacheLabel=\u6e05\u9664\u672c\u9875\u7f13\u5b58 +indexLabel=\u9996\u9875 +nextArticle1Label=\u65b0\u4e00\u7bc7\uff1a +previousArticle1Label=\u65e7\u4e00\u7bc7\uff1a +updatedLabel=\u6709\u66f4\u65b0\uff01 +topArticleLabel=\u7f6e\u9876\uff01 +CSDNBlogLabel=CSDN \u535a\u5ba2 +BlogJavaLabel=BlogJava +CnBlogsLabel=\u535a\u5ba2\u56ed +previousPageLabel=\u4e0a\u4e00\u9875 +nextPagePabel=\u4e0b\u4e00\u9875 +firstPageLabel=\u7b2c\u4e00\u9875 +lastPageLabel=\u6700\u540e\u4e00\u9875 +returnTo1Label=\u8fd4\u56de\uff1a +tencentLabel=\u817e\u8baf +appKey1Label=App Key: +appSecret1Label=App Secret: +postToTencentMicroblogWhilePublishArticleLabel=\u53d1\u6587\u7ae0\u65f6\u540c\u6b65\u5230\u817e\u8baf\u5fae\u535a\uff1a +postToCommunityLabel=\u53d1\u5e03\u5230\u793e\u533a\uff1a +authorizeTencentMicroblog1Label=\u70b9\u51fb\u56fe\u6807\u8fdb\u884c\u6388\u6743: +googleLabel=Google +OAuthConsumerSecret1Label=OAuth Consumer Secret\uff1a +atomLabel=Atom +relevantArticles1Label=\u76f8\u5173\u9605\u8bfb\uff1a +randomArticles1Label=\u968f\u673a\u9605\u8bfb\uff1a +externalRelevantArticles1Label=\u7ad9\u5916\u76f8\u5173\u9605\u8bfb\uff1a +metaKeywords1Label=Meta Keywords: +metaDescription1Label=Meta Description: +removeUnusedTagsLabel=\u79fb\u9664\u672a\u4f7f\u7528\u6807\u7b7e +goTopLabel=\u9876\u90e8 +permalink1Label=\u94fe\u63a5\uff1a +permalinkLabel=\u94fe\u63a5 +b3logLabel=B3LOG +killBrowserLabel=

    \u8ba9\u6211\u4eec\u653e\u5f03\u4f7f\u7528\u90a3\u4e9b\u8fc7\u65f6\u3001\u4e0d\u5b89\u5168\u7684\u6d4f\u89c8\u5668\u5427\uff01

    \u4e3a\u4e86\u8ba9\u6d4f\u89c8\u5668\u66f4\u597d\u7684\u53d1\u5c55\uff0c\u4eba\u7c7b\u66f4\u52a0\u7684\u8fdb\u6b65\uff0c\u62e5\u6709\u66f4\u597d\u7684\u4f53\u9a8c\uff0c\u8ba9\u6211\u4eec\u653e\u5f03\u4f7f\u7528\u90a3\u4e9b\u8fc7\u65f6\u3001\u4e0d\u5b89\u5168\u7684\u6d4f\u89c8\u5668\u3002

    \u60a8\u53ef\u4ee5\u4e0b\u8f7d +readmoreLabel=\u9605\u8bfb\u66f4\u591a\u00bb +readmore2Label=\u9605\u8bfb\u66f4\u591a +replyLabel=\u56de\u590d\u00bb +homeLabel=\u9996\u9875 +enableArticleUpdateHint1Label=\u542f\u7528\u6587\u7ae0\u66f4\u65b0\u63d0\u793a\uff1a +allowVisitDraftViaPermalink1Label=\u5141\u8bb8\u901a\u8fc7\u94fe\u63a5\u8bbf\u95ee\u8349\u7a3f\uff1a +author1Label=\u4f5c\u8005\uff1a +authorLabel=\u4f5c\u8005 +keyOfSolo1Label=Solo Key\uff1a +articleLabel=\u6587\u7ae0 +tagArticlesLabel=\u6807\u7b7e\u6587\u7ae0\u5217\u8868 +dateArticlesLabel=\u5b58\u6863\u6587\u7ae0\u5217\u8868 +authorArticlesLabel=\u4f5c\u8005\u6587\u7ae0\u5217\u8868 +indexArticleLabel=\u9996\u9875\u6587\u7ae0\u5217\u8868 +allTagsLabel=\u6807\u7b7e\u5899 +customizedPageLabel=\u81ea\u5b9a\u4e49\u9875\u9762 +killBrowserPageLabel=Kill Browser Page +pageNumLabel=\u9875\u53f7 +#### +forbiddenLabel=\u64cd\u4f5c\u88ab\u7981\u6b62\uff01 +sorryLabel=\u5bf9\u4e0d\u8d77\uff01 +notFoundLabel=\u627e\u4e0d\u5230\uff01 +unPulbishSuccLabel=\u53d6\u6d88\u53d1\u5e03\u6210\u529f +unPulbishFailLabel=\u53d6\u6d88\u53d1\u5e03\u5931\u8d25 +removeSuccLabel=\u5220\u9664\u6210\u529f +removeFailLabel=\u5220\u9664\u5931\u8d25 +removeUserFailSkinNeedMulUsersLabel=\u5220\u9664\u5931\u8d25\uff0c\u5f53\u524d\u4f7f\u7528\u7684\u76ae\u80a4\u9700\u8981\u591a\u7528\u6237\u652f\u6301 +putTopSuccLabel=\u7f6e\u9876\u6210\u529f +putTopFailLabel=\u7f6e\u9876\u5931\u8d25 +cancelTopSuccLabel=\u53d6\u6d88\u7f6e\u9876\u6210\u529f +cancelTopFailLabel=\u53d6\u6d88\u7f6e\u9876\u5931\u8d25 +addSuccLabel=\u6dfb\u52a0\u6210\u529f +addFailLabel=\u6dfb\u52a0\u5931\u8d25 +updateSuccLabel=\u66f4\u65b0\u6210\u529f +updateFailLabel=\u66f4\u65b0\u5931\u8d25 +updatePreferenceFailNeedMulUsersLabel=\u66f4\u65b0\u5931\u8d25\uff0c\u9700\u8981\u591a\u7528\u6237\u624d\u80fd\u4f7f\u7528\u9009\u62e9\u7684\u76ae\u80a4 +setFailLabel=\u8bbe\u7f6e\u5931\u8d25 +setSuccLabel=\u8bbe\u7f6e\u6210\u529f +getFailLabel=\u83b7\u53d6\u5931\u8d25 +noSettingLabel=\u8be5\u535a\u5ba2\u65e0\u8d26\u53f7\uff0c\u8bf7\u6dfb\u52a0 +getSuccLabel=\u83b7\u53d6\u6210\u529f +importSuccLabel=\u5bfc\u5165\u6210\u529f :-) +importFailLabel=\u90e8\u5206\u5bfc\u5165\u5931\u8d25 %>_<% +noCommentLabel=\u6682\u65e0\u8bc4\u8bba +captchaErrorLabel=\u9a8c\u8bc1\u7801\u9519\u8bef +inputErrorLabel=\u8f93\u5165\u9519\u8bef\uff01 +gotoLabel=\u8df3\u8f6c +passwordEmptyLabel=\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01 +blogEmptyLabel=\u8bf7\u9009\u62e9\u535a\u5ba2\u670d\u52a1\uff01 +blogArticleEmptyLabel=\u8bf7\u9009\u62e9\u9700\u8981\u5bfc\u5165\u7684\u6587\u7ae0 +nameTooLongLabel=\u59d3\u540d\u53ea\u80fd\u4e3a 2 \u5230 20 \u4e2a\u5b57\u7b26\uff01 +mailCannotEmptyLabel=\u90ae\u7bb1\u4e0d\u80fd\u4e3a\u7a7a\uff01 +mailInvalidLabel=\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e\uff01 +commentContentCannotEmptyLabel=\u8bc4\u8bba\u5185\u5bb9\u53ea\u80fd\u4e3a 2 \u5230 500 \u4e2a\u5b57\u7b26\uff01 +captchaCannotEmptyLabel=\u9a8c\u8bc1\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01 +loadingLabel=\u8f7d\u5165\u4e2d.... +titleEmptyLabel=\u6807\u9898\u4e0d\u80fd\u4e3a\u7a7a\uff01 +contentEmptyLabel=\u5185\u5bb9\u4e0d\u80fd\u4e3a\u7a7a\uff01 +orderEmptyLabel=\u5e8f\u53f7\u4e0d\u80fd\u4e3a\u7a7a\uff01 +abstractEmptyLabel=\u6458\u8981\u4e0d\u80fd\u4e3a\u7a7a\uff01 +tagsEmptyLabel=\u6807\u7b7e\u4e0d\u80fd\u4e3a\u7a7a\uff01 +addressEmptyLabel=\u5730\u5740\u4e0d\u80fd\u4e3a\u7a7a\uff01 +noAuthorizationURLLabel=\u4ece Google \u83b7\u53d6\u6388\u6743\u5730\u5740\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4\u60a8\u8f93\u5165\u7684 \ +Consumer Secret \u662f\u6b63\u786e\u7684\uff0c\u7136\u540e\u8fdb\u884c\u91cd\u8bd5\u3002 +duplicatedPermalinkLabel=\u94fe\u63a5\u91cd\u590d\uff01 +invalidPermalinkFormatLabel=\u975e\u6cd5\u7684\u94fe\u63a5\u683c\u5f0f\uff01 +duplicatedEmailLabel=\u90ae\u4ef6\u5730\u5740\u91cd\u590d\uff01 +refreshAndRetryLabel=\u8bf7\u5237\u65b0\u91cd\u8bd5\uff01 +editorLeaveLabel=\u7f16\u8f91\u5668\u4e2d\u8fd8\u6709\u5185\u5bb9\uff0c\u662f\u5426\u79bb\u5f00\uff1f +editorPostLabel=\u7f16\u8f91\u5668\u4e2d\u8fd8\u6709\u5185\u5bb9\uff0c\u662f\u5426\u6e05\u7a7a\uff1f +#### +confirmRemoveLabel=\u786e\u5b9a\u5220\u9664\uff1f +confirmInitLabel=\u786e\u5b9a\u8fdb\u884c\u521d\u59cb\u5316\u5417\uff1f +mobileLabel=\u79fb\u52a8\u7248 +responses=\u56de\u590d +commentSuccess=\u8bc4\u8bba\u6210\u529f\uff01 +refresh2CComment=< \u9a6c\u4e0a\u5237\u65b0\u9875\u9762\u5c31\u80fd\u770b\u5230\u8bc4\u8bba\u4e86 +readThisPost=\u9605\u8bfb\u5168\u6587 +skipToComment=↓ \u53d1\u8868\u8bc4\u8bba +searchLabel=\u641c\u7d22 +publishing=\u6b63\u5728\u63d0\u4ea4... diff --git a/mobile/macro-comments.ftl b/mobile/macro-comments.ftl new file mode 100644 index 0000000..9c345a2 --- /dev/null +++ b/mobile/macro-comments.ftl @@ -0,0 +1,182 @@ +<#macro comments commentList article> + + +
    + <#if 0 lt commentList?size> +

    + ${commentList?size} ${responses} +

    + +
      + <#list commentList as comment> +
    1. +
      +
      + ${comment.commentName} +
      + <#if "http://" == comment.commentURL> + ${comment.commentName} + <#else> + ${comment.commentName} + + <#if comment.isReply> + @ + ${comment.commentOriginalCommentName} + +
      + <#if article.commentable> +
      + + ${comment.commentDate?string("yyyy-MM-dd HH:mm:ss")} + ${replyLabel} +
      + +
      +
      +

      ${comment.commentContent}

      +
      +
      +
    2. + +
    + <#if article.commentable> +
    + +
    +

    ${postCommentsLabel}

    +

    + + +

    + +

    + + +

    + +

    + + +

    + +

    + +

    +

    + +

    + + + validate +

    +

    + +

    +

    +
    +
    + +
    + + +<#macro comment_script oId> + + + \ No newline at end of file diff --git a/mobile/macro-head.ftl b/mobile/macro-head.ftl new file mode 100644 index 0000000..3f4db2e --- /dev/null +++ b/mobile/macro-head.ftl @@ -0,0 +1,55 @@ +<#macro head title> + +${title} +<#nested> + + + + + + + + + + + + + + +${htmlHead} + \ No newline at end of file diff --git a/mobile/page.ftl b/mobile/page.ftl new file mode 100644 index 0000000..2c96aee --- /dev/null +++ b/mobile/page.ftl @@ -0,0 +1,22 @@ +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${page.pageTitle} - ${blogTitle}"> + + + + + + <#include "header.ftl"> +
    +
    + ${page.pageContent} +
    + <@comments commentList=pageComments article=page> +
    + <#include "footer.ftl"> + <@comment_script oId=page.oId> + + \ No newline at end of file diff --git a/mobile/preview.png b/mobile/preview.png new file mode 100644 index 0000000..3274a9c Binary files /dev/null and b/mobile/preview.png differ diff --git a/mobile/side.ftl b/mobile/side.ftl new file mode 100644 index 0000000..86b48c1 --- /dev/null +++ b/mobile/side.ftl @@ -0,0 +1,137 @@ +
    + <#if "" != noticeBoard> +
      +
    • +

      ${noticeBoardLabel}

      +
    • +
    • ${noticeBoard}
    • +
    +
    + + <#if 0 != recentComments?size> + +
    + + <#if 0 != mostCommentArticles?size> +
      +
    • +

      ${mostCommentArticlesLabel}

      +
    • +
    • + +
    • +
    +
    + + <#if 0 != mostViewCountArticles?size> +
      +
    • +

      ${mostViewCountArticlesLabel}

      +
    • +
    • + +
    • +
    +
    + + <#if 0 != mostUsedTags?size> +
      +
    • +

      ${popTagsLabel}

      +
    • +
    • + +
    • +
    +
    + + <#if 0 != links?size> +
      +
    • +

      ${linkLabel}

      +
    • +
    • + +
    • +
    +
    + + <#if 0 != archiveDates?size> + + +
    diff --git a/mobile/skin.properties b/mobile/skin.properties new file mode 100644 index 0000000..5e42a6a --- /dev/null +++ b/mobile/skin.properties @@ -0,0 +1,26 @@ +# +# Copyright (C) 2009, 2010, 2010, 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: Mobile skin. +# Version: 1.0.0.5, Nov 21, 2012 +# Author: Liang Ding +# + +name=Mobile +version=0.1.4 +forSolo=0.5.5 +memo=\u8bf7\u4e0d\u8981\u4ece\u90e8\u7f72\u76ee\u5f55\u4e2d\u5220\u9664\u8be5\u76ae\u80a4\uff0c\u5426\u5219\u79fb\u52a8\u8bbe\u5907\u8bbf\u95ee\u65f6\u535a\u5ba2\u5c06\u4e0d\u53ef\u7528\u3002 diff --git a/mobile/tag-articles.ftl b/mobile/tag-articles.ftl new file mode 100644 index 0000000..87d36ad --- /dev/null +++ b/mobile/tag-articles.ftl @@ -0,0 +1,24 @@ +<#include "macro-head.ftl"> + + + + <@head title="${tag.tagTitle} - ${blogTitle}"> + + + + + + <#include "header.ftl"> + + <#include "article-list.ftl"> + <#include "footer.ftl"> + + diff --git a/mobile/tags.ftl b/mobile/tags.ftl new file mode 100644 index 0000000..bc460cb --- /dev/null +++ b/mobile/tags.ftl @@ -0,0 +1,30 @@ +<#include "macro-head.ftl"> + + + + <@head title="${allTagsLabel} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    + +
    +
    + <#include "footer.ftl"> + + diff --git a/mobile/themes/core/core-images/arrow.png b/mobile/themes/core/core-images/arrow.png new file mode 100644 index 0000000..dd45625 Binary files /dev/null and b/mobile/themes/core/core-images/arrow.png differ diff --git a/mobile/themes/core/core-images/bookmarks/delicious.jpg b/mobile/themes/core/core-images/bookmarks/delicious.jpg new file mode 100644 index 0000000..d8affae Binary files /dev/null and b/mobile/themes/core/core-images/bookmarks/delicious.jpg differ diff --git a/mobile/themes/core/core-images/bookmarks/digg.jpg b/mobile/themes/core/core-images/bookmarks/digg.jpg new file mode 100644 index 0000000..9f7f4d5 Binary files /dev/null and b/mobile/themes/core/core-images/bookmarks/digg.jpg differ diff --git a/mobile/themes/core/core-images/bookmarks/magnolia.jpg b/mobile/themes/core/core-images/bookmarks/magnolia.jpg new file mode 100644 index 0000000..fcaa9ae Binary files /dev/null and b/mobile/themes/core/core-images/bookmarks/magnolia.jpg differ diff --git a/mobile/themes/core/core-images/bookmarks/newsvine.jpg b/mobile/themes/core/core-images/bookmarks/newsvine.jpg new file mode 100644 index 0000000..e7e677a Binary files /dev/null and b/mobile/themes/core/core-images/bookmarks/newsvine.jpg differ diff --git a/mobile/themes/core/core-images/bookmarks/reddit.jpg b/mobile/themes/core/core-images/bookmarks/reddit.jpg new file mode 100644 index 0000000..40c1bb8 Binary files /dev/null and b/mobile/themes/core/core-images/bookmarks/reddit.jpg differ diff --git a/mobile/themes/core/core-images/bookmarks/technorati.jpg b/mobile/themes/core/core-images/bookmarks/technorati.jpg new file mode 100644 index 0000000..bf9bdae Binary files /dev/null and b/mobile/themes/core/core-images/bookmarks/technorati.jpg differ diff --git a/mobile/themes/core/core-images/com_arrow.png b/mobile/themes/core/core-images/com_arrow.png new file mode 100644 index 0000000..04ff1d4 Binary files /dev/null and b/mobile/themes/core/core-images/com_arrow.png differ diff --git a/mobile/themes/core/core-images/comment-ajax-loader.gif b/mobile/themes/core/core-images/comment-ajax-loader.gif new file mode 100644 index 0000000..b2d30d5 Binary files /dev/null and b/mobile/themes/core/core-images/comment-ajax-loader.gif differ diff --git a/mobile/themes/core/core-images/head-close.png b/mobile/themes/core/core-images/head-close.png new file mode 100644 index 0000000..3c20e97 Binary files /dev/null and b/mobile/themes/core/core-images/head-close.png differ diff --git a/mobile/themes/core/core-images/head-fade-bk.png b/mobile/themes/core/core-images/head-fade-bk.png new file mode 100644 index 0000000..518b527 Binary files /dev/null and b/mobile/themes/core/core-images/head-fade-bk.png differ diff --git a/mobile/themes/core/core-images/menu-sprite.png b/mobile/themes/core/core-images/menu-sprite.png new file mode 100644 index 0000000..1ace965 Binary files /dev/null and b/mobile/themes/core/core-images/menu-sprite.png differ diff --git a/mobile/themes/core/core-images/onoff.jpg b/mobile/themes/core/core-images/onoff.jpg new file mode 100644 index 0000000..8e75c8e Binary files /dev/null and b/mobile/themes/core/core-images/onoff.jpg differ diff --git a/mobile/themes/core/core-images/pinstripes-classic.gif b/mobile/themes/core/core-images/pinstripes-classic.gif new file mode 100644 index 0000000..e335474 Binary files /dev/null and b/mobile/themes/core/core-images/pinstripes-classic.gif differ diff --git a/mobile/themes/core/core-images/post-arrow.png b/mobile/themes/core/core-images/post-arrow.png new file mode 100644 index 0000000..e885ceb Binary files /dev/null and b/mobile/themes/core/core-images/post-arrow.png differ diff --git a/mobile/themes/core/core-images/post-options.png b/mobile/themes/core/core-images/post-options.png new file mode 100644 index 0000000..0032cb6 Binary files /dev/null and b/mobile/themes/core/core-images/post-options.png differ diff --git a/mobile/themes/core/core-images/push-icon.png b/mobile/themes/core/core-images/push-icon.png new file mode 100644 index 0000000..3b203f5 Binary files /dev/null and b/mobile/themes/core/core-images/push-icon.png differ diff --git a/mobile/themes/core/core-images/wptouch-menu-dropper.png b/mobile/themes/core/core-images/wptouch-menu-dropper.png new file mode 100644 index 0000000..58d0f59 Binary files /dev/null and b/mobile/themes/core/core-images/wptouch-menu-dropper.png differ diff --git a/mobile/themes/core/core.js b/mobile/themes/core/core.js new file mode 100644 index 0000000..b002610 --- /dev/null +++ b/mobile/themes/core/core.js @@ -0,0 +1,221 @@ +/* + * WPtouch 1.9.x -The WPtouch Core JS File + */ + +var $wpt = jQuery.noConflict(); + +if ( ( navigator.platform == 'iPhone' || navigator.platform == 'iPod' ) && typeof orientation != 'undefined' ) { + var touchStartOrClick = 'touchstart'; +} else { + var touchStartOrClick = 'click'; +}; + +/* Try to get out of frames! */ +if ( window.top != window.self ) { + window.top.location = self.location.href +} + +$wpt.fn.wptouchFadeToggle = function( speed, easing, callback ) { + return this.animate( { + opacity: 'toggle' + }, speed, easing, callback ); +}; + +/** + * @description Cookie 相关操作 + * @static + */ +var Cookie = { + /** + * @description 读取 cookie + * @param {String} name cookie key + * @returns {String} 对应 key 的值,如 key 不存在则返回 "" + */ + readCookie: function (name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for(var i=0;i < ca.length;i++) { + var c = ca[i]; + while (c.charAt(0)==' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) == 0) return decodeURIComponent(c.substring(nameEQ.length,c.length)); + } + return ""; + }, + + /** + * @description 清除 Cookie + * @param {String} name 清除 key 为 name 的该条 Cookie + */ + eraseCookie: function (name) { + this.createCookie(name,"",-1); + }, + + /** + * @description 创建 Cookie + * @param {String} name 每条 Cookie 唯一的 key + * @param {String} value 每条 Cookie 对应的值,将被 UTF-8 编码 + * @param {Int} days Cookie 保存时间 + */ + createCookie: function (name, value, days) { + var expires = ""; + if (days) { + var date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + expires = "; expires="+date.toGMTString(); + } + document.cookie = name+"="+encodeURIComponent(value)+expires+"; path=/"; + } +}; +function wptouch_switch_confirmation(skin, e ) { + if ( document.cookie && document.cookie.indexOf( 'btouch_switch_toggle' ) > -1 ) { + // just switch + Cookie.createCookie("btouch_switch_toggle", skin, 365); + $wpt( 'a#switch-link' ).toggleClass( 'offimg' ); + setTimeout('switch_delayer()', 1250 ); + } else { + // ask first + Cookie.createCookie("btouch_switch_toggle", skin, 365); + if ( confirm( "Switch to regular view? \n \n You can switch back again in the top bar." ) ) { + $wpt( 'a#switch-link' ).toggleClass( 'offimg' ); + setTimeout( 'switch_delayer()', 1350 ); + } else { + e.preventDefault(); + e.stopImmediatePropagation(); + } + } +} + +if ( $wpt( '#prowl-success' ).length ) { + setTimeout( function() { + $wpt( '#prowl-success' ).fadeOut( 350 ); + }, 5250 ); +} +if ( $wpt( '#prowl-fail' ).length ) { + setTimeout( function() { + $wpt( '#prowl-fail' ).fadeOut( 350 ); + }, 5250 ); +} + +$wpt(function() { + var tabContainers = $wpt( '#menu-head > ul' ); + $wpt( '#tabnav a' ).bind(touchStartOrClick, function () { + tabContainers.hide().filter( this.hash ).show(); + $wpt( '#tabnav a' ).removeClass( 'selected' ); + $wpt( this ).addClass( 'selected' ); + return false; + }).filter( ':first' ).trigger( touchStartOrClick ); +}); + +function bnc_showhide_coms_toggle() { + $wpt( '#commentlist' ).wptouchFadeToggle( 350 ); + $wpt( 'img#com-arrow' ).toggleClass( 'com-arrow-down' ); + $wpt( 'h3#com-head' ).toggleClass( 'comhead-open' ); +} + +function doWPtouchReady() { + + $wpt( '#headerbar-menu a' ).bind( touchStartOrClick, function( e ){ + $wpt( '#wptouch-menu' ).wptouchFadeToggle( 350 ); + $wpt( '#headerbar-menu a' ).toggleClass( 'open' ); + }); + + $wpt( 'a#searchopen, #wptouch-search-inner a' ).bind( touchStartOrClick, function( e ){ + $wpt( '#wptouch-search' ).wptouchFadeToggle( 350 ); + }); + + $wpt( 'a#prowlopen' ).bind( touchStartOrClick, function( e ){ + $wpt( '#prowl-message' ).wptouchFadeToggle( 350 ); + }); + + $wpt( 'a#wordtwitopen' ).bind( touchStartOrClick, function( e ){ + $wpt( '#wptouch-wordtwit' ).wptouchFadeToggle( 350 ); + }); + + $wpt( 'a#gigpressopen' ).bind( touchStartOrClick, function( e ){ + $wpt( '#wptouch-gigpress' ).wptouchFadeToggle( 350 ); + }); + + $wpt( 'a#loginopen, #wptouch-login-inner a' ).bind( touchStartOrClick, function( e ){ + $wpt( '#wptouch-login' ).wptouchFadeToggle(350); + }); + + $wpt( 'a#obook' ).bind( touchStartOrClick, function() { + $wpt( '#bookmark-box' ).wptouchFadeToggle(350); + }); + + $wpt( '.singlentry img, .singlentry .wp-caption' ).each( function() { + if ( $wpt( this ).width() <= 250 ) { + $wpt( this ).addClass( 'aligncenter' ); + } + }); + + if ( $wpt( '#FollowMeTabLeftSm' ).length ) { + $wpt( '#FollowMeTabLeftSm' ).remove(); + } + + $wpt( '.post' ).fitVids(); + +} + +$wpt( document ).ready( function() { + doWPtouchReady(); +} ); + +/*! +* FitVids 1.0 +* Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com +* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ +* Released under the WTFPL license - http://sam.zoy.org/wtfpl/ +* Date: Thu Sept 01 18:00:00 2011 -0500 +*/ +(function( $ ){ + $.fn.fitVids = function( options ) { + var settings = { + customSelector: null + } + var div = document.createElement('div'), + ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0]; + div.className = 'fit-vids-style'; + div.innerHTML = '­'; + ref.parentNode.insertBefore(div,ref); + if ( options ) { + $.extend( settings, options ); + } + return this.each(function(){ + var selectors = [ + "iframe[src^='http://player.vimeo.com']", + "iframe[src^='http://www.youtube.com']", + "iframe[src^='http://www.kickstarter.com']", + "object", + "embed" + ]; + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + var $allVideos = $(this).find(selectors.join(',')); + $allVideos.each(function(){ + var $this = $(this), + height = this.tagName == 'OBJECT' ? $this.attr('height') : $this.height(), + aspectRatio = height / $this.width(); + $this.wrap('
    ').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); + $this.removeAttr('height').removeAttr('width'); + }); + }); + } +})( jQuery ); \ No newline at end of file diff --git a/mobile/themes/default/style.css b/mobile/themes/default/style.css new file mode 100644 index 0000000..9a5cf6d --- /dev/null +++ b/mobile/themes/default/style.css @@ -0,0 +1,2498 @@ +/* @override + http://beta.bravenewcode.com/wordpress/wp-content/plugins/wptouch/themes/default/style.css + http://www.bravenewcode.com/wordpress/wp-content/plugins/wptouch/themes/default/style.css +*/ + +/* +Theme Name: WPtouch Mobile Plugin & Theme For WordPress +Theme URI: http://www.bravenewcode.com/wptouch/ +Description: A slick theme for your blog or website that is shown only when visitors are using an iPhone, iPod touch, or Android Mobile Device +Author: BraveNewCode Inc. +Author URI: http://www.bravenewcode.com/ +*/ + +/* @group Body and Theme-Wide Elements */ + +body { + margin: 0; + padding: 0; + font: 12px Helvetica; + -webkit-text-size-adjust: none; + min-height: 460px; + background-repeat: repeat; + background-position: 0 0; +} + +ul { + margin: 0; + padding: 0 20px 0 20px; + list-style-type: circle; + list-style-position: outside; +} + +ol { + margin: 0; + padding: 0 25px 0 20px; + list-style-type: decimal; + list-style-position: outside; +} + +li { + margin-bottom: 5px; + color: #555; + list-style-type: disc; + text-align: left; + padding-bottom: 5px; + font-size: 12px; + margin-right: -15px; + padding-top: 0; +} + +a { + text-decoration: none; +} + +input, textarea { + font: 12px Helvetica; + max-width: 96%; +} + +img { + vertical-align: middle; +} + +code { + font-family: Courier, "Courier New", mono; + color: red; +} + +blockquote { + text-align: left; + padding: 1px 10px 1px 15px; + font-size: 90%; + border-left: 2px solid #ccc; + margin: 5px 15px; +} + +.clearer { + clear: both; +} + +.content { + margin-top: 15px; + position: relative; +} + +.result-text { + color: #475d79; + text-shadow: #eee 1px 1px 0; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; + margin-left: 10px; + letter-spacing: 0; + border-style: none; +} + +.result-text-footer { + color: #475d79; + text-shadow: #eee 1px 1px 0; + letter-spacing: 0; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; + margin-left: 10px; + text-align: center; + display: block; +} + +.pageentry h1, .mainentry h1 { + font-size: 22px; +} + +.pageentry h2, .mainentry h2 { + font-size: 18px; + text-shadow: #f9f9f9 -1px -1px 0; + text-align: left; + padding-bottom: 10px; + color: #222; +} + +.pageentry h3, .mainentry h3 { + text-align: left; + color: #666; + font-size: 15px; + border-bottom: 1px solid #adadad; + border-top: 1px solid #adadad; + padding: 10px; + font-weight: bold; + line-height: 14px; + background-color: #eee; + margin: 15px -10px; + text-shadow: #fff -1px 1px 0; +} + +.pageentry h4, .mainentry h4 { + font-size: 13px; + text-shadow: #f9f9f9 -1px -1px 0; + padding: 0 0 10px; + padding-bottom: 10px; + color: #666; +} + +.pageentry h5, .mainentry h5 { + text-shadow: #f9f9f9 -1px -1px 0; + font-size: 12px; + padding: 0; +} + +.mainentry img, #singlentry img, .pageentry img, ol.commentlist li img { + max-width: 100%; + height: auto; +} + +.fontsize { + font-size: 1.2em; + line-height: 140%; +} + +.aligncenter { + text-align: center; + margin-left: auto; + display: block; + margin-right: auto; +} + +/* @end */ + +/* @group Header */ + +#headerbar *, #wptouch-menu * { + -webkit-touch-callout: none; +} + +#headerbar { + width: 100%; + background-position: 0 0; + background-repeat: repeat-x; + height: 45px; + border-bottom: 1px solid #1e1e1e; + font-size: 19px; + -webkit-touch-callout: none; +} + +#headerbar-title { + text-shadow: #242424 -1px -1px 1px; + padding-top: 10px; + padding-left: 10px; + display: block; + margin: 0; + border-style: none; + padding-bottom: 4px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + width: 85%; + font-weight: bold; + height: 29px; +} + +#headerbar-title a { + text-decoration: none; + letter-spacing: -1px; + position: relative; + font-family: HelveticaNeue-Bold, sans-serif; +} + +#headerbar-title img#logo-icon { + position: relative; + margin-right: 7px; + max-width: 30px; + float: left; + width: 28px; + height: 28px; + padding: 0; + bottom: 1px; +} + +#headerbar-menu { + position: absolute; + top: 0; + right: 0; + margin: 0; + padding: 0; +} + +#headerbar-menu a { + height: 45px; + display: block; + background: url(../core/core-images/wptouch-menu-dropper.png) 0 0; + width: 30px; + margin: 0; + padding: 0; +} + +#headerbar-menu .open { + background-position: 0 -45px; +} + +/* @group Sub-Menu */ + +#drop-fade { + width: 100%; + display: block; + position: relative; + -webkit-box-shadow: #000 -3px 2px 3px; + text-align: right; + border-top: 1px solid #3e3e3e; + height: 20px; + top: 0; + z-index: 1; +} + +#drop-fade a.top { + margin-right: 8px; + position: relative; + bottom: 3px; + color: #eee; + text-shadow: #000000 0px -1px 1px; + display: block; + float: right; + font: bold 11px "Helvetica Neue", Helvetica, Arial, sans-serif; + height: 18px; + padding: 6px 2px 2px 0; +} + +#drop-fade #prowlopen { + padding-left: 18px; + background: url(../core/core-images/menu-sprite.png) no-repeat 2px -60px; + padding-top: 3px; + padding-bottom: 1px; + margin-top: 3px; +} + +#drop-fade #wordtwitopen { + padding-left: 18px; + background: url(../core/core-images/menu-sprite.png) no-repeat 2px -74px; +} + +#drop-fade #searchopen { + padding-left: 18px; + background: url(../core/core-images/menu-sprite.png) no-repeat 2px -94px; + height: 15px; + overflow: hidden; + padding-bottom: 0; + padding-top: 3px; + margin-top: 3px; +} + +#drop-fade #gigpressopen { + padding-left: 18px; + background: url(../core/core-images/menu-sprite.png) no-repeat 2px -109px; + padding-top: 3px; + padding-bottom: 1px; + margin-top: 3px; +} + +/* @end */ + +/* @group DropDown Menu */ + +.dropper { + width: 100%; + position: relative; + z-index: 1; + margin: 0; + padding: 0; + border-top: 1px solid #1b1b1b; + font-size: 13px; + background-color: #2c2c2c; +} + +.dropper ul { + position: relative; + list-style-type: none; + margin: 0; + padding: 0; +} + +.dropper ul#head-tags li, .dropper ul#head-cats li { + width: 100%; + margin: 0; + 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 { + border-bottom: 1px solid #1d1d1d; + background: url(../core/core-images/arrow.png) no-repeat right center; + border-top: 1px solid #363636; + padding: 0; + text-align: left; + margin: 0; +} + +.dropper ul#head-account li.text { + color: #eee; + text-shadow: #111 0 -1px 1px; + text-align: center; + background-image: none; + padding-top: 25px; + padding-bottom: 25px; + text-transform: none; +} + +.dropper ul#head-account li.text a { + display: inline; + margin: 0; + padding: 0; + text-decoration: underline; +} + +.dropper ul#head-cats li:hover, .dropper ul#head-tags li li:hover, .dropper ul#head-pages li:hover { + background-color: #222; + border-top: 1px solid #222; + position: relative; + z-index: 2; +} + +.dropper a { + font-weight: bold; + display: block; + text-shadow: #000 -1px -1px 1px; + color: #d2d2d2; + margin: 0; + width: auto; + padding: 12px 35px 12px 15px; + text-align: left; +} + +.dropper ul#head-tags a { + padding-top: 11px; + padding-bottom: 12px; +} + +.dropper ul#head-cats a { + padding-top: 12px; + padding-bottom: 12px; +} + +/* @group Tab Menus */ + +#wptouch-menu { + position: absolute; + z-index: 2; + top: 45px; + -webkit-box-shadow: #333 -6px 6px 6px; + display: none; +} + +#wptouch-menu-inner { + position: relative; +} + +#wptouch-menu-inner img { + float: left; + position: relative; + bottom: 7px; + width: 28px; + padding-right: 10px; + right: 0; +} + +#tabnav { + background-color: #444; + padding-top: 3px; + border-bottom: 1px solid #1b1b1b; + border-top: 1px solid #575757; + padding-left: 7px; + height: 38px; + margin-bottom: -1px; +} +#tabnav img{ + position: relative; + margin-top: 3px; + max-width: 30px; + float: left; + width: 28px; + height: 28px; + padding: 0; + bottom: 1px; +} +#tabnav a { + display: inline-block; + margin: 0; + padding: 2px 8px 7px; + color: #999; + text-shadow: #111 0 -1px 1px; +} + +#tabnav a.selected { + background-color: #2c2c2c; + position: relative; + z-index: 1; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border: 1px solid #1b1b1b; + margin-left: -1px; + margin-right: -1px; + color: #fff !important; + -webkit-box-shadow: #222 0px -2px 3px; + border-bottom: 1px solid #2c2c2c; + text-shadow: #000000 0 -1px 1px; +} + +#tabnav a:hover, #tabnav a:active { + color: #fff !important; +} + +/* @end */ + +/* @end */ + +/* @group WordTwit Menu */ + +#wptouch-wordtwit { + position: absolute; + border-top: 1px solid #3e3e3e; + background-color: #222; + top: 20px; + text-align: left; + z-index: 2; + left: 0; + right: 0; +} + +#wptouch-wordtwit #twitter-style-bar { + display: block; + border-top: 1px solid #1e1e1e; +} + +#wordtwit-avatar { + text-align: left; + padding-bottom: 10px; + -webkit-border-radius: 8px; + padding-left: 5px; + padding-top: 5px; + border: 1px solid #555; + background-image: none; + background-color: #444; + margin: 10px; +} + +#wordtwit-avatar img { + -webkit-box-reflect: below -1px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.8, transparent), to(white)); + border: 1px solid #222; + float: left; + margin-right: 15px; + -webkit-border-radius: 2px; + width: 32px; + height: 32px; +} + +#wptouch-wordtwit a#follow-arrow { + border-style: none; + width: 18px; + height: 18px; + position: absolute; + top: 22px; + right: 15px; + padding: 5px; + margin: 0; +} + +#wordtwit-avatar p { + padding: 0; + margin: 0; + color: #777; +} + +#wordtwit-avatar p.twitter_username { + color: #eee; + text-shadow: #222 0 -1px 1px; + font-size: 15px; + font-weight: bold; +} + +#wordtwit-avatar a { + display: inline-block; + font-size: 11px; + color: #999; + text-shadow: #222 0 -1px 0; + padding: 3px 0 0; +} + +#wptouch-wordtwit ul#tweets li { + color: #ccc; + font-size: 12px; + text-shadow: #000000 0 -1px 0; + background-image: none; + background-color: #2c2c2c; + padding: 10px 50px 10px 10px; +} + +#wptouch-wordtwit ul#tweets li:last-child { + padding-bottom: 30px; +} + +#wptouch-wordtwit li p.time { + color: #777; + font-size: 11px; + padding: 0; + margin: 0; +} + +/* @end */ + +/* @group Push Message Area */ + +#prowl-message { + color: #eee; + text-shadow: #000000 0 -1px 1px; + clear: both; + padding: 10px; + text-align: left; + font-size: 11px; + border-top: 1px solid #3e3e3e; + background-color: #222; + position: absolute; + top: 20px; + right: 0; + left: 0; +} + +#prowl-message #push-style-bar { + display: block; + border-top: 1px solid #1e1e1e; + margin-left: -10px; + margin-right: -10px; + margin-top: -10px; + padding-top: 10px; +} + +#prowl-message form p { + font-weight: bold; + font-size: 12px; + position: relative; + margin-bottom: 10px; + margin-top: 10px; + clear: both; +} + +#prowl-message label { + margin-left: 5px; +} + +#prowl-message input { + width: 60%; + -webkit-border-radius: 10px; + padding: 3px; + color: #222; + border: 1px solid #1b1b1b; + font: 14px "Helvetica Neue", Helvetica, Geneva, Arial, sans-serif; +} + +#prowl-message input#prowl-submit { + width: 100px; + text-align: center; + color: #fff; + text-shadow: #333 0 -1px 1px; + font-weight: bold; + border: 1px solid #333; + margin-top: 10px; + float: right; +} + +#prowl-message textarea { + width: 98%; + -webkit-border-radius: 10px; + padding: 3px; + color: #222; + border: 1px solid #1b1b1b; + height: 70px; + overflow: auto; + margin-top: 2px; + font: 14px "Helvetica Neue", Helvetica, Geneva, Arial, sans-serif; +} + +#prowl-message h4 { + font-size: 14px; + margin: 10px 0 15px; + padding: 0; +} + +#prowl-message img { + float: left; + margin-right: 10px; +} + +/* @group Success */ + +#prowl-success { + color: #eee; + text-shadow: #000000 0 -1px 1px; + font: bold 16px "Helvetica Neue", Helvetica, Geneva, Arial, sans-serif; + text-align: center; + background: #000 url(../core/core-images/push-success.png) no-repeat center 50px; + position: absolute; + top: 0; + left: 0; + z-index: 1000; + opacity: 0.9; + width: 90%; + margin-left: 5%; + margin-top: 25px; + -webkit-border-radius: 15px; + -webkit-box-shadow: #444 0px 0px 15px; +} + +#prowl-success p, #prowl-fail p { + margin-top: 125px; + margin-left: 20%; + margin-right: 20%; +} + +#prowl-fail { + color: #eee; + text-shadow: #000000 0 -1px 1px; + font: bold 16px "Helvetica Neue", Helvetica, Geneva, Arial, sans-serif; + text-align: center; + background: #000 url(../core/core-images/push-fail.png) no-repeat center 50px; + position: absolute; + top: 0; + left: 0; + z-index: 1000; + opacity: 0.9; + width: 90%; + margin-left: 5%; + margin-top: 25px; + -webkit-border-radius: 15px; + -webkit-box-shadow: #444 0px 0px 15px; +} + +/* @end */ + +/* @end */ + +/* @group Login & Search */ + +#wptouch-login { + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 100%; + display: none; +} + +#wptouch-login-inner { + padding-top: 8px; + width: 100%; + height: 35px; + background-repeat: repeat-x; + text-align: center; + padding-bottom: 2px; +} + +#wptouch-login input#log { + width: 120px; + -webkit-border-radius: 10px; + padding: 3px; + font-size: 13px; + color: #222; + font-weight: bold; + border: 1px solid #1b1b1b; +} + +#wptouch-login input#pwd { + width: 120px; + -webkit-border-radius: 10px; + padding: 3px; + font-size: 13px; + color: #222; + font-weight: bold; + border: 1px solid #1b1b1b; + margin-left: 5px; +} + +#wptouch-login input#logsub { + visibility: hidden; + width: 0; + height: 0; + float: left; + overflow: hidden; + display: inline; + margin: 0 0 0 -22px; + padding: 0; +} + +#wptouch-search { + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 100%; + display: none; +} + +#wptouch-search-inner { + width: 100%; + height: 40px; + background-repeat: repeat-x; + text-align: center; + padding-top: 5px; +} + +input#search { + -webkit-border-radius: 10px; + padding: 4px; + width: 80%; + font-size: 13px; + color: #222; + text-align: left; + margin-top: 6px; + border: 1px solid #1b1b1b; + font-weight: bold; +} + +input#search-submit { + display: none; +} + +img.head-close { + display: inline; + position: relative; + top: 6px; + left: 5px; +} + +/* @end */ + +/* @end */ + +/* @group Index Page */ + +.post { + background-color: #fff; + padding: 10px; + margin-bottom: 12px; + margin-right: 10px; + margin-left: 10px; + border: 1px solid #b1b1b1; + -webkit-border-radius: 8px; + position: relative; + z-index: 0; + box-shadow: rgba(255,255,255,.8) 0px 1px 0px; +} + +.big { + height: 200px; +} + +a.post-arrow { + width: 22px; + height: 21px; + float: right; + margin-top: 1px; + padding: 0; + background: #f4f4f4 url(../core/core-images/post-arrow.png) no-repeat center 8px; + border: 1px solid #ddd; + -webkit-border-radius: 5px; + -webkit-transform: scale(1.0) rotate(0deg); + -webkit-transition-duration: 0.6s; + -webkit-touch-callout: none; +} + +a.post-arrow-down { + -webkit-transform: scale(1.0) rotate(180deg); + -webkit-transition-duration: 0.6s; + background: #dfe3e3 url(../core/core-images/post-arrow.png) no-repeat center -12px; + border: 1px solid #b8b8b8; +} + +a.h2 { + color: #222; + text-decoration: none; + display: block; + margin-top: 2px; + text-align: left; + letter-spacing: -1px; + margin-bottom: 4px; + font-size: 15px; + font-weight: bold; + line-height: 19px; + margin-right: 10px; +} + +.mainentry { + color: #444; + line-height: 145%; + display: block; +} + +.mainentry p { + margin: 2% 0 1%; + padding: 0; +} + +.mainentry a.read-more { + display: block; + padding-top: 10px; + border-top: 1px solid #c1c1c1; + position: relative; + padding-left: 10px; + color: #222; + font-weight: bold; + background: url(../core/core-images/arrow.png) no-repeat right 7px; + padding-bottom: 10px; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + margin: 10px -10px -10px; +} + +.mainentry a.read-more:hover { + background-color: #dcdcdc; +} + +.comment-bubble, .comment-bubble-big { + background: -webkit-gradient(linear, left top, left bottom, from(#de939e), to(#a40717), color-stop(0.5, #be4958)); + -webkit-background-clip: padding-box; + height: 16px; + display: block; + -webkit-border-radius: 32px; + padding: 0 5px; + color: #fff; + text-shadow: #7b0805 0 1px 1px; + text-align: center; + border-style: solid; + border-width: 2px; + -webkit-box-shadow: rgba(0,0,0, .6) 0px 2px 3px; + position: absolute; + top: 3px; + font: bold 12px "Helvetica Neue", Helvetica, Geneva, Arial, sans-serif; + z-index: 1; + width: auto; +} + +.comment-bubble { + border: 2px solid #FFFFFF; + box-shadow: 0 0 2px #666666; + font-size: 10px; + height: auto; + left: 44px; + padding: 0 3px; +} + +.comment-bubble-big { + left: 36px; +} + +.nothing-shown { + margin-left: -11px; + margin-top: -11px; +} + +.archive-top { + margin: -11px -11px 7px; + -webkit-border-top-right-radius: 8px; +} + +.archive-top-right .post-arrow, .archive-top-right .post-arrow-down { + margin-right: 5px; + margin-top: 28px; +} + +.archive-top-left.month-01, #arc-top.month-02, #arc-top.month-03, #arc-top.month-04, #arc-top.month-05, #arc-top.month-06, #arc-top.month-07, #arc-top.month-08, #arc-top.month-09, #arc-top.month-10, #arc-top.month-11, #arc-top.month-12 { + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 10px; + font-weight: bold; + color: #eee; + text-shadow: #535353 0 -1px 1px; +} + +.main-navigation { + -webkit-border-radius: 8px; + background-color: #fff; + margin-bottom: 12px; + position: relative; + margin-right: 10px; + margin-left: 10px; + border: 1px solid #b1b1b1; + overflow: hidden; + font-weight: bold; + padding: 10px; +} + +.main-navigation .alignleft a { + float: left; + display: block; + background: url(../core/core-images/sprite.png) no-repeat 0 -46px; + padding-top: 3px; + padding-bottom: 3px; + padding-left: 23px; +} + +.main-navigation .alignright a { + float: right; + display: block; + padding-top: 3px; + padding-bottom: 3px; + padding-right: 35px; + background: url(../core/core-images/sprite.png) no-repeat right -26px; + position: relative; + left: 15px; +} + +/* @group Calendar CSS Icons */ + +.calendar { + text-align: center; + position: relative; + margin-bottom: 5px; + margin-right: 10px; + margin-top: 0; + border: 1px solid #c9c9c9; + -webkit-border-radius: 7px; + -webkit-background-clip: padding-box; + top: 3px; + float: left; + -webkit-box-shadow: #c6c6c6 1px 1px 3px; +} + +.cal-month { + font-size: 10px; + font-weight: bold; + color: #fff; + letter-spacing: 0; + border-bottom: 1px solid #474848; + text-transform: uppercase; + padding: 3px 15px; + -webkit-border-top-left-radius: 6px; + -webkit-border-top-right-radius: 6px; +} + +.cal-date { + color: #222; + background-color: #e9e9e9; + text-shadow: white -1px -1px 1px; + -webkit-border-bottom-left-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + letter-spacing: -2px; + font: bold 21px Helvetica, "Arial Rounded MT Bold", Geneva, sans-serif; + padding: 1px 4px 2px 0; + text-align: center; + border: 1px solid #fff; + border-top-style: none; +} + +/* @group Cal Month Colors */ + +.month-01 { + background-color: #767c8f; +} + +.month-02 { + background-color: #345abe; +} + +.month-03 { + background-color: #37838d; +} + +.month-04 { + background-color: #55b06c; +} + +.month-05 { + background-color: #409ad5; +} + +.month-06 { + background-color: #be63c5; +} + +.month-07 { + background-color: #f79445; +} + +.month-08 { + background-color: #4e1e00; +} + +.month-09 { + background-color: #a04262; +} + +.month-10 { + background-color: #284461; +} + +.month-11 { + background-color: #4d1d77; +} + +.month-12 { + background-color: #af1919; +} + +/* @end */ + +/* @end */ + +.post-author { + color: #555; + font-size: 10px; + line-height: 13px; + position: relative; + font-weight: bold; + letter-spacing: 0; + text-align: left; + width: 72%; + float: left; + padding-top: 2px; + padding-bottom: 1px; +} + +.post-author span.lead { + font-weight: normal; + font-style: normal; +} + +.post .sticky-icon { + width: 16px; + height: 16px; + display: block; + background: url(../core/core-images/sticky.png) no-repeat 0 0; + position: absolute; + left: 43px; + z-index: 1; + top: 5px; +} + +.post .sticky-icon-none { + width: 16px; + height: 16px; + display: block; + background: url(../core/core-images/sticky.png) no-repeat 0 0; + position: absolute; + left: 43px; + z-index: 1; + top: 5px; + margin-top: -12px; + margin-left: -22px; +} + +/* @end */ + +/* @group Ajax */ + +.ajax-load-more { + margin-top: 15px; + margin-right: auto; + display: block; + margin-left: auto; + width: 160px; +} + +.spin { + height: 16px; + background: url(../core/core-images/ajax-loader.gif) no-repeat; + display: inline-block; + width: 16px; + position: relative; + float: left; + top: 0; + right: 5px; +} + +a.ajax { + color: #475d79; + text-shadow: #eee 1px 1px 0; + letter-spacing: 0; + height: 16px; + font: bold 14px Helvetica, Geneva, Arial, sans-serif; + -webkit-touch-callout: none; +} + +/* @end */ + +/* @group Single Post Page */ + +a.sh2 { + letter-spacing: -1px; + margin: 0; + padding: 0 0 2px; + color: #222; + display: block; + line-height: 145%; + font-size: 19px; + font-weight: bold; + text-align: left; +} + +#singlentry { + line-height: 150%; + color: #333; + display: block; + overflow: hidden; + font-size: 14px; +} + +.single-post-meta-top { + text-align: left; + color: #999; + font-size: 10px; + font-weight: bold; + line-height: 15px; +} + +.single-post-meta-bottom { + text-align: left; + color: #666; + font-size: 11px; + border-bottom: 1px solid #adadad; + border-top: 1px solid #adadad; + padding: 10px; + font-weight: bold; + line-height: 14px; + background-color: #e5eff5; + margin: 5px -10px; + text-shadow: #fafafa 0 1px 1px; +} + +/* @group Post Options Bar */ + +.single-post-meta-bottom .post-page-nav { + font-size: 14px; + line-height: 25px; + text-indent: -99px; + margin-left: 100px; + text-align: left; + padding: 0; + margin-bottom: 10px; + letter-spacing: 0; +} + +.single-post-meta-bottom .post-page-nav a { + padding: 2px 5px 2px 8px; + background-color: #fff; + border: 1px solid #ccc; + -webkit-border-radius: 4px; + width: 16px; + margin-right: 1px; + letter-spacing: 2px; +} + +ul#post-options { + -webkit-border-bottom-left-radius: 7px; + -webkit-border-bottom-right-radius: 7px; + list-style-type: none; + background-color: #e6e6e6; + padding: 0 4px 0 0; + text-align: center; + position: relative; + margin: -5px -10px -10px; + border-top: 1px solid #fbfbfb; +} + +ul#post-options li { + margin: 0; + padding: 0; + display: inline-block; +} + +ul#post-options li a { + display: inline-block; + width: 36px; + padding: 20px 5px 16px; + margin: 2px 0 0; +} + +ul#post-options li a#oprev { + background: url(../core/core-images/post-options.png) no-repeat 5px -210px; + border-right: 1px solid #cfcfcf; + width: 34px; +} + +ul#post-options li a#onext { + background: url(../core/core-images/post-options.png) no-repeat -7px -244px; + border-left: 1px solid #cfcfcf; + width: 34px; +} + +ul#post-options li a#omail { + background: url(../core/core-images/post-options.png) no-repeat center -1px; + border-left: 1px solid #fbfbfb; + margin-left: -3px; +} + +ul#post-options li a#otweet { + background: url(../core/core-images/post-options.png) no-repeat center -82px; +} + +ul#post-options li a#facebook { + background: url(../core/core-images/post-options.png) no-repeat center -293px; +} + +ul#post-options li a#obook { + background: url(../core/core-images/post-options.png) no-repeat center -39px; + border-right: 1px solid #fbfbfb; + margin-right: -3px; +} + +/* @end */ + +/* @group Gallery / Captions */ + +#singlentry .wp-caption { + text-align: center; + font-size: 11px; + color: #999; + line-height: 13px; + max-width: 100% !important; + height: auto !important; +} + +#singlentry .gallery { + margin: 0; + padding: 0; + width: 100% !important; + height: auto !important; +} + +#singlentry .gallery dl.gallery-item img.attachment-thumbnail { + padding: 3px; + margin: 10px; + width: 50% !important; + height: auto; +} + +#singlentry .gallery dl.gallery-item { + margin: 0; +} + +#singlentry .gallery dl.gallery-item dt.gallery-icon { + margin: 0; +} + +#singlentry .gallery dl.gallery-item dd.gallery-caption { + font-size: 11px; + color: #555; +} + +/* @end */ + +/* @group Twitter / Bookmarking */ + +#twitter-box { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + margin: 10px; + background-color: #fff; +} + +#twitter-box img { + float: left; + margin-right: 5px; + position: relative; + bottom: 4px; + right: 3px; + width: 28px; + height: 28px; +} + +#twitter-box ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +#twitter-box li { + clear: both; + border-bottom: 1px solid #cbcbcb; + margin: 0; + padding: 0; +} + +#twitter-box li a { + display: block; + color: #222; + font-size: 13px; + font-weight: bold; + padding-top: 10px; + padding-bottom: 13px; + padding-left: 10px; + margin: 0; +} + +#bookmark-box { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + margin: 10px; + background-color: #fff; +} + +#bookmark-box img { + float: left; + margin-right: 5px; + position: relative; + bottom: 4px; + right: 3px; + margin-left: 3px; + margin-top: 1px; +} + +#bookmark-box ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +#bookmark-box li { + clear: both; + border-bottom: 1px solid #cbcbcb; + margin: 0; + padding: 0; +} + +#bookmark-box li a { + display: block; + color: #222; + font-size: 13px; + font-weight: bold; + padding-top: 10px; + padding-bottom: 13px; + padding-left: 10px; + margin: 0; +} + +#twitter-box li:last-child, #bookmark-box li:last-child { + border-bottom-style: none; +} + +/* @end */ + +/* @end */ + +/* @group Pages */ + +.page h2 { + font-size: 22px; + letter-spacing: -1px; + text-align: left; + line-height: 22px; + font-weight: normal; + font-style: normal; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; + position: relative; + border-style: none; + margin: 10px 0 0 42px; +} + +.pageentry { + color: #444; + padding: 2px 0 0; + line-height: 145%; + display: block; +} + +img.pageicon { + position: relative; + margin-right: 10px; + width: 32px; + height: 32px; + float: left; + margin-top: -5px; + margin-left: 0; +} + +.pageentry .wp-caption { + text-align: center; + font-size: 11px; + color: #999; + line-height: 13px; + max-width: 100% !important; + height: auto !important; +} + +/* @group Archives */ + +#wptouch-tagcloud { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + background-color: #fff; + margin-right: 10px; + margin-left: 10px; + padding: 10px; + text-align: justify; + text-transform: capitalize; + line-height: 150%; +} + +#wptouch-archives { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + background-color: #fff; + margin-right: 10px; + margin-left: 10px; +} + +#wptouch-archives a { + color: #222; + display: block; + padding-bottom: 10px; + padding-left: 10px; + background: url(../core/core-images/arrow.png) no-repeat right center; + padding-top: 10px; +} + +#wptouch-archives ul { + padding: 0; + list-style-type: none; + margin: 0; +} + +#wptouch-archives li { + border-bottom: 1px solid #ccc; + list-style-type: none; + font-weight: bold; + font-size: 14px; + color: #222; + display: block; + padding: 0; + margin-bottom: 0; + margin-left: -10px; + margin-right: -10px; +} + +#wptouch-archives li:first-child { + margin-top: -10px; +} + +#wptouch-archives li:last-child { + margin-bottom: -10px; + border-bottom-style: none; +} + +/* @end */ + +/* @group Links */ + +#wptouch-links a { + color: #222; + display: block; + background: url(../core/core-images/arrow.png) no-repeat right center; + padding: 10px 10% 10px 10px; +} + +#wptouch-links h2 { + color: #475d79; + text-shadow: #eee 1px 1px 0; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; + margin-left: 10px; + letter-spacing: 0; + border-style: none; + text-transform: capitalize; + margin-top: 20px; +} + +#wptouch-links ul { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + background-color: #fff; + list-style-type: none; + margin: 10px; + padding: 0; +} + +#wptouch-links li { + border-bottom: 1px solid #ccc; + list-style-type: none; + font-weight: bold; + font-size: 13px; + color: #333; + display: block; + padding: 0; + margin: 0; + text-shadow: #fff 0 0 0; +} + +#wptouch-links li:first-child { + border-top-style: none; +} + +#wptouch-links li:last-child { + border-bottom-style: none; +} + +/* @end */ + +/* @group Photos */ + +#wptouch-flickr { + text-align: center; + width: auto; +} + +#wptouch-flickr img { + padding: 1px; + background-color: #ccc; + margin: 5px; + width: 55px; + height: 55px; +} + +/* @end */ + +/* @group 404 */ + +#fourohfour { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + background-color: #fff; + text-align: center; + margin: 10px; + padding: 10px; +} + +/* @end */ + +/* @end */ + +/* @group Comments */ + +ol#commentlist { + list-style-type: none; + display: none; + margin: 0 10px 0; + position: relative; + padding-right: 0; + padding-bottom: 0; + padding-left: 0; + +} + +ol.commentlist li { + background-color: #fff; + padding: 10px; + border-bottom: 1px solid #dedede; + margin: 0; + overflow: hidden; + font-size: 12px; + border-right: 1px solid #b1b1b1; + border-left: 1px solid #b1b1b1; + position: relative; + line-height: 17px; + box-shadow: rgba(255,255,255,.8) 0px 1px 0px; +} + +h3#com-head { + font-weight: bold; + font-size: 13px; + -webkit-border-radius: 8px; + text-shadow: #fff 0 1px 0; + margin-left: 10px; + margin-right: 10px; + border: 1px solid #b1b1b1; + background: url("/skins/mobile/themes/core/core-images/com_arrow.png") no-repeat scroll 10px 11px #FFFFFF; + position: relative; + padding-top: 10px; + padding-bottom: 10px; + padding-left: 29px; + cursor: pointer; + display: block; +} + +h3#com-head img#com-arrow { + margin-right: 5px; + position: relative; + top: 1px; + -webkit-transform: scale(1.0) rotate(0deg); + -webkit-transition-duration: 0.6s; +} + +.comhead-open { + -webkit-border-bottom-left-radius: 0px !important; + -webkit-border-bottom-right-radius: 0px !important; + margin-bottom: -1px; + background-color: #eee !important; +} + +.com-arrow-down { + -webkit-transform: scale(1.0) rotate(90deg) !important; + -webkit-transition-duration: 0.6s !important; +} + +ol.commentlist li:first-child { + border-top: 1px solid #b1b1b1; +} + +ol.commentlist li:last-child { + border-bottom: 1px solid #b1b1b1; + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; +} + +ol.commentlist li img.avatar { + float: left; + border-right: 1px solid #f9f9f9; + margin-right: 5px; + width: 32px; + height: 32px; +} + +ol.commentlist li ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +ol.commentlist .parent { + background-color: #fefdec; +} + +ol.commentlist .parent ul.children li { + border: 1px solid #ddd; + background-color: #e9f8fd; + -webkit-border-radius: 8px; +} + +ol.commentlist ul.children .parent ul.children li.alt { + border: 1px solid #ddd; + background-color: #fff; + padding: 10px; + margin: 10px 0 0; + -webkit-border-radius: 8px; +} + +ol.commentlist ul.children .parent ul.children li.even { + border: 1px solid #ddd !important; + background-color: #f9fbf6; + padding: 10px; + margin: 10px 0 0; + -webkit-border-radius: 8px; +} + +ol.commentlist .reply a, .comdater { + position: absolute; + top: 6px; + right: 5px; + font-weight: bold; + font-size: 10px; + background-color: #e5e5e5; + padding: 1px 5px; + border: 1px solid #fff; + -webkit-border-radius: 3px; + text-shadow: #fff 0 1px 0px; +} + +ol.commentlist .comdater span { + margin-right: 3px; + border-right: 1px solid #fefefe; + display: inline-block; +} + +ol.commentlist .comdater span a { + padding-right: 7px; +} + +ol.commentlist .comdater span a:last-child { + border-right: 1px solid #ccc; + display: inline-block; +} + +ol.commentlist .comment-author { + font-weight: bold; +} + +ol.commentlist .comment-meta a { + font-size: 11px; + color: #999; +} + +.navigation.commentnav { + height: 17px; + padding-right: 0; + padding-top: 10px; + padding-left: 10px; +} + +.navigation.commentnav .alignright a { + background-repeat: no-repeat; + background-position: right -26px; + padding-right: 35px; +} + +.navigation.commentnav .alignleft a { + background-repeat: no-repeat; + background-position: left -46px; + padding-left: 25px; +} + +.comtop { + background-color: #f5f5f5; + padding-left: 0; + padding-bottom: 15px; + border-bottom: 1px solid #dedede; + margin-top: -10px; + margin-left: -10px; + margin-right: -10px; + height: 17px; +} + +.com-author a { + font-weight: bold; + text-transform: capitalize; + font-size: 13px; + text-shadow: #fff 0 1px 0; + -webkit-border-top-right-radius: 0px; +} + +.com-author { + font-weight: bold; + text-transform: capitalize; + font-size: 13px; + position: relative; + text-shadow: #fff 0 1px 0; + -webkit-border-top-right-radius: 0px; + padding-left: 10px; + padding-top: 7px; +} + +/* + +@end */ + +/* @group Leaving A Comment */ + +h3#comments, h3#respond { + color: #475d79; + text-shadow: #eee 1px 1px 0; + letter-spacing: -1px; + font-size: 17px; + padding-left: 10px; + padding-top: 20px; +} + +h3.coms-closed { + text-align: center; + margin-top: 25px; +} + +.preview { + background-color: #fdeeab; + color: #bf7b20; + font-weight: bold; + text-shadow: #fff 0 1px 1px; + font-size: 11px; +} + +.preview span { + position: absolute; + right: 62px; + top: 8px; + padding-right: 15px; +} + +p.logged { + color: #475d79; + text-shadow: #eee 1px 1px 0; + font-size: 11px; + font-weight: bold; + position: relative; + top: 2px; + margin-top: 35px; +} + +#commentForm { + margin-left: 10px; + margin-right: 10px; +} + +#commentForm input, #replyForm input, .reply-button { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + padding: 3px; + margin: 0; + font-size: 13px; + color: #444; + width: 170px; + vertical-align: middle; +} + +.reply-button { + color: #555; + font-weight: bold; + width: 25%; + opacity: 1; + background-color: #eee; + border: 1px solid #aaa; + text-shadow: #fff 0 1px 0; +} + +textarea#comment, textarea#commentReply { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + font-size: 13px; + color: #444; + height: 110px; + width: 98%; + padding: 3px; + box-shadow: rgba(255,255,255,.8) 0px 1px 0px; +} + +#loading { + position: relative; + background-color: #dedede; + -webkit-border-radius: 8px; + border: 1px solid #9fa5ac; + opacity: 0.85; + z-index: 9; + margin: 0; + bottom: 166px; + text-align: center; + width: 98%; + height: 64px; + max-width: 453px; + padding: 50px 3px 2px; +} + +#loading p { + display: inline; + position: relative; + bottom: 3px; + left: 3px; + text-shadow: #fff 0 1px 0; + font-size: 12px; + color: #2f4e71; + font-weight: bold; +} + +#commentForm label, #replyForm label { + color: #475d79; + text-shadow: #eee 1px 1px 0; + font-size: 12px; + font-weight: bold; +} + +#refresher { + -webkit-border-radius: 8px; + padding: 10px 10px 10px 18px; + border: 1px solid #b1b1b1; + background-color: #e9f5f8; + color: #475d79; + font-weight: bold; + margin-left: 10px; + margin-right: 10px; + text-shadow: #f5f5f5 0 1px 1px; + margin-top: 20px; +} + +#refresher img { + float: left; + margin-right: 3px; + margin-left: -10px; +} + +#refresher h3 { + padding: 0; + margin: 0 0 5px; + color: #475d79; + text-shadow: #f5f5f5 0 1px 1px; +} + +p.subscribe-to-comments { + padding: 8px; + -webkit-border-radius: 8px; + background-color: #eee; + border: 1px solid #adadad; +} + +p.subscribe-to-comments label { + text-shadow: #fff 0 1px 0 !important; + color: #333 !important; +} + +p.subscribe-to-comments input#subscribe { + padding-right: 3px; + vertical-align: top; +} + +#commentErrorTip, #commentErrorTipReply { + background-color: #fed4d2; + border: 1px solid red; + padding: 8px; + text-align: center; + font-weight: bold; + text-shadow: #ffecec 0 1px 0; + -webkit-border-radius: 8px; +} + +/* + + @end */ + +/* @group Text Options */ + +.full-justified { + text-align: justify; +} + +.left-justifed { + text-align: left; +} + +.small-text { + font-size: 1.1em; +} + +.medium-text { + font-size: 1.2em; +} + +.large-text { + font-size: 1.3em; +} + +/* @end */ + +/* @group Background Options */ + +.classic-wptouch-bg { + background-image: url(../core/core-images/pinstripes-classic.gif); +} + +.argyle-wptouch-bg { + background-image: url(../core/core-images/argyle-tie.gif); +} + +.horizontal-wptouch-bg { + background-image: url(../core/core-images/pinstripes-horizontal.gif); +} + +.diagonal-wptouch-bg { + background-image: url(../core/core-images/pinstripes-diagonal.gif); +} + +.skated-wptouch-bg { + background-image: url(../core/core-images/skated-concrete.gif); +} + +.grid-wptouch-bg { + background-image: url(../core/core-images/grid.gif); +} + +/* @end */ + +/* @group Footer */ + +#footer { + text-align: center; + color: #475d79; + font-size: 10px; + font-weight: bold; + text-shadow: #eee 1px 1px 0; + margin-top: 60px; + line-height: 13px; + padding: 0 0 10px; +} + +#footer p { + margin: 0; + padding: 0 25px 5px; +} + +/* @group Switch Link */ + +#wptouch-switch-link { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + margin-right: 10px; + margin-left: 10px; + margin-bottom: 20px; + position: relative; + max-width: 300px; + padding: 13px 10px 12px 8px; + color: #222; + text-shadow: #fff 0 0 0; + font-size: 13px; + text-align: left; + background-color: #fff; + box-shadow: rgba(255,255,255,.8) 0px 1px 0px; +} + +#wptouch-switch-link a { + position: relative; + display: block; + width: 77px; + background: url(../core/core-images/onoff.jpg) no-repeat left top; + height: 22px; + float: right; + left: 2px; + bottom: 5px; +} + +.offimg { + width: 77px; + background: url(../core/core-images/onoff.jpg) no-repeat 0 -22px !important; + height: 22px; +} + +/* @end */ + +/* @end */ + +/* @group WPtouch Adsense area */ + +#adsense-area { + height: 50px; + overflow: none; + margin-bottom: 12px; + background: transparent; +} + +#adsense-area iframe { + height: 50px!important; + overflow: none; +} + +/* @end */ + +/* @group No Script Overlay */ + +#noscript-wrap { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background-color: #eee; + z-index: 1000; + opacity: 0.9; +} + +#noscript { + color: #ddd; + display: block; + height: 54%; + text-shadow: #000000 -1px -1px 0; + -webkit-border-radius: 15px; + -webkit-box-shadow: #444 0px 0px 15px; + width: auto; + padding-right: 25px; + padding-left: 25px; + background: #0d0d0d url(../../images/saved.png) no-repeat center top; + padding-top: 110px; + text-align: center; + border: 3px solid #444; + font: 14px Helvetica, Arial, sans-serif; + margin: 25px; +} + +/* @end */ + +/* @group Post Thumbnails (2.9+ only) */ + +.wptouch-post-thumb-wrap { + position: relative; + margin-right: 8px; + display: block; + margin-bottom: 4px; + width: 46px; + height: 46px; + float: left; +} + +.wptouch-post-thumb img { + width: 46px; + height: 46px; +} + +.wptouch-post-thumb-wrap .thumb-top-left { + position: absolute; + top: 0; + left: 0; + height: 9px; + width: 9px; + background: url(../core/core-images/thumb-corners.png) no-repeat 0 0; +} + +.wptouch-post-thumb-wrap .thumb-top-right { + position: absolute; + top: 0; + right: 0; + width: 9px; + height: 9px; + background: url(../core/core-images/thumb-corners.png) no-repeat right top; +} + +.wptouch-post-thumb-wrap .thumb-bottom-left { + position: absolute; + bottom: 0; + left: 0; + width: 9px; + height: 9px; + background: url(../core/core-images/thumb-corners.png) no-repeat 0 -9px; +} + +.wptouch-post-thumb-wrap .thumb-bottom-right { + position: absolute; + bottom: 0; + right: 0; + width: 9px; + height: 9px; + background: url(../core/core-images/thumb-corners.png) 9px -9px; +} + +/* @end */ + +/* @group iOS 5 */ + +.ios5 #headerbar { + position: fixed; + top: 0; + z-index: 1; +} + +.ios5 #drop-fade { + position: fixed; + top: 46px; +} + +.ios5 #wptouch-menu { + position: fixed; +} + +.ios5 .content { + padding-top: 56px; +} + +.ios5 .content.single { + padding-top: 66px; +} + +.ios5 #wptouch-search { + z-index: 2; + position: fixed; +} + +/* @end */ + +/* @group Compatibility */ + +#livefyre { + margin-left: 9px; + margin-right: 9px; + width: 100%; + background-color: #fff; + border: 1px solid #CCC; + -webkit-border-radius: 8px; + padding: 10px; +} + +#wwsgd-optin, #outbrain_container_0_stripBox, #outbrain_container_0_stars, .linkedin_share_container, .dd_post_share, .tweetmeme_button, #dd_ajax_float { + display: none; +} + +/* @group Dynamic Contact Form */ + +#dwp-contact-button, .dwpcontact-page { + display: none !important; +} + +/* @end */ + +/* @group Banner Cycler */ + +#cycler, #cyclerNav { + display: none; +} + +/* @end */ + +/* @group Gravity Forms */ + +.gform_wrapper li, .gform_wrapper form li { + list-style-type: none!important; + padding-left: 30px; +} + +.gform_wrapper .gform_footer { + margin-top: 0; + margin-left: 20px; +} + +body.wptouch-pro .post .gform_wrapper .gform_body ul.gform_fields { + text-indent: 0!important; + margin: 0; + padding: 0 +} + +body.wptouch-pro .post .gform_wrapper .gform_body ul.gform_fields li { + padding-left: 0!important +} + + + +/* @end */ + +/* @group WP Skypscraper */ + +.wp_skyscraper_c2 { + display: none; +} + +/* @end */ + +/* @group AddThis / Tweet This */ + +.addthis_container { + display: none !important; +} + +a.tt { + display: none !important; +} + +/* @end */ + +/* @group Peter's Anti Spam Support */ + +#secureimgdiv img#cas_image { + -webkit-border-radius: 2px !important; + border: 1px solid #adadad !important; + width: auto !important; + height: 21px !important; + float: left !important; +} + +#secureimgdiv p label { + color: #475d79; + text-shadow: #eee 1px 1px 0; + font-size: 14px; + font-weight: bold; +} + +#secureimgdiv p small { + display: block; + margin-top: 5px; + font-size: 11px; + text-align: justify; +} + +#secureimgdiv p input#securitycode { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + padding: 3px; + margin: 0 0 0 0; + font-size: 13px; + color: #444; + width: 101px; + -webkit-border-top-left-radius: 1px; + -webkit-border-bottom-left-radius: 1px; +} + +/* @end */ + +/* @group Ribbon Manager Plugin Override */ + +a#ribbon { + display: none !important; +} + +/* @end */ + +/* @group Subscribe To Comments */ + +p.subscribe-to-comments { + padding: 8px; + -webkit-border-radius: 8px; + background-color: #fff; + border: 1px solid #adadad; +} + +p.subscribe-to-comments label { + text-shadow: #fff 0 1px 0 !important; + color: #333 !important; +} + +p.subscribe-to-comments input#subscribe { + padding-right: 3px; + vertical-align: top; + width: auto; + height: auto; +} + +.commentlist p.subscribe-to-comments { + +} + +/* @end */ + +/* @group Digg Box */ + +span.db-body { + display: none; +} + +/* @end */ + +/* @group WP Thread Comment */ + +p.thdrpy, p.thdmang { + display: inline; + margin-right: 10px; +} + +/* @end */ + +/* @group WP Greet Box */ + +#greet_block { + display: none; +} + +/* @end */ + +/* @group Comment Reply Notification */ + +#commentForm input#comment_mail_notify { + margin-right: 5px; + margin-top: 15px; + margin-bottom: 5px; +} + +/* @end */ + +/* @group Share and Follow */ + +.footer #follow.right { + display: none !important; +} + +.content ul.socialwrap { + display: none; +} + +/* @end */ + +/* @group Disqus */ + +#disqus_thread { + -webkit-border-radius: 8px; + border: 1px solid #adadad; + background-color: #fff; + padding: 10px; + margin-left: 10px; + margin-right: 10px; + margin-top: 50px; +} + +/* @end */ + +/* @group WP Tweet Button */ + +#content .tw_button { + display: none !important; +} + +/* @end */ + +/* @group Follow Me */ + +#followMeTabLeftSm, #followMeTabLeftSm img { + display: none !important; + height: 0 !important; + width: 0 !important; + visibility: hidden !important; + position: -1000em !important; +} + +/* @end */ + +/* @group Comment Quicktags */ + +#commentForm #ed_toolbar { + margin-left: 9px; +} + +#commentForm #ed_toolbar .ed_button { + width: auto !important; + margin-bottom: 10px; + margin-top: 5px; + margin-right: 3px; + -webkit-border-radius: 4px !important; + padding: 2px 6px !important; + font-size: 11px; + font-weight: bold; +} + +/* @end */ + +/* @group Zenbox */ + +#zenbox_tab {display: none !important;} + + + +/* @end */ + +/* @group AttentionGrabber */ + +#attentionGrabber, #attentionGrabberWrap #openAttentionGrabber { + display: none !important; +} + + + +/* @end */ + +/* @group smartPop-Up Box */ + +#smartPopupfade, #pietimerholder { + display: none !important; +} + + + +/* @end */ + +/* @group Mega Dropdown */ + +.megadropdown-wrapper { + display: none !important; +} + + + +/* @end */ + +/* @group Easy Button */ + +.buttonfixed { + display: none !important; +} + + + +/* @end */ + +/* @group AS Sharebar */ + +#as-share-window { + display:none !important; +} + + + +/* @end */ + + + +/* @end */ \ No newline at end of file diff --git a/timeline/article-list.ftl b/timeline/article-list.ftl new file mode 100644 index 0000000..1b9d3e7 --- /dev/null +++ b/timeline/article-list.ftl @@ -0,0 +1,59 @@ +
    +
    +
    + <#list articles as article> +
    +
    +
    +
    + +

    + + ${article.articleTitle} + + <#if article.hasUpdated> + + ${updatedLabel} + + + <#if article.articlePutTop> + + ${topArticleLabel} + + +

    +

    + ${article.articleAbstract} +

    + + <#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>, + + + + + + + <#if article.articleCommentCount == 0> + ${noCommentLabel} + <#else> + ${article.articleCommentCount} + + + + + + ${article.articleViewCount} + + +
    +
    + + <#if paginationCurrentPageNum != paginationPageCount && 0 != paginationPageCount> +
    ${moreLabel}
    + +
    +
    \ No newline at end of file diff --git a/timeline/article.ftl b/timeline/article.ftl new file mode 100644 index 0000000..b9e5df6 --- /dev/null +++ b/timeline/article.ftl @@ -0,0 +1,97 @@ +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${article.articleTitle} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    +
    +
    + +

    + + ${article.articleTitle} + + <#if article.hasUpdated> + + ${updatedLabel} + + + <#if article.articlePutTop> + + ${topArticleLabel} + + +

    +

    + ${article.articleContent} +

    + <#if "" != article.articleSign.signHTML?trim> +

    + ${article.articleSign.signHTML} +

    + + + <#list article.articleTags?split(",") as articleTag><#if articleTag_has_next>, + + + + + + + + <#if article.articleCommentCount == 0> + ${noCommentLabel} + <#else> + ${article.articleCommentCount} + + + + + + ${article.articleViewCount} + + +
    +
    + <#if nextArticlePermalink??> + + + <#if previousArticlePermalink??> + + +
    + <@comments commentList=articleComments article=article> +
    +
    +
    + <#include "footer.ftl"> + <@comment_script oId=article.oId> + + diff --git a/timeline/author-articles.ftl b/timeline/author-articles.ftl new file mode 100644 index 0000000..b7c48de --- /dev/null +++ b/timeline/author-articles.ftl @@ -0,0 +1,21 @@ +<#include "macro-head.ftl"> + + + + <@head title="${authorName} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> + + <#include "article-list.ftl"> + <#include "footer.ftl"> + + diff --git a/timeline/css/timeline.css b/timeline/css/timeline.css new file mode 100644 index 0000000..e7bafcf --- /dev/null +++ b/timeline/css/timeline.css @@ -0,0 +1,728 @@ +/* + * 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. +*/ +/* +* timeline skin style. +* +* @author Liyuan Li +* @version 1.0.1.0, Jan 30, 2013 +*/ +/* start reset */ +html, body { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + margin: 0; + padding: 0; + height: 100%; +} + +body { + font: 0.81em Verdana, arial, '\5fae\8f6f\96c5\9ed1'; + color: #666666; + background-color: #363A3D; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; + font-family: Verdana, arial,'\5fae\8f6f\96c5\9ed1'; + outline: none; +} + +a { + color: #6599C6; + outline: medium none; + text-decoration: none; + transition: color 1s ease 0s; +} + +a:hover { + color: #000; +} + +img { + max-width: 100%; + border: 0; + vertical-align: middle; +} + +::selection { + background-color: #D5D5D5; + color: #FCFCFC; +} + +::-moz-selection { + background-color: #D5D5D5; + color: #FCFCFC; +} +/* end reset */ + +/* start function */ +.left { + float: left; +} + +.right { + float: right; +} + +.clear { + background-color: transparent; + border: 0; + clear: both; + display: block; + font-size: 0; + height: 0; + line-height: 0; + overflow: hidden; +} + +.none { + display: none; +} + +.fn-clear:before, +.fn-clear:after { + display: table; + content: ""; +} + +.fn-clear:after { + clear: both; +} +/* end function */ + +/* start common */ +.em00, .em01, .em02, .em03, .em04, .em05, .em06, .em07, .em08, .em09, +.em10, .em11, .em12, .em13, .em14 { + cursor: pointer; + background-image: url("../../ease/images/emotions/emotions-ease.png"); + float: left; + height: 24px; + margin-right: 5px; + width: 24px; + transition: all .2s ease-out; + -webkit-transition: all .2s ease-out; + -moz-transition: all .2s ease-out; +} + +#emotions span:hover { + transform: scale(1.2) rotate(360deg); + -webkit-transform: scale(1.2) rotate(360deg); + -moz-transform: scale(1.2) rotate(360deg); +} + +.em01 { + background-position: -24px 0; +} +.em02 { + background-position: -48px 0; +} +.em03 { + background-position: -72px 0; +} +.em04 { + background-position: -96px 1px; +} +.em05 { + background-position: 0 -24px; +} +.em06 { + background-position: -24px -24px; +} +.em07 { + background-position: -48px -24px; +} +.em08 { + background-position: -72px -24px; +} +.em09 { + background-position: -96px -24px; +} +.em10 { + background-position: 0 -48px; +} +.em11 { + background-position: -24px -48px ; +} +.em12 { + background-position: -48px -48px; +} +.em13 { + background-position: -72px -48px; +} +.em14 { + background-position: -96px -48px; +} + +#tags { + margin: 0; +} + +#tags li { + float: left; + list-style-type: none; + height: 45px; +} + +#tags a { + background-color: #FCFCFC; + box-shadow: 0 0 2px #D5D5D5; + display: block; + margin: 5px 10px; + padding: 5px 10px; +} + +#tags a:hover { + text-shadow: 0 0 2px; + text-decoration: none; + box-shadow: 0 0 4px #D5D5D5; +} + +#tags b { + font-size: 70%; + opacity: 0.6; + filter: alpha(opacity=60); +} + +.tags1, .tags1:visited { + font-size: 12px; + color: #a7a7a7; +} + +.tags2, .tags2:visited { + font-size: 14px; + color: #808080; +} + +.tags3, .tags3:visited { + font-size: 16px; + color: #595959; +} + +.tags4, .tags4:visited { + font-size: 18px; + color: #323232; +} + +.tags5, .tags5:visited { + font-size: 20px; + color: #0a0a0a; +} + +.module { + background-color: #FFFFFF; + border: 1px solid #BEC3C7; + border-radius: 5px 5px 5px 5px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + margin-bottom: 30px; + padding: 15px; + word-wrap: break-word; + position: relative; +} + +.module > h3 { + margin: 0 0 10px 0; + color: #444; +} + +.module > ul { + list-style-type: none; + padding-left: 0; + margin: 0; + overflow: hidden; +} + +.module > ul > li { + border-top: 1px solid #EEEEEE; + padding: 6px 0; +} +/* end common */ + +/* start icon */ +.articles .arrow, +.ico-author, +.ico-tags, +.ico-comment, +.ico-top, +.ico-view, +.ico-reply, +.ico-translate, +#search { + background-repeat: no-repeat; + background-image: url("../../timeline/images/icons.png"); +} + +.ico-author, +.ico-tags, +.ico-comment, +.ico-view, +.ico-reply { + padding-left: 20px; + background-position: -1px -63px; + margin-right: 10px; +} + +.ico-tags { + background-position: -1px -83px; +} + +.ico-comment { + background-position: -1px -41px; +} + +.ico-view { + background-position: 0 -122px; +} + +.ico-reply { + background-position: 0 -162px; +} + +.ico-translate { + background-position: 0 -186px; + cursor: pointer; + float: right; + height: 16px; + margin-left: 10px; + width: 16px; +} + +#search { + background-position: 5px -138px; + border: medium none; + border-radius: 12px 12px 12px 12px; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.4) inset, 0 1px 0 rgba(255, 255, 255, 0.1); + color: #A5A099; + height: 22px; + margin-top: 13px; + padding-left: 25px; + transition: width 0.7s ease 0s; + width: 60px; +} + +#search:focus { + color: #333; + width: 140px; +} + +.ico-top { + background-color: #363A3D; + background-position: 4px -100px; + border-radius: 20em 20em 20em 20em; + bottom: 60px; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.3) inset, 0 1px 0 rgba(255, 255, 255, 0.15); + height: 25px; + position: fixed; + left: 90%; + width: 25px; + cursor: pointer; +} + +.ico-next, +.ico-pre { + background-color: #6599C6; + border-radius: 10em 10em 10em 10em; + color: #FFFFFF; + display: block; + float: left; + font: 20px/100% "Times New Roman",Times,serif; + height: 28px; + margin: -8px 10px 0 0; + padding: 4px 0 0; + text-align: center; + transition: background 1s ease 0s; + width: 32px; +} + +.ico-next { + float: right; + margin: -8px 0 0 10px; +} + +a:hover > .ico-next, +a:hover > .ico-pre { + background-color: #000; +} +/* end icon */ + +/* start framework */ +.wrapper { + min-width: 500px; + padding: 50px 0; + background: url("../../timeline/images/bg.png") repeat scroll 0 0 #DEE4EA; +} + +.header { + background-color: #BFBFBF; + background-image: url("../../timeline/images/nav-bg.png"), linear-gradient(#CCCCCC, #A9A9A9); + background-image: url("../../timeline/images/nav-bg.png"), -ms-linear-gradient(#CCCCCC, #A9A9A9); + background-image: url("../../timeline/images/nav-bg.png"), -o-linear-gradient(#CCCCCC, #A9A9A9); + background-image: url("../../timeline/images/nav-bg.png"), -webkit-linear-gradient(#CCCCCC, #A9A9A9); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#CCCCCC', endColorstr='#A9A9A9'); + border-bottom: 1px solid #898989; + box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.3) inset, 0 1px 1px rgba(0, 0, 0, 0.2); + height: 50px; + overflow: hidden; +} + +.container { + width: 80%; + margin: 0 auto; +} + +.footer { + border-top: 1px solid #232323; + padding: 20px 0; + color: #ddd; + font-size: 80%; +} + +.footer a { + color: #9CC0DE; +} + +.footer a:hover { + text-decoration: underline; +} +/* end framework */ + +/* start header */ +.header .title { + font-size: 150%; + margin: 3px 0 0; +} + +.header .title a { + color: #414141; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7); +} + +.header li a { + color: #444; + padding: 17px; + line-height: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7); + white-space: nowrap; +} + +.header li a.current { + border-bottom: 2px solid #D26911; +} + +.header a:hover { + color: #000; +} + +.header li { + float: left; + list-style-type: none; +} +/* end header */ + +/* start article list */ +.articles { + position: relative; + margin-top: 11px; +} + +.articles > div.fn-clear { + position: relative; + margin-bottom: 50px; +} + +.articles > div.fn-clear > h2 { + margin: 0; + text-align: center; + height: 28px; +} + +.articles > .vertical { + background-color: #9EB5C6; + border-radius: 20em 20em 20em 20em; + box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5) inset, 0 0 1px 0 rgba(255, 255, 255, 0.6); + height: 100%; + left: 50%; + margin-left: -3px; + position: absolute; + top: 0; + width: 6px +} + +.articles article { + width: 50%; +} + +.articles article.l > div.module { + margin-right: 30px; + left: 0; +} + +.articles article.r { + left: 50%; +} + +.articles article.r > div { + margin-left: 30px; + position: relative; +} + +.articles .dot { + background-color: #FFFFFF; + border: 3px solid #60829F; + border-radius: 20em 20em 20em 20em; + height: 6px; + position: absolute; + right: -37px; + top: 22px; + width: 6px; +} + +.articles .r .dot { + left: -37px; + right: inherit; +} + +.articles .arrow { + height: 15px; + position: absolute; + right: -9px; + top: 21px; + width: 9px; +} + +.articles .r .arrow { + background-position: 0 -22px; + left: -9px; + right: inherit +} + +time.article-time { + top: -8px; + left: 50%; + position: absolute; +} + +time.article-time > span { + background-color: #FFFFFF; + border: 1px solid #A8A9A9; + border-radius: 20em 20em 20em 20em; + font-size: 80%; + margin-left: -56px; + padding: 5px 10px; +} + +article .article-title { + margin: 10px 0 0 0; +} + +article .article-title > sup { + color: #6599C6; + font-size: 70%; +} + +article .article-title a { + color: #000; + text-decoration: none; +} + +.ico > a { + color: #999999; + font-size: 80%; + text-decoration: none; +} + +.ico > a:hover { + color: #000; +} + +.article-more { + background-color: #60829F; + border-radius: 20em 20em 20em 20em; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset, 0 1px 0 rgba(255, 255, 255, 0.6); + color: #FFFFFF; + cursor: pointer; + font-weight: bold; + height: 19px; + left: 50%; + margin-left: -38px; + padding: 5px 20px; + position: absolute; + text-align: center; + top: 100%; + width: 36px; +} + +.article-archive { + background-color: #60829F; + border-radius: 20em 20em 20em 20em; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset, 0 1px 0 rgba(255, 255, 255, 0.6); + color: #FFFFFF; + font-size: 80%; + font-weight: normal; + padding: 5px 20px; +} +/* end article list */ + +/* start dynamic */ +.dynamic-l { + float: left; + width: 70%; +} + +.dynamic-l > div { + margin-right: 30px; +} + +.dynamic-r { + float: right; + width: 30%; +} + +.dynamic-r .tags a, +.links a { + line-height: 24px; +} +/* end dynamic */ + +/* start comments */ +#comments { + margin: 30px 0 50px; + position: relative; +} + +.comments > li > img { + height: 60px; + width: 60px; + border-radius: 30px; + float: left; + margin-right: 15px; +} + +.comments .author { + font-size: 130%; + font-style: italic; +} + +.comments > li > div > p { + padding-left: 75px; +} + +.module > ul > li.comment-body-ref { + background-color: #FFFFFF; + border: 1px solid #ddd; + left: 76px; + opacity: 0.8; + filter: alpha(opacity=80); + padding: 10px; + position: absolute; + width: 74%; + border-radius: 10px; +} + +.comment-body-ref .ico-reply { + display: none; +} + +.comment-form { + width: 100%; + margin: 30px 0; +} + +#commentForm { + margin-top: 0; +} + +.comment-form input[type='text'], +.comment-form textarea { + background: url("../../timeline/images/bg.png") repeat scroll 0 0 #E5E8EA; + border: 1px solid #BCBDBE; + border-radius: 5px 5px 5px 5px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset; + margin: 5px 5px 5px 0; + padding: 6px; +} + +.comment-form input[type='text']:focus, +.comment-form textarea:focus { + background-color: #EFEFEF; + outline: medium none; +} + +#submitCommentButton, +#submitCommentButtonReply { + background: none repeat scroll 0 0 #868889; + border: 1px solid #5D6265; + border-radius: 10em 10em 10em 10em; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset, 0 1px 1px rgba(0, 0, 0, 0.3); + color: #FFFFFF; + cursor: pointer; + padding: 5px 20px; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); +} + +#submitCommentButton:hover, +#submitCommentButtonReply:hover { + color: #fff; + background-color: #444; +} +/* end comments */ + +/* start others */ +.nav-abs { + background-color: #6B6B6B; + border: 1px solid #898989; + border-radius: 5px 5px 5px 5px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) inset, 0 1px 0 rgba(255, 255, 255, 0.7), 0 -1px 0 rgba(255, 255, 255, 0.6); + color: #CCCCCC; + padding: 5px 10px; + position: absolute; + right: 30px; + top: 61px; + z-index: 1; + text-align: center; + white-space: nowrap; +} + +.nav-abs li { + background-color: #DEDDDD; + color: #616161; + cursor: pointer; + height: 20px; + list-style-type: none; + min-width: 54px; + padding: 3px 5px; +} + +.nav-abs li.year { + color: #CCCCCC; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); + background-color: #6B6B6B; +} + +.nav-abs li:hover { + background-color: #EFEEEE; + color: #000; +} + +.nav-abs li.year:hover { + background-color: #353535; + color: #fff; +} +/* end others */ \ No newline at end of file diff --git a/timeline/css/timeline.min.css b/timeline/css/timeline.min.css new file mode 100644 index 0000000..1a56467 --- /dev/null +++ b/timeline/css/timeline.min.css @@ -0,0 +1,111 @@ +html,body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;margin:0;padding:0;height:100%;} +body{font:0.81em Verdana,arial,'\5fae\8f6f\96c5\9ed1';color:#666666;background-color:#363A3D;} +button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;font-family:Verdana,arial,'\5fae\8f6f\96c5\9ed1';outline:none;} +a{color:#6599C6;outline:medium none;text-decoration:none;transition:color 1s ease 0s;} +a:hover{color:#000;} +img{max-width:100%;border:0;vertical-align:middle;} +::selection{background-color:#D5D5D5;color:#FCFCFC;} +::-moz-selection{background-color:#D5D5D5;color:#FCFCFC;} +.left{float:left;} +.right{float:right;} +.clear{background-color:transparent;border:0;clear:both;display:block;font-size:0;height:0;line-height:0;overflow:hidden;} +.none{display:none;} +.fn-clear:before,.fn-clear:after{display:table;content:"";} +.fn-clear:after{clear:both;} +.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{cursor:pointer;background-image:url("../../ease/images/emotions/emotions-ease.png");float:left;height:24px;margin-right:5px;width:24px;transition:all 0.2s ease-out;-webkit-transition:all 0.2s ease-out;-moz-transition:all 0.2s ease-out;} +#emotions span:hover{transform:scale(1.2) rotate(360deg);-webkit-transform:scale(1.2) rotate(360deg);-moz-transform:scale(1.2) rotate(360deg);} +.em01{background-position:-24px 0;} +.em02{background-position:-48px 0;} +.em03{background-position:-72px 0;} +.em04{background-position:-96px 1px;} +.em05{background-position:0 -24px;} +.em06{background-position:-24px -24px;} +.em07{background-position:-48px -24px;} +.em08{background-position:-72px -24px;} +.em09{background-position:-96px -24px;} +.em10{background-position:0 -48px;} +.em11{background-position:-24px -48px;} +.em12{background-position:-48px -48px;} +.em13{background-position:-72px -48px;} +.em14{background-position:-96px -48px;} +#tags{margin:0;} +#tags li{float:left;list-style-type:none;height:45px;} +#tags a{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;display:block;margin:5px 10px;padding:5px 10px;} +#tags a:hover{text-shadow:0 0 2px;text-decoration:none;box-shadow:0 0 4px #D5D5D5;} +#tags b{font-size:70%;opacity:0.6;filter:alpha(opacity=60);} +.tags1,.tags1:visited{font-size:12px;color:#a7a7a7;} +.tags2,.tags2:visited{font-size:14px;color:#808080;} +.tags3,.tags3:visited{font-size:16px;color:#595959;} +.tags4,.tags4:visited{font-size:18px;color:#323232;} +.tags5,.tags5:visited{font-size:20px;color:#0a0a0a;} +.module{background-color:#FFFFFF;border:1px solid #BEC3C7;border-radius:5px 5px 5px 5px;box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);margin-bottom:30px;padding:15px;word-wrap:break-word;position:relative;} +.module>h3{margin:0 0 10px 0;color:#444;} +.module>ul{list-style-type:none;padding-left:0;margin:0;overflow:hidden;} +.module>ul>li{border-top:1px solid #EEEEEE;padding:6px 0;} +.articles .arrow,.ico-author,.ico-tags,.ico-comment,.ico-top,.ico-view,.ico-reply,.ico-translate,#search{background-repeat:no-repeat;background-image:url("../../timeline/images/icons.png");} +.ico-author,.ico-tags,.ico-comment,.ico-view,.ico-reply{padding-left:20px;background-position:-1px -63px;margin-right:10px;} +.ico-tags{background-position:-1px -83px;} +.ico-comment{background-position:-1px -41px;} +.ico-view{background-position:0 -122px;} +.ico-reply{background-position:0 -162px;} +.ico-translate{background-position:0 -186px;cursor:pointer;float:right;height:16px;margin-left:10px;width:16px;} +#search{background-position:5px -138px;border:medium none;border-radius:12px 12px 12px 12px;box-shadow:0 1px 0 rgba(0, 0, 0, 0.4) inset,0 1px 0 rgba(255, 255, 255, 0.1);color:#A5A099;height:22px;margin-top:13px;padding-left:25px;transition:width 0.7s ease 0s;width:60px;} +#search:focus{color:#333;width:140px;} +.ico-top{background-color:#363A3D;background-position:4px -100px;border-radius:20em 20em 20em 20em;bottom:60px;box-shadow:0 -1px 2px rgba(0, 0, 0, 0.3) inset,0 1px 0 rgba(255, 255, 255, 0.15);height:25px;position:fixed;left:90%;width:25px;cursor:pointer;} +.ico-next,.ico-pre{background-color:#6599C6;border-radius:10em 10em 10em 10em;color:#FFFFFF;display:block;float:left;font:20px/100% "Times New Roman",Times,serif;height:28px;margin:-8px 10px 0 0;padding:4px 0 0;text-align:center;transition:background 1s ease 0s;width:32px;} +.ico-next{float:right;margin:-8px 0 0 10px;} +a:hover>.ico-next,a:hover>.ico-pre{background-color:#000;} +.wrapper{min-width:500px;padding:50px 0;background:url("../../timeline/images/bg.png") repeat scroll 0 0 #dee4ea;} +.header{background-color:#BFBFBF;background-image:url("../../timeline/images/nav-bg.png"),linear-gradient(#cccccc, #a9a9a9);background-image:url("../../timeline/images/nav-bg.png"),-ms-linear-gradient(#cccccc, #a9a9a9);background-image:url("../../timeline/images/nav-bg.png"),-o-linear-gradient(#cccccc, #a9a9a9);background-image:url("../../timeline/images/nav-bg.png"),-webkit-linear-gradient(#cccccc, #a9a9a9);filter:progid:dximagetransform.microsoft.gradient(GradientType=0, startColorstr='#CCCCCC', endColorstr='#A9A9A9');border-bottom:1px solid #898989;box-shadow:0 -1px 0 rgba(255, 255, 255, 0.3) inset,0 1px 1px rgba(0, 0, 0, 0.2);height:50px;overflow:hidden;} +.container{width:80%;margin:0 auto;} +.footer{border-top:1px solid #232323;padding:20px 0;color:#ddd;font-size:80%;} +.footer a{color:#9CC0DE;} +.footer a:hover{text-decoration:underline;} +.header .title{font-size:150%;margin:3px 0 0;} +.header .title a{color:#414141;text-shadow:0 1px 0 rgba(255, 255, 255, 0.7);} +.header li a{color:#444;padding:17px;line-height:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.7);white-space:nowrap;} +.header li a.current{border-bottom:2px solid #D26911;} +.header a:hover{color:#000;} +.header li{float:left;list-style-type:none;} +.articles{position:relative;margin-top:11px;} +.articles>div.fn-clear{position:relative;margin-bottom:50px;} +.articles>div.fn-clear>h2{margin:0;text-align:center;height:28px;} +.articles>.vertical{background-color:#9EB5C6;border-radius:20em 20em 20em 20em;box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.5) inset,0 0 1px 0 rgba(255, 255, 255, 0.6);height:100%;left:50%;margin-left:-3px;position:absolute;top:0;width:6px;} +.articles article{width:50%;} +.articles article.l>div.module{margin-right:30px;left:0;} +.articles article.r{left:50%;} +.articles article.r>div{margin-left:30px;position:relative;} +.articles .dot{background-color:#FFFFFF;border:3px solid #60829F;border-radius:20em 20em 20em 20em;height:6px;position:absolute;right:-37px;top:22px;width:6px;} +.articles .r .dot{left:-37px;right:inherit;} +.articles .arrow{height:15px;position:absolute;right:-9px;top:21px;width:9px;} +.articles .r .arrow{background-position:0 -22px;left:-9px;right:inherit;} +time.article-time{top:-8px;left:50%;position:absolute;} +time.article-time>span{background-color:#FFFFFF;border:1px solid #A8A9A9;border-radius:20em 20em 20em 20em;font-size:80%;margin-left:-56px;padding:5px 10px;} +article .article-title{margin:10px 0 0 0;} +article .article-title>sup{color:#6599C6;font-size:70%;} +article .article-title a{color:#000;text-decoration:none;} +.ico>a{color:#999999;font-size:80%;text-decoration:none;} +.ico>a:hover{color:#000;} +.article-more{background-color:#60829F;border-radius:20em 20em 20em 20em;box-shadow:0 1px 0 rgba(0, 0, 0, 0.2) inset,0 1px 0 rgba(255, 255, 255, 0.6);color:#FFFFFF;cursor:pointer;font-weight:bold;height:19px;left:50%;margin-left:-38px;padding:5px 20px;position:absolute;text-align:center;top:100%;width:36px;} +.article-archive{background-color:#60829F;border-radius:20em 20em 20em 20em;box-shadow:0 1px 0 rgba(0, 0, 0, 0.2) inset,0 1px 0 rgba(255, 255, 255, 0.6);color:#FFFFFF;font-size:80%;font-weight:normal;padding:5px 20px;} +.dynamic-l{float:left;width:70%;} +.dynamic-l>div{margin-right:30px;} +.dynamic-r{float:right;width:30%;} +.dynamic-r .tags a,.links a{line-height:24px;} +#comments{margin:30px 0 50px;position:relative;} +.comments>li>img{height:60px;width:60px;border-radius:30px;float:left;margin-right:15px;} +.comments .author{font-size:130%;font-style:italic;} +.comments>li>div>p{padding-left:75px;} +.module>ul>li.comment-body-ref{background-color:#FFFFFF;border:1px solid #ddd;left:76px;opacity:0.8;filter:alpha(opacity=80);padding:10px;position:absolute;width:74%;border-radius:10px;} +.comment-body-ref .ico-reply{display:none;} +.comment-form{width:100%;margin:30px 0;} +#commentForm{margin-top:0;} +.comment-form input[type='text'],.comment-form textarea{background:url("../../timeline/images/bg.png") repeat scroll 0 0 #e5e8ea;border:1px solid #BCBDBE;border-radius:5px 5px 5px 5px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.1) inset;margin:5px 5px 5px 0;padding:6px;} +.comment-form input[type='text']:focus,.comment-form textarea:focus{background-color:#EFEFEF;outline:medium none;} +#submitCommentButton,#submitCommentButtonReply{background:none repeat scroll 0 0 #868889;border:1px solid #5D6265;border-radius:10em 10em 10em 10em;box-shadow:0 1px 0 rgba(255, 255, 255, 0.3) inset,0 1px 1px rgba(0, 0, 0, 0.3);color:#FFFFFF;cursor:pointer;padding:5px 20px;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);} +#submitCommentButton:hover,#submitCommentButtonReply:hover{color:#fff;background-color:#444;} +.nav-abs{background-color:#6B6B6B;border:1px solid #898989;border-radius:5px 5px 5px 5px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.4) inset,0 1px 0 rgba(255, 255, 255, 0.7),0 -1px 0 rgba(255, 255, 255, 0.6);color:#CCCCCC;padding:5px 10px;position:absolute;right:30px;top:61px;z-index:1;text-align:center;white-space:nowrap;} +.nav-abs li{background-color:#DEDDDD;color:#616161;cursor:pointer;height:20px;list-style-type:none;min-width:54px;padding:3px 5px;} +.nav-abs li.year{color:#CCCCCC;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.5);background-color:#6B6B6B;} +.nav-abs li:hover{background-color:#EFEEEE;color:#000;} +.nav-abs li.year:hover{background-color:#353535;color:#fff;} diff --git a/timeline/dynamic.ftl b/timeline/dynamic.ftl new file mode 100644 index 0000000..e73d44c --- /dev/null +++ b/timeline/dynamic.ftl @@ -0,0 +1,137 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    +
    +
    + <#if "" != noticeBoard> +
    + ${noticeBoard} +
    + + <#if 0 != recentComments?size> +
    +

    ${recentCommentsLabel}

    +
      + <#list recentComments as comment> +
    • + ${comment.commentName} +
      + + <#if "http://" == comment.commentURL> + ${comment.commentName} + <#else> + ${comment.commentName} + + + ${comment.commentDate?string("yyyy-MM-dd HH:mm")} + + + ${viewLabel} + + +

      + ${comment.commentContent} +

      +
      +
    • + +
    +
    + +
    +
    + <#if 0 != mostCommentArticles?size> + + + <#if 0 != mostViewCountArticles?size> +
    +

    ${mostViewCountArticlesLabel}

    + +
    + + <#if 0 != mostUsedTags?size> +
    +

    ${popTagsLabel}

    + <#list mostUsedTags as tag> +     + + +
    + +
    +
    + <#if 0 != links?size> + + +
    +
    + <#include "footer.ftl"> + + + diff --git a/timeline/footer.ftl b/timeline/footer.ftl new file mode 100644 index 0000000..06b14e8 --- /dev/null +++ b/timeline/footer.ftl @@ -0,0 +1,74 @@ + +
    + + + + +${plugins} diff --git a/timeline/header.ftl b/timeline/header.ftl new file mode 100644 index 0000000..827fad9 --- /dev/null +++ b/timeline/header.ftl @@ -0,0 +1,46 @@ + +
    +
    +
    +

    + + ${blogTitle} + +

    + ${blogSubtitle} +
    + +
    + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/timeline/images/ajax-loader.gif b/timeline/images/ajax-loader.gif new file mode 100644 index 0000000..e471dc4 Binary files /dev/null and b/timeline/images/ajax-loader.gif differ diff --git a/timeline/images/bg.png b/timeline/images/bg.png new file mode 100644 index 0000000..2703e47 Binary files /dev/null and b/timeline/images/bg.png differ diff --git a/timeline/images/emotions/em00.png b/timeline/images/emotions/em00.png new file mode 100644 index 0000000..53df885 Binary files /dev/null and b/timeline/images/emotions/em00.png differ diff --git a/timeline/images/emotions/em01.png b/timeline/images/emotions/em01.png new file mode 100644 index 0000000..c056d33 Binary files /dev/null and b/timeline/images/emotions/em01.png differ diff --git a/timeline/images/emotions/em02.png b/timeline/images/emotions/em02.png new file mode 100644 index 0000000..21fbad3 Binary files /dev/null and b/timeline/images/emotions/em02.png differ diff --git a/timeline/images/emotions/em03.png b/timeline/images/emotions/em03.png new file mode 100644 index 0000000..ab8962d Binary files /dev/null and b/timeline/images/emotions/em03.png differ diff --git a/timeline/images/emotions/em04.png b/timeline/images/emotions/em04.png new file mode 100644 index 0000000..c895cff Binary files /dev/null and b/timeline/images/emotions/em04.png differ diff --git a/timeline/images/emotions/em05.png b/timeline/images/emotions/em05.png new file mode 100644 index 0000000..f24350a Binary files /dev/null and b/timeline/images/emotions/em05.png differ diff --git a/timeline/images/emotions/em06.png b/timeline/images/emotions/em06.png new file mode 100644 index 0000000..f84ba88 Binary files /dev/null and b/timeline/images/emotions/em06.png differ diff --git a/timeline/images/emotions/em07.png b/timeline/images/emotions/em07.png new file mode 100644 index 0000000..9ad797d Binary files /dev/null and b/timeline/images/emotions/em07.png differ diff --git a/timeline/images/emotions/em08.png b/timeline/images/emotions/em08.png new file mode 100644 index 0000000..6771967 Binary files /dev/null and b/timeline/images/emotions/em08.png differ diff --git a/timeline/images/emotions/em09.png b/timeline/images/emotions/em09.png new file mode 100644 index 0000000..116be97 Binary files /dev/null and b/timeline/images/emotions/em09.png differ diff --git a/timeline/images/emotions/em10.png b/timeline/images/emotions/em10.png new file mode 100644 index 0000000..0fd8a39 Binary files /dev/null and b/timeline/images/emotions/em10.png differ diff --git a/timeline/images/emotions/em11.png b/timeline/images/emotions/em11.png new file mode 100644 index 0000000..6679ddc Binary files /dev/null and b/timeline/images/emotions/em11.png differ diff --git a/timeline/images/emotions/em12.png b/timeline/images/emotions/em12.png new file mode 100644 index 0000000..9df73f3 Binary files /dev/null and b/timeline/images/emotions/em12.png differ diff --git a/timeline/images/emotions/em13.png b/timeline/images/emotions/em13.png new file mode 100644 index 0000000..a602aaa Binary files /dev/null and b/timeline/images/emotions/em13.png differ diff --git a/timeline/images/emotions/em14.png b/timeline/images/emotions/em14.png new file mode 100644 index 0000000..7883932 Binary files /dev/null and b/timeline/images/emotions/em14.png differ diff --git a/timeline/images/emotions/emotions-ease.png b/timeline/images/emotions/emotions-ease.png new file mode 100644 index 0000000..727e407 Binary files /dev/null and b/timeline/images/emotions/emotions-ease.png differ diff --git a/timeline/images/icons.png b/timeline/images/icons.png new file mode 100644 index 0000000..25a8607 Binary files /dev/null and b/timeline/images/icons.png differ diff --git a/timeline/images/nav-bg.png b/timeline/images/nav-bg.png new file mode 100644 index 0000000..2703e47 Binary files /dev/null and b/timeline/images/nav-bg.png differ diff --git a/timeline/index.ftl b/timeline/index.ftl new file mode 100644 index 0000000..2aaa74e --- /dev/null +++ b/timeline/index.ftl @@ -0,0 +1,101 @@ +<#include "macro-head.ftl"> + + + + <@head title="${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> + +
    +
    +
    + <#list archiveDates as archiveDate> +
    +

    + + <#if "en" == localeString?substring(0, 2)> + ${archiveDate.monthName} ${archiveDate.archiveDateYear} + <#else> + ${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} + + +

    + <#list articles as article> + <#if article.articleCreateDate?string("yyyy/MM") == "${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"> +
    +
    +
    +
    + +

    + + ${article.articleTitle} + + <#if article.hasUpdated> + + ${updatedLabel} + + + <#if article.articlePutTop> + + ${topArticleLabel} + + +

    +

    + ${article.articleAbstract} +

    + + <#list article.articleTags?split(",") as articleTag>${articleTag}<#if articleTag_has_next>, + + + + + + + <#if article.articleCommentCount == 0> + ${noCommentLabel} + <#else> + ${article.articleCommentCount} + + + + + + ${article.articleViewCount} + + +
    +
    + <#if paginationCurrentPageNum != paginationPageCount && 0 != paginationPageCount && !article_has_next> +
    ${moreLabel}
    + + + +
    + +
    +
    + <#include "footer.ftl"> + + diff --git a/timeline/js/timeline.js b/timeline/js/timeline.js new file mode 100644 index 0000000..1abc60d --- /dev/null +++ b/timeline/js/timeline.js @@ -0,0 +1,291 @@ +/* + * 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 timeline js. + * + * @author Liyuan Li + * @version 1.0.1.0, Jan 30, 2013 + */ +var timeline = { + _COLHA: 0, + _COLHB: 20, + _initArticleList: function () { + var $articles = $(".articles"); + if ($articles.length === 0 || $(".articles > .fn-clear").length > 0) { + return; + } + + $(window).resize(function () { + var colH = [timeline._COLHA, timeline._COLHB]; + $articles.find("article").each(function () { + var $it = $(this), + isLeft = colH[1] > colH[0], + top = isLeft ? colH[0] : colH[1]; + if (!$it.hasClass("r") && !$it.hasClass("l")) { + $it.css({ + "top": top + "px", + "position": "absolute" + }); + + if (isLeft) { + this.className = "l"; + } else { + this.className = "r"; + } + } + colH[( isLeft ? '0' : '1' )] += parseInt($it.outerHeight(true)); + }); + + $articles.height(colH[0] > colH[1] ? colH[0] : colH[1]); + }); + + setTimeout(function () { + $(window).resize(); + }, 500); + }, + + + _initIndexList: function () { + var $archives = $(".articles > .fn-clear"); + if ($archives.length === 0) { + return; + } + + // 如果为 index 页面,重构 archives 结构,使其可收缩 + var year = 0; + $(".nav-abs li").each(function (i) { + var $this = $(this); + $this.hide(); + if (year !== $this.data("year")) { + year = $this.data("year"); + $this.before("
  • " + year + "
  • "); + } + }); + + // 首次加载时,当没有下一页时,使用 js 隐藏"更多"按钮 + if ($(".article-more").parent().data("count") <= $(".article-more").parent().find("article").length) { + $(".article-more").remove(); + } + + $(window).resize(function () { + $archives.each(function () { + var colH = [timeline._COLHA + 60, timeline._COLHB * 4]; + + var $articles = $(this).find("article"); + if ($articles.length === 0) { + $(this).find("h2").remove(); + $(this).css("margin-bottom" , 0); + } else { + $articles.each(function () { + var $it = $(this), + isLeft = colH[1] > colH[0], + top = isLeft ? colH[0] : colH[1]; + + if (!$it.hasClass("r") && !$it.hasClass("l")) { + $it.css({ + "top": top + "px", + "position": "absolute" + }); + + if (isLeft) { + this.className = "l"; + } else { + this.className = "r"; + } + } + colH[( isLeft ? '0' : '1' )] += parseInt($it.outerHeight(true)); + }); + $(this).height(colH[0] > colH[1] ? colH[0] : colH[1]); + } + }); + }); + + setTimeout(function () { + $(window).resize(); + }, 500); + }, + + _setNavCurrent: function () { + $(".header li a").each(function () { + if($(this).prop("href") === location.href.split("#")[0]) { + this.className = "current"; + } else { + this.className = ""; + } + }) + }, + + init: function () { + $(window).scroll(function () { + if ($(window).scrollTop() > 60) { + $(".ico-top").show(); + } else { + $(".ico-top").hide(); + } + }); + timeline._initIndexList(); + timeline._initArticleList(); + timeline._setNavCurrent(); + }, + + translate: function () { + window.open("http://translate.google.com/translate?sl=auto&tl=auto&u=" + location.href); + }, + + getArchive: function (year, month, monthName) { + var archiveDate = year + month, + archive = year + "/" + month; + window.location.hash = "#" + archiveDate; + if ($("#" + archiveDate + " > article").length === 0) { + var archiveDataTitle = year + " " + Label.yearLabel + " " + month + " " + Label.monthLabel; + if (Label.localeString.substring(0, 2) === "en") { + archiveDataTitle = monthName + " " + year; + } + var archiveHTML = '

    ' + archiveDataTitle + '

    ' + + '
    ' + Label.moreLabel + '
    '; + + $("#" + archiveDate).html(archiveHTML).css("margin-bottom", "50px"); + timeline.getNextPage($("#" + archiveDate).find(".article-more")[0], archive); + } + }, + + getNextPage: function (it, archive) { + var $more = $(it), + currentPage = $more.data("page") + 1, + path = "/articles/"; + if($("#tag").length === 1) { + var pathnames = location.pathname.split("/"); + path = "/articles/tags/" + pathnames[pathnames.length - 1] + "/"; + } else if ($("#author").length === 1) { + var pathnames = location.pathname.split("/"); + path = "/articles/authors/" + pathnames[pathnames.length - 1] + "/"; + } else if (archive) { + path = "/articles/archives/" + archive + "/"; + } + $.ajax({ + url: latkeConfig.servePath + path + currentPage, + type: "GET", + beforeSend: function () { + $more.css("background", + "url(" + latkeConfig.staticServePath + + "/skins/timeline/images/ajax-loader.gif) no-repeat scroll center center #60829F").text(""); + }, + success: function(result, textStatus){ + if (!result.sc) { + $more.css("background", "none #60829F").text("Error"); + return; + } + + if (result.rslts.articles.length === 0) { + $more.remove(); + return; + } + + var articlesHTML = "", + pagination = result.rslts.pagination; + + // append articles + for (var i = 0; i < result.rslts.articles.length; i++) { + var article = result.rslts.articles[i]; + + articlesHTML += '
    ' + + '

    ' + +article.articleTitle + ''; + + if (article.hasUpdated) { + articlesHTML += '' + Label.updatedLabel + ''; + } + + if (article.articlePutTop) { + articlesHTML += '' + Label.topArticleLabel + ''; + } + + articlesHTML += '

    ' + article.articleAbstract + '

    ' + + ''; + + var articleTags = article.articleTags.split(","); + for (var j = 0; j < articleTags.length; j++) { + articlesHTML += '' + articleTags[j] + ''; + + if (j < articleTags.length - 1) { + articlesHTML += ","; + } + } + + articlesHTML += ' ' + + ' ' + (article.articleCommentCount === 0 ? Label.noCommentLabel : article.articleCommentCount) + + ' ' + + '' + article.articleViewCount + + '
    '; + } + + $more.before(articlesHTML).data("page", currentPage); + // 最后一页处理 + if (pagination.paginationPageCount <= currentPage) { + $more.remove(); + } else { + $more.css("background", "none #60829F").text(Label.moreLabel); + } + + setTimeout(function () { + $(window).resize(); + }, 500); + } + }); + }, + + toggleArchives: function (it, year) { + $(".nav-abs li").each(function (i) { + var $it = $(this); + if (!$it.hasClass("year")) { + $it.hide(); + if (year === $it.data("year") && $(it).hasClass("close")) { + $it.show(); + } + } + }); + + $(".nav-abs li.year").each(function () { + if (parseInt($(this).text()) === year) { + if ($(it).hasClass("close")) { + it.className = "year open"; + } else { + it.className = "year close"; + } + } else { + this.className = "year close"; + } + }); + } +}; + +(function () { + Util.init(); + Util.replaceSideEm($(".recent-comments-content")); + Util.buildTags("tagsSide"); + + timeline.init(); +})(); \ No newline at end of file diff --git a/timeline/js/timeline.min.js b/timeline/js/timeline.min.js new file mode 100644 index 0000000..8a2f5bc --- /dev/null +++ b/timeline/js/timeline.min.js @@ -0,0 +1,20 @@ +/* + * 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 timeline js. + * + * @author Liyuan Li + * @version 1.0.1.0, Jan 30, 2013 + */var timeline={_COLHA:0,_COLHB:20,_initArticleList:function(){var e=$(".articles");if(e.length===0||$(".articles > .fn-clear").length>0)return;$(window).resize(function(){var t=[timeline._COLHA,timeline._COLHB];e.find("article").each(function(){var e=$(this),n=t[1]>t[0],r=n?t[0]:t[1];!e.hasClass("r")&&!e.hasClass("l")&&(e.css({top:r+"px",position:"absolute"}),n?this.className="l":this.className="r"),t[n?"0":"1"]+=parseInt(e.outerHeight(!0))}),e.height(t[0]>t[1]?t[0]:t[1])}),setTimeout(function(){$(window).resize()},500)},_initIndexList:function(){var e=$(".articles > .fn-clear");if(e.length===0)return;var t=0;$(".nav-abs li").each(function(e){var n=$(this);n.hide(),t!==n.data("year")&&(t=n.data("year"),n.before("
  • "+t+"
  • "))}),$(".article-more").parent().data("count")<=$(".article-more").parent().find("article").length&&$(".article-more").remove(),$(window).resize(function(){e.each(function(){var e=[timeline._COLHA+60,timeline._COLHB*4],t=$(this).find("article");t.length===0?($(this).find("h2").remove(),$(this).css("margin-bottom",0)):(t.each(function(){var t=$(this),n=e[1]>e[0],r=n?e[0]:e[1];!t.hasClass("r")&&!t.hasClass("l")&&(t.css({top:r+"px",position:"absolute"}),n?this.className="l":this.className="r"),e[n?"0":"1"]+=parseInt(t.outerHeight(!0))}),$(this).height(e[0]>e[1]?e[0]:e[1]))})}),setTimeout(function(){$(window).resize()},500)},_setNavCurrent:function(){$(".header li a").each(function(){$(this).prop("href")===location.href.split("#")[0]?this.className="current":this.className=""})},init:function(){$(window).scroll(function(){$(window).scrollTop()>60?$(".ico-top").show():$(".ico-top").hide()}),timeline._initIndexList(),timeline._initArticleList(),timeline._setNavCurrent()},translate:function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)},getArchive:function(e,t,n){var r=e+t,i=e+"/"+t;window.location.hash="#"+r;if($("#"+r+" > article").length===0){var s=e+" "+Label.yearLabel+" "+t+" "+Label.monthLabel;Label.localeString.substring(0,2)==="en"&&(s=n+" "+e);var o='

    '+s+"

    "+'
    '+Label.moreLabel+"
    ";$("#"+r).html(o).css("margin-bottom","50px"),timeline.getNextPage($("#"+r).find(".article-more")[0],i)}},getNextPage:function(e,t){var n=$(e),r=n.data("page")+1,i="/articles/";if($("#tag").length===1){var s=location.pathname.split("/");i="/articles/tags/"+s[s.length-1]+"/"}else if($("#author").length===1){var s=location.pathname.split("/");i="/articles/authors/"+s[s.length-1]+"/"}else t&&(i="/articles/archives/"+t+"/");$.ajax({url:latkeConfig.servePath+i+r,type:"GET",beforeSend:function(){n.css("background","url("+latkeConfig.staticServePath+"/skins/timeline/images/ajax-loader.gif) no-repeat scroll center center #60829F").text("")},success:function(e,t){if(!e.sc){n.css("background","none #60829F").text("Error");return}if(e.rslts.articles.length===0){n.remove();return}var i="",s=e.rslts.pagination;for(var o=0;o

    '+u.articleTitle+"",u.hasUpdated&&(i+=""+Label.updatedLabel+""),u.articlePutTop&&(i+=""+Label.topArticleLabel+""),i+="

    "+u.articleAbstract+"

    "+'';var a=u.articleTags.split(",");for(var f=0;f'+a[f]+"",f '+' '+(u.articleCommentCount===0?Label.noCommentLabel:u.articleCommentCount)+' '+''+u.articleViewCount+"
    "}n.before(i).data("page",r),s.paginationPageCount<=r?n.remove():n.css("background","none #60829F").text(Label.moreLabel),setTimeout(function(){$(window).resize()},500)}})},toggleArchives:function(e,t){$(".nav-abs li").each(function(n){var r=$(this);r.hasClass("year")||(r.hide(),t===r.data("year")&&$(e).hasClass("close")&&r.show())}),$(".nav-abs li.year").each(function(){parseInt($(this).text())===t?$(e).hasClass("close")?e.className="year open":e.className="year close":this.className="year close"})}};(function(){Util.init(),Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide"),timeline.init()})(); \ No newline at end of file diff --git a/timeline/lang/lang_en_US.properties b/timeline/lang/lang_en_US.properties new file mode 100644 index 0000000..e17a7ee --- /dev/null +++ b/timeline/lang/lang_en_US.properties @@ -0,0 +1,95 @@ +# +# 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.5, May 22, 2012 +# Author: Liyuan Li +# +searchLabel=Search +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 +clearAllCacheLabel=Clear all cache +clearCacheLabel=Clear cache +adminLabel=Admin +logoutLabel=Logout +loginLabel=Login +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 +noCommentLabel=No Comment +viewLabel=View +authorLabel=Author +previousPageLabel=Previous Page +nextPagePabel=Next Page +firstPageLabel=First Page +lastPageLabel=Last Page +archive1Label=Archive: +author1Label=Author: +tagLabel=Tags +sorryLabel=Sorry! +notFoundLabel=Not Found! +returnTo1Label=Return: +updatedLabel=Updated! +topArticleLabel=Top! +replyLabel=Reply +commentNameLabel=Name +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=B3LOG +killBrowserLabel=

    Let's kill outdated and insecure browser!

    Let's kill outdated and insecure browser for browser evolution, human progress and better experience.

    You can download

    \ No newline at end of file diff --git a/timeline/lang/lang_zh_CN.properties b/timeline/lang/lang_zh_CN.properties new file mode 100644 index 0000000..78ef41b --- /dev/null +++ b/timeline/lang/lang_zh_CN.properties @@ -0,0 +1,95 @@ +# +# 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.5, May 22, 2012 +# Author: Liyuan Li +# +searchLabel=\u641c\u7d22 +dynamicLabel=\u52a8\u6001 +moreLabel=\u66f4\u591a +contentLabel=\u5168\u6587 +abstractLabel=\u6458\u8981 +viewCount1Label=\u6d4f\u89c8\u6b21\u6570\uff1a +articleCount1Label=\u6587\u7ae0\u603b\u6570\uff1a +commentCount1Label=\u8bc4\u8bba\u603b\u6570\uff1a +allTagsLabel=\u6807\u7b7e\u5899 +updatedLabel=\u6709\u66f4\u65b0\uff01 +topArticleLabel=\u7f6e\u9876\uff01 +archiveLabel=\u5b58\u6863 +yearLabel=\u5e74 +monthLabel=\u6708 +recentArticlesLabel=\u6700\u65b0\u6587\u7ae0 +recentCommentsLabel=\u6700\u65b0\u8bc4\u8bba +mostCommentArticlesLabel=\u8bc4\u8bba\u6700\u591a\u7684\u6587\u7ae0 +mostViewCountArticlesLabel=\u8bbf\u95ee\u6700\u591a\u7684\u6587\u7ae0 +popTagsLabel=\u5206\u7c7b\u6807\u7b7e +linkLabel=\u53cb\u60c5\u94fe\u63a5 +indexLabel=\u9996\u9875 +sumLabel=\u5171 +pageLabel=\u9875 +clearAllCacheLabel=\u6e05\u9664\u6240\u6709\u9875\u9762\u7f13\u5b58 +clearCacheLabel=\u6e05\u9664\u672c\u9875\u7f13\u5b58 +adminLabel=\u7ba1\u7406 +logoutLabel=\u767b\u51fa +loginLabel=\u767b\u5f55 +em00Label=\u5fae\u7b11 +em01Label=\u5927\u7b11 +em02Label=\u9ad8\u5174 +em03Label=\u60b2\u4f24 +em04Label=\u54ed\u6ce3 +em05Label=\u65e0\u8bed +em06Label=\u70e6\u8e81 +em07Label=\u751f\u6c14 +em08Label=\u6211\u7785 +em09Label=\u60ca\u8bb6 +em10Label=\u9177 +em11Label=\u987d\u76ae +em12Label=\u7231\u5fc3 +em13Label=\u5fc3\u788e +em14Label=\u9b54\u9b3c +commentLabel=\u8bc4\u8bba +noCommentLabel=\u65e0\u8bc4\u8bba +viewLabel=\u6d4f\u89c8 +authorLabel=\u4f5c\u8005 +previousPageLabel=\u4e0a\u4e00\u9875 +nextPagePabel=\u4e0b\u4e00\u9875 +firstPageLabel=\u7b2c\u4e00\u9875 +lastPageLabel=\u6700\u540e\u4e00\u9875 +archive1Label=\u5b58\u6863\uff1a +author1Label=\u4f5c\u8005\uff1a +tagLabel=\u6807\u7b7e +sorryLabel=\u5bf9\u4e0d\u8d77\uff01 +notFoundLabel=\u627e\u4e0d\u5230\uff01 +returnTo1Label=\u8fd4\u56de\uff1a +replyLabel=\u56de\u590d +commentNameLabel=\u59d3\u540d +commentEmailLabel=\u90ae\u7bb1 +commentURLLabel=URL +submmitCommentLabel=\u63d0\u4ea4\u8bc4\u8bba +nameTooLongLabel=\u59d3\u540d\u53ea\u80fd\u4e3a 2 \u5230 20 \u4e2a\u5b57\u7b26\uff01 +mailCannotEmptyLabel=\u90ae\u7bb1\u4e0d\u80fd\u4e3a\u7a7a\uff01 +mailInvalidLabel=\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e\uff01 +commentContentCannotEmptyLabel=\u8bc4\u8bba\u5185\u5bb9\u53ea\u80fd\u4e3a 2 \u5230 500 \u4e2a\u5b57\u7b26\uff01 +captchaCannotEmptyLabel=\u9a8c\u8bc1\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01 +loadingLabel=\u8f7d\u5165\u4e2d.... +relevantArticlesLabel=\u76f8\u5173\u9605\u8bfb +randomArticlesLabel=\u968f\u673a\u9605\u8bfb +externalRelevantArticlesLabel=\u7ad9\u5916\u76f8\u5173\u9605\u8bfb +captchaErrorLabel=\u9a8c\u8bc1\u7801\u9519\u8bef +b3logLabel=B3LOG +killBrowserLabel=

    \u8ba9\u6211\u4eec\u653e\u5f03\u4f7f\u7528\u90a3\u4e9b\u8fc7\u65f6\u3001\u4e0d\u5b89\u5168\u7684\u6d4f\u89c8\u5668\u5427\uff01

    \u4e3a\u4e86\u8ba9\u6d4f\u89c8\u5668\u66f4\u597d\u7684\u53d1\u5c55\uff0c\u4eba\u7c7b\u66f4\u52a0\u7684\u8fdb\u6b65\uff0c\u62e5\u6709\u66f4\u597d\u7684\u4f53\u9a8c\uff0c\u8ba9\u6211\u4eec\u653e\u5f03\u4f7f\u7528\u90a3\u4e9b\u8fc7\u65f6\u3001\u4e0d\u5b89\u5168\u7684\u6d4f\u89c8\u5668\u3002

    \u60a8\u53ef\u4ee5\u4e0b\u8f7d diff --git a/timeline/macro-comments.ftl b/timeline/macro-comments.ftl new file mode 100644 index 0000000..e7dedfb --- /dev/null +++ b/timeline/macro-comments.ftl @@ -0,0 +1,152 @@ +<#macro comments commentList article> + +<#if article.commentable> +

    ${commentLabel}

    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + +
    + + +
    + + + + + + + + + + + + + + + +
    + +
    + + validate +
    + + +
    +<#if externalRelevantArticlesDisplayCount?? && 0 != externalRelevantArticlesDisplayCount> +
    + + + + +<#macro comment_script oId> + + + \ No newline at end of file diff --git a/timeline/macro-head.ftl b/timeline/macro-head.ftl new file mode 100644 index 0000000..f9a39d9 --- /dev/null +++ b/timeline/macro-head.ftl @@ -0,0 +1,17 @@ +<#macro head title> + +${title} +<#nested> + + + + + + + + + +${htmlHead} + \ No newline at end of file diff --git a/timeline/page.ftl b/timeline/page.ftl new file mode 100644 index 0000000..ee2ca9f --- /dev/null +++ b/timeline/page.ftl @@ -0,0 +1,27 @@ +<#include "macro-head.ftl"> +<#include "macro-comments.ftl"> + + + + <@head title="${page.pageTitle} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    +
    +
    + ${page.pageContent} +
    + <@comments commentList=pageComments article=page> +
    +
    +
    + <#include "footer.ftl"> + <@comment_script oId=page.oId> + + diff --git a/timeline/preview.png b/timeline/preview.png new file mode 100644 index 0000000..03fa1ec Binary files /dev/null and b/timeline/preview.png differ diff --git a/timeline/skin.properties b/timeline/skin.properties new file mode 100644 index 0000000..933024c --- /dev/null +++ b/timeline/skin.properties @@ -0,0 +1,26 @@ +# +# 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: timeline skin. +# Version: 1.0.0.1, Jan 7, 2013 +# Author: Liyuan Li +# + +name=timeline +version=1.0.1 +forSolo=0.5.6 +memo=\u65f6\u5149\u6d41\u901d diff --git a/timeline/tag-articles.ftl b/timeline/tag-articles.ftl new file mode 100644 index 0000000..3f0dd01 --- /dev/null +++ b/timeline/tag-articles.ftl @@ -0,0 +1,22 @@ +<#include "macro-head.ftl"> + + + + <@head title="${tag.tagTitle} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> + + <#include "article-list.ftl"> + <#include "footer.ftl"> + + diff --git a/timeline/tags.ftl b/timeline/tags.ftl new file mode 100644 index 0000000..bcc293e --- /dev/null +++ b/timeline/tags.ftl @@ -0,0 +1,33 @@ +<#include "macro-head.ftl"> + + + + <@head title="${allTagsLabel} - ${blogTitle}"> + + + + + + ${topBarReplacement} + <#include "header.ftl"> +
    +
    + +
    +
    + <#include "footer.ftl"> + + +