皮肤修改

ease: color and lineheight
neoease: product css
owmx: footer margin
This commit is contained in:
Vanessa
2012-06-02 20:22:17 +08:00
parent a7a485d250
commit 9779e69dbb
6 changed files with 1737 additions and 1734 deletions

File diff suppressed because it is too large Load Diff

211
ease/css/ease.min.css vendored
View File

@@ -1,103 +1,108 @@
html,body,div,ul,li{margin:0;padding:0;}
body{font-family:Verdana,arial,\5fae\8f6f\96c5\9ed1;font-size:12px;}
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;-webkit-text-size-adjust:none;font-weight: normal;}
.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:gray;}
.ft-gray:visited{color:#9a9a9a;}
.ft-gray:hover{color:#676767;text-decoration:none;}
.logo{text-shadow:0 0 1px #e2e2e2;padding:0 5px;}
.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{background-image:url(../../ease/images/emotions/emotions-classic.png);float:left;height:24px;margin-right:5px;width:24px;}
.em01{background-position:-24px 0;}
.em02{background-position:-48px 0;}
.em03{background-position:-72px 0;}
.em04{background-position:-96px 0;}
.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 #e2e2e2;border-radius:3px;cursor:pointer;float:right;height:16px;margin:-3px 0 0 15px;width:16px;padding:1px;}
.translate-ico:hover{box-shadow:0 0 1px gray;background-color:#fefefe;border-color:#9a9a9a;}
.wrapper{margin:0 50px;}
.body{width:990px;margin:0 auto 50px;}
.header{position:fixed;width:100%;background-color:#fefefe;z-index:1;}
.header .title{border-bottom:1px solid gray;font-size:26px;font-weight:400;}
.header .sub-title{font-size:11px;}
#search{background-position:7px -99px;background-repeat:no-repeat;background-color:#FFF;border:1px solid #e2e2e2;border-radius:2px 2px 2px 2px;box-shadow:0 1px 1px rgba(0,0,0,0.1) inset;color:gray;float:right;font-size:14px;height:19px;line-height:145%;width:24px;-moz-transition:width .4s ease, background .4s ease;-webkit-transition:width .4s ease, background .4s ease;transition:width .4s ease, background .4s ease;padding:4px 10px 4px 28px;}
#search:focus{background-color:#FeFeFe;width:196px;}
.banner{margin-bottom:20px;}
.banner .notice{float:left;margin:20px 0 0 50px;}
.nav{background-color:#FFF;box-shadow:0 2px 2px #e2e2e2, 0 3px 3px -3px #E2E2E2 inset;height:29px;}
.nav ul{list-style:none;float:left;}
.nav a{display:block;float:left;font-size:14px;line-height:29px;margin-right:30px;text-shadow:0 0 1px #E2E2E2;}
.nav a.current{color:#00b4d2;font-weight:700;text-shadow:0 0 3px #E2E2E2;}
.nav img{margin-left:3px;}
.footer{background-color:#FDFDFD;border-top:2px solid #e2e2e2;font-size:11px;-webkit-text-size-adjust:none;padding:12px 0;}
#goTop{background:url(/skins/ease/images/icons.png) no-repeat scroll 5px -51px #f6f6f6;border-radius:2px 2px 0 0;cursor:pointer;font-size:11px;height:21px;line-height:21px;position:absolute;right:50px;display:none;padding:0 10px 0 23px;}
#goTop:hover{background-color:#e2e2e2;}
.article{border-bottom:1px solid #f6f6f6;padding:20px 70px 20px;}
.article:hover{border-bottom-color:#e2e2e2;box-shadow:0 0 1px #f6f6f6 inset;background-color:#fefefe;}
.article-body{line-height:145%;overflow:hidden;word-wrap:break-word;}
.article-body ol,.article-body ul{margin-left:40px;}
.article-body a{color:gray;text-decoration:underline;}
.article-body a:hover{color:#676767;}
.article-body>div{min-height:32px;}
.article-title h2{display:inline;}
.article-title span{cursor:pointer;}
.article-next{background-color:#FEFEFE;box-shadow:0 0 3px #E2E2E2 inset;cursor:pointer;font-size:14px;line-height:36px;text-align:center;}
.article-next:hover{box-shadow:0 0 3px #E2E2E2, 0 0 3px #E2E2E2 inset;}
.article-relative{background-color:#FEFEFE;box-shadow:0 0 2px #E2E2E2;float:left;width:365px;margin:20px 0;padding:0 20px 10px;}
.article-relative:hover{background-color:#fff;box-shadow:0 0 4px #e2e2e2;}
#relevantArticles{margin-right:40px;}
#externalRelevantArticles{width:297px;margin-top:0;}
#comments{position:relative;padding:20px 70px;}
.comment-header{float:left;background-color:#FFF;border:1px solid #DEDEDE;padding:2px;height:60px;width:60px;}
.comment-panel{float:left;line-height:16px;min-height:64px;overflow:hidden;width:760px;margin:0 10px 20px;}
.comment-body-ref{background-color:#FEFEFE;box-shadow:0 0 2px #E2E2E2;display:block;left:140px;opacity:0.9;filter:alpha(opacity=90);position:absolute;padding:10px;}
.comment-body-ref > .comment-header{border:0 none;float:right;height:48px;padding:0;width:48px;}
.comment-body-ref > .comment-panel{min-height:48px;width:756px;margin:0 20px 0 0;}
.form{float:left;padding:0 70px 20px;}
.form th{text-align:right;white-space:nowrap;}
.form input[type=text],.form input[type=password],.form textarea{background-color:#FEFEFE;box-shadow:0 0 2px #E2E2E2;font-family:Verdana,arial,\5fae\8f6f\96c5\9ed1;font-size:12px;outline:medium none;height:28px;line-height:28px;width:260px;border-width:0;margin:0 5px 10px 0;padding:0 3px;}
.form textarea{height:120px;overflow:auto;width:426px;}
.form button{background-color:#F6F6F6;border:0 none;box-shadow:0 0 2px #E2E2E2;height:28px;line-height:28px;color:#A7A7A7;padding:0 12px;}
.form button:hover{box-shadow:0 0 4px #E2E2E2;text-shadow:0 0 2px;}
.form img{background-color:#FEFEFE;box-shadow:0 0 2px #E2E2E2;cursor:pointer;height:24px;padding:1px;}
#tags li{float:left;height:38px;}
#tags a{background-color:#FEFEFE;box-shadow:0 0 2px #E2E2E2;float:left;margin:3px 6px;padding:3px 12px;}
#tags a:hover{text-shadow:0 0 2px;text-decoration:none;box-shadow:0 0 4px #E2E2E2;}
.tags1,.tags1:visited{font-size:12px;color:#a7a7a7;}
.tags2,.tags2:visited{font-size:14px;color:gray;}
.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: #FEFEFE;box-shadow: 0 0 2px #E2E2E2;padding-bottom: 20px;line-height: 20px;margin: 20px;width: 276px;position: absolute;top: 0;}
.archives h3 {text-align: center;}
.archives a{display:block;margin-left: 80px;}
.dynamic .module{background-color:#FEFEFE;box-shadow:0 0 2px #E2E2E2;float:left;line-height:20px;width:393px;margin:20px;padding:10px 20px 20px;}
.dynamic .side-comments{width:600px;}
.dynamic .side-comments .comment-panel{width:510px;}
.dynamic .side-tags{width:186px;}
.dynamic .side-tags li{float:left;margin:0 5px;}
.links li{float:left;width:273px;margin:0 20px 10px;}
.other-main{display:inline-block;width:950px;margin:50px 20px 0;}
.left,.nav li{float:left;}
.article-body a:vidited{color:#9a9a9a;}
.body > ul,.article-relative ul,.dynamic ul{list-style:none;}
.dynamic h3{text-align:center;}
.form input:focus,.form textarea:focus,.archives>div:hover,.dynamic .module:hover{box-shadow:0 0 4px #E2E2E2;}
html,body,div,ul,li{margin:0;padding:0;}
body{font-family:Verdana,arial,\5fae\8f6f\96c5\9ed1;font-size:12px;}
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;}
.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{background-image:url(../../ease/images/emotions/emotions-classic.png);float:left;height:24px;margin-right:5px;width:24px;}
.em01{background-position:-24px 0;}
.em02{background-position:-48px 0;}
.em03{background-position:-72px 0;}
.em04{background-position:-96px 0;}
.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:#FDFDFD;}
.wrapper{margin:0 50px;}
.body{margin:0 auto 50px;width:990px;}
.header{position:fixed;width:100%;background-color:#FDFDFD;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 .4s ease, background .4s ease;-webkit-transition:width .4s ease, background .4s ease;transition:width .4s ease, background .4s ease;}
#search:focus{background-color:#FDFDFD;width:196px;}
.banner{margin-bottom:20px;}
.banner .notice{float:left;margin:20px 0 0 50px;}
.nav{background-color:#FFF;box-shadow:0 2px 2px #D5D5D5, 0 3px 3px -3px #D5D5D5 inset;height:29px;}
.nav ul{list-style:none;float:left;}
.nav li{float:left;}
.nav a{display:block;float:left;font-size:14px;line-height:29px;margin-right:30px;text-shadow:0 0 1px #D5D5D5;}
.nav a.current{color:#00b4d2;font-weight:700;text-shadow:0 0 3px #D5D5D5;}
.nav img{margin-left:3px;}
.footer{background-color:#FDFDFD;border-top:2px solid #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;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:#D5D5D5;}
.body > ul{list-style:none;}
.article{border-bottom:1px solid #f6f6f6;padding:20px 70px;}
.article:hover{border-bottom-color:#D5D5D5;box-shadow:0 0 1px #f6f6f6 inset;background-color:#FDFDFD;}
.article-body{line-height:145%;overflow:hidden;word-wrap:break-word;}
.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-next{background-color:#FDFDFD;box-shadow:0 0 3px #D5D5D5 inset;cursor:pointer;font-size:14px;line-height:36px;text-align:center;}
.article-next:hover{box-shadow:0 0 3px #D5D5D5, 0 0 3px #D5D5D5 inset;}
.article-relative{background-color:#FDFDFD;box-shadow:0 0 2px #D5D5D5;float:left;margin:20px 0;padding:0 20px 10px;width:365px;}
.article-relative:hover{background-color:#fff;box-shadow:0 0 4px #D5D5D5;}
.article-relative ul{list-style:none;}
#relevantArticles{margin-right:40px;}
#externalRelevantArticles{width:297px;margin-top:0;}
#comments{padding:20px 70px;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 10px 20px;min-height:64px;overflow:hidden;width:760px;}
.comment-body-ref{background-color:#FDFDFD;box-shadow:0 0 2px #D5D5D5;display:block;left:140px;padding:10px;opacity:0.9;filter:alpha(opacity=90);position:absolute;}
.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:756px;}
.form{padding:0 70px 20px;float:left;}
.form th{text-align:right;white-space:nowrap;}
.form input[type=text],.form input[type=password],.form textarea{background-color:#FDFDFD;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:#A7A7A7;}
.form button:hover{box-shadow:0 0 4px #D5D5D5;text-shadow:0 0 2px;}
.form img{background-color:#FDFDFD;box-shadow:0 0 2px #D5D5D5;cursor:pointer;height:24px;padding:1px;}
#tags li{float:left;height:38px;}
#tags a{margin:3px 6px;padding:3px 12px;background-color:#FDFDFD;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:#FDFDFD;box-shadow:0 0 2px #D5D5D5;padding-bottom:20px;line-height:20px;margin:20px;width:276px;position:absolute;top:0;}
.archives h3{text-align:center;}
.archives > div:hover{box-shadow:0 0 4px #D5D5D5;}
.archives a{display:block;margin-left:80px;}
.dynamic ul{list-style:none;}
.dynamic h3{text-align:center;}
.dynamic .module{background-color:#FDFDFD;box-shadow:0 0 2px #D5D5D5;float:left;line-height:20px;margin:20px;padding:10px 20px 20px;width:393px;}
.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:186px;}
.dynamic .side-tags li{float:left;margin:0 5px;}
.links li{float:left;margin:0 20px 10px;width:273px;}
.other-main{display:inline-block;margin:50px 20px 0;width:950px;}

View File

@@ -1,306 +1,306 @@
/*
* 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 <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.0.9, May 28, 2012
*/
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(location.pathname.indexOf("tags") > -1) {
var tagsPathnaem = location.pathname.split("/tags/");
var tags = tagsPathnaem[1].split("/");
path = "/articles/tags/" + tags[0] + "/";
} else if (location.pathname.indexOf("archives") > -1) {
var archivesPathname = location.pathname.split("/archives/");
var archives = archivesPathname[1].split("/");
path = "/articles/archives/" + archives[0] + "/" + archives[1] + "/";
}
$.ajax({
url: latkeConfig.staticServePath + 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];
articlesHTML += '<li class="article">' +
'<div class="article-title">' +
'<h2>' +
'<a rel="bookmark" class="ft-gray" href="' + latkeConfig.servePath + article.articlePermalink + '">' +
article.articleTitle +
'</a>';
if (article.hasUpdated) {
articlesHTML += '<sup>' + Label.updatedLabel + '</sup>';
}
if (article.articlePutTop) {
articlesHTML += '<sup>' + Label.topArticleLabel + '</sup>';
}
articlesHTML += '</h2>' +
'<div class="right">' +
'<a rel="nofollow" class="ft-gray" href="' + latkeConfig.servePath + article.articlePermalink + '#comments">' +
+ article.articleCommentCount + '&nbsp;&nbsp;' + Label.commentLabel +
'</a>&nbsp;&nbsp;' +
'<a rel="nofollow" class="ft-gray" href="' + latkeConfig.servePath + article.articlePermalink + '">' +
article.articleViewCount + '&nbsp;&nbsp;' + Label.viewLabel +
'</a>' +
'</div>' +
'<div class="clear"></div>' +
'</div>' +
'<div class="article-body">' +
'<div id="abstract' + article.oId + '">' +
article.articleAbstract +
'</div>' +
'<div id="content' + article.oId + '" class="none"></div>' +
'</div>' +
'<div class="article-info">' +
'<div class="right ft-gray">';
if (article.hasUpdated) {
articlesHTML += Util.toDate(article.articleUpdateDate, 'yy-MM-dd HH:mm');
} else {
articlesHTML += Util.toDate(article.articleCreateDate, 'yy-MM-dd HH:mm');
}
articlesHTML += ' <a href="' + latkeConfig.servePath + '/authors/' + article.authorId + '">' + article.authorName + '</a>' +
'</div>' +
'<div class="left ft-gray">' +
Label.tag1Label + " ";
var articleTags = article.articleTags.split(",");
for (var j = 0; j < articleTags.length; j++) {
articlesHTML += '<a rel="tag" href="' + latkeConfig.servePath + '/tags/' + encodeURIComponent(articleTags[j]) + '">' +
articleTags[j] + '</a>';
if (j < articleTags.length - 1) {
articlesHTML += ", ";
}
}
articlesHTML += '</div>' +
'<div class="clear"></div>' +
'</div>' +
'</li>';
}
$(".body>ul").append(articlesHTML);
// 最后一页处理
if (pagination.paginationPageCount === currentPage) {
$more.remove();
} else {
$more.css("background", "none");
}
}
});
};
var ease = {
$header: $(".header"),
$banner: $(".header").find(".banner"),
headerH: $(".header").height(),
$body: $(".body"),
$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");
this.$body.css("paddingTop", this.headerH + "px");
},
initArchives: function () {
var $archives = $(".archives");
if ($archives.length < 1) {
return;
}
var years = [],
$archiveList = $archives.find("span").each(function () {
var year = $(this).data("year"),
tag = true;
for (var i = 0; i < years.length; i++) {
if (year === years[i]) {
tag = false;
break;
}
}
if (tag) {
years.push(year);
}
});
var yearsHTML = "";
for (var j = 0; j < years.length; j++) {
var monthsHTML = "";
for (var l = 0; l < $archiveList.length; l++) {
var $month = $($archiveList[l]);
if ($month.data("year") === years[j]) {
monthsHTML += $month.html();
}
}
yearsHTML += "<div><h3 class='ft-gray'>" + years[j] + "</h3>" + monthsHTML + "</div>";
}
$archives.html(yearsHTML);
// position
var $items = $(".archives>div"),
line = 0,
top = 0,
heights = [];
for (var m = 0; m < $items.length; m++) {
for (var n = 0; n < 3; n++) {
if (m >= $items.length) {
break;
}
$items[m].style.left = (n * 318) + "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()[2]);
},
scrollEvent: function () {
var _it = this;
$(window).scroll(function () {
var y = $(window).scrollTop();
// header event
if (y >= _it.headerH && _it.$banner.css("display") === "block" &&
$("body").height() - $(window).height() > _it.headerH * 2) {
_it.$header.css("top", "0");
_it.$banner.css("display", "none");
_it.$body.css("paddingTop", _it.$nav.height() + "px");
}
if (y < _it.headerH && _it.$banner.css("display") === "none") {
_it.$header.css("top", "auto");
_it.$banner.css("display", "block");
_it.$body.css("paddingTop", _it.headerH + "px");
}
// 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());
});
}
};
(function () {
ease.getCurrentPage();
ease.initCommon();
ease.scrollEvent();
ease.setNavCurrent();
ease.initArchives();
ease.setDynamic();
/*
* 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 <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.1.0, Jun 2, 2012
*/
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(location.pathname.indexOf("tags") > -1) {
var tagsPathnaem = location.pathname.split("/tags/");
var tags = tagsPathnaem[1].split("/");
path = "/articles/tags/" + tags[0] + "/";
} else if (location.pathname.indexOf("archives") > -1) {
var archivesPathname = location.pathname.split("/archives/");
var archives = archivesPathname[1].split("/");
path = "/articles/archives/" + archives[0] + "/" + archives[1] + "/";
}
$.ajax({
url: latkeConfig.staticServePath + 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];
articlesHTML += '<li class="article">' +
'<div class="article-title">' +
'<h2>' +
'<a rel="bookmark" class="ft-gray" href="' + latkeConfig.servePath + article.articlePermalink + '">' +
article.articleTitle +
'</a>';
if (article.hasUpdated) {
articlesHTML += '<sup>' + Label.updatedLabel + '</sup>';
}
if (article.articlePutTop) {
articlesHTML += '<sup>' + Label.topArticleLabel + '</sup>';
}
articlesHTML += '</h2>' +
'<div class="right">' +
'<a rel="nofollow" class="ft-gray" href="' + latkeConfig.servePath + article.articlePermalink + '#comments">' +
+ article.articleCommentCount + '&nbsp;&nbsp;' + Label.commentLabel +
'</a>&nbsp;&nbsp;' +
'<a rel="nofollow" class="ft-gray" href="' + latkeConfig.servePath + article.articlePermalink + '">' +
article.articleViewCount + '&nbsp;&nbsp;' + Label.viewLabel +
'</a>' +
'</div>' +
'<div class="clear"></div>' +
'</div>' +
'<div class="article-body">' +
'<div id="abstract' + article.oId + '">' +
article.articleAbstract +
'</div>' +
'<div id="content' + article.oId + '" class="none"></div>' +
'</div>' +
'<div class="article-info">' +
'<div class="right ft-gray">';
if (article.hasUpdated) {
articlesHTML += Util.toDate(article.articleUpdateDate, 'yy-MM-dd HH:mm');
} else {
articlesHTML += Util.toDate(article.articleCreateDate, 'yy-MM-dd HH:mm');
}
articlesHTML += ' <a href="' + latkeConfig.servePath + '/authors/' + article.authorId + '">' + article.authorName + '</a>' +
'</div>' +
'<div class="left ft-gray">' +
Label.tag1Label + " ";
var articleTags = article.articleTags.split(",");
for (var j = 0; j < articleTags.length; j++) {
articlesHTML += '<a rel="tag" href="' + latkeConfig.servePath + '/tags/' + encodeURIComponent(articleTags[j]) + '">' +
articleTags[j] + '</a>';
if (j < articleTags.length - 1) {
articlesHTML += ", ";
}
}
articlesHTML += '</div>' +
'<div class="clear"></div>' +
'</div>' +
'</li>';
}
$(".body>ul").append(articlesHTML);
// 最后一页处理
if (pagination.paginationPageCount === currentPage) {
$more.remove();
} else {
$more.css("background", "none");
}
}
});
};
var ease = {
$header: $(".header"),
$banner: $(".header").find(".banner"),
headerH: $(".header").height(),
$body: $(".body"),
$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");
this.$body.css("paddingTop", this.headerH + "px");
},
initArchives: function () {
var $archives = $(".archives");
if ($archives.length < 1) {
return;
}
var years = [],
$archiveList = $archives.find("span").each(function () {
var year = $(this).data("year"),
tag = true;
for (var i = 0; i < years.length; i++) {
if (year === years[i]) {
tag = false;
break;
}
}
if (tag) {
years.push(year);
}
});
var yearsHTML = "";
for (var j = 0; j < years.length; j++) {
var monthsHTML = "";
for (var l = 0; l < $archiveList.length; l++) {
var $month = $($archiveList[l]);
if ($month.data("year") === years[j]) {
monthsHTML += $month.html();
}
}
yearsHTML += "<div><h3 class='ft-gray'>" + years[j] + "</h3>" + monthsHTML + "</div>";
}
$archives.html(yearsHTML);
// position
var $items = $(".archives>div"),
line = 0,
top = 0,
heights = [];
for (var m = 0; m < $items.length; m++) {
for (var n = 0; n < 3; n++) {
if (m >= $items.length) {
break;
}
$items[m].style.left = (n * 318) + "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();
// header event
if (y >= _it.headerH && _it.$banner.css("display") === "block" &&
$("body").height() - $(window).height() > _it.headerH * 2) {
_it.$header.css("top", "0");
_it.$banner.css("display", "none");
_it.$body.css("paddingTop", _it.$nav.height() + "px");
}
if (y < _it.headerH && _it.$banner.css("display") === "none") {
_it.$header.css("top", "auto");
_it.$banner.css("display", "block");
_it.$body.css("paddingTop", _it.headerH + "px");
}
// 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());
});
}
};
(function () {
ease.getCurrentPage();
ease.initCommon();
ease.scrollEvent();
ease.setNavCurrent();
ease.initArchives();
ease.setDynamic();
})();

2
ease/js/ease.min.js vendored

File diff suppressed because one or more lines are too long