This commit is contained in:
parent
7de1250af0
commit
1121ffae30
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -16,162 +16,164 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/**
|
||||
* @fileoverview neoease js.
|
||||
*
|
||||
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
|
||||
* @version 1.0.0.8, Sep 6, 2012
|
||||
*/
|
||||
* @fileoverview neoease js.
|
||||
*
|
||||
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
|
||||
* @version 1.0.0.8, Sep 6, 2012
|
||||
*/
|
||||
var goTop = function (acceleration) {
|
||||
acceleration = acceleration || 0.1;
|
||||
acceleration = acceleration || 0.1
|
||||
|
||||
var y = $(window).scrollTop();
|
||||
var speed = 1 + acceleration;
|
||||
window.scrollTo(0, Math.floor(y / speed));
|
||||
var y = $(window).scrollTop()
|
||||
var speed = 1 + acceleration
|
||||
window.scrollTo(0, Math.floor(y / speed))
|
||||
|
||||
if (y > 0) {
|
||||
var invokeFunction = "goTop(" + acceleration + ")";
|
||||
window.setTimeout(invokeFunction, 16);
|
||||
}
|
||||
};
|
||||
if (y > 0) {
|
||||
var invokeFunction = 'goTop(' + acceleration + ')'
|
||||
window.setTimeout(invokeFunction, 16)
|
||||
}
|
||||
}
|
||||
|
||||
var collapseArchive = function (it, year) {
|
||||
var tag = true;
|
||||
if (it.className === "collapse-ico") {
|
||||
it.className = "expand-ico";
|
||||
tag = false;
|
||||
} else {
|
||||
it.className = "collapse-ico";
|
||||
var tag = true
|
||||
if (it.className === 'collapse-ico') {
|
||||
it.className = 'expand-ico'
|
||||
tag = false
|
||||
} else {
|
||||
it.className = 'collapse-ico'
|
||||
}
|
||||
|
||||
$('#archiveSide li').each(function () {
|
||||
var $this = $(this)
|
||||
// hide other year month archives
|
||||
if ($this.data('year') === year) {
|
||||
if (tag) {
|
||||
$(this).show()
|
||||
} else {
|
||||
$(this).hide()
|
||||
}
|
||||
}
|
||||
|
||||
$("#archiveSide li").each(function () {
|
||||
var $this = $(this);
|
||||
// hide other year month archives
|
||||
if ($this.data("year") === year) {
|
||||
if (tag) {
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
var getArticle = function (it, id) {
|
||||
var $abstract = $("#abstract" + id),
|
||||
$content = $("#content" + id);
|
||||
|
||||
if ($content.html() === "") {
|
||||
$.ajax({
|
||||
url: "/get-article-content?id=" + id,
|
||||
type: "GET",
|
||||
dataType: "html",
|
||||
beforeSend: function () {
|
||||
$abstract.css("background",
|
||||
"url(/skins/neoease/images/ajax-loader.gif) no-repeat scroll center center transparent");
|
||||
},
|
||||
success: function(result, textStatus){
|
||||
it.className = "collapse-ico";
|
||||
$content.html(result);
|
||||
$abstract.hide().css("background", "none");
|
||||
$content.fadeIn("slow");
|
||||
}
|
||||
});
|
||||
var $abstract = $('#abstract' + id),
|
||||
$content = $('#content' + id)
|
||||
|
||||
if ($content.html() === '') {
|
||||
$.ajax({
|
||||
url: '/get-article-content?id=' + id,
|
||||
type: 'GET',
|
||||
dataType: 'html',
|
||||
beforeSend: function () {
|
||||
$abstract.css('background',
|
||||
'url(/skins/neoease/images/ajax-loader.gif) no-repeat scroll center center transparent')
|
||||
},
|
||||
success: function (result, textStatus) {
|
||||
it.className = 'collapse-ico'
|
||||
$content.html(result)
|
||||
$abstract.hide().css('background', 'none')
|
||||
$content.fadeIn('slow')
|
||||
Util.parseLanguage()
|
||||
Util.parseMarkdown()
|
||||
},
|
||||
})
|
||||
} else {
|
||||
if (it.className === 'expand-ico') {
|
||||
$abstract.hide()
|
||||
$content.fadeIn()
|
||||
it.className = 'collapse-ico'
|
||||
} else {
|
||||
if (it.className === "expand-ico") {
|
||||
$abstract.hide();
|
||||
$content.fadeIn();
|
||||
it.className = "collapse-ico";
|
||||
} else {
|
||||
$content.hide();
|
||||
$abstract.fadeIn();
|
||||
it.className = "expand-ico";
|
||||
}
|
||||
$content.hide()
|
||||
$abstract.fadeIn()
|
||||
it.className = 'expand-ico'
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
var goTranslate = function () {
|
||||
window.open("http://translate.google.com/translate?sl=auto&tl=auto&u=" + location.href);
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
// go top icon show or hide
|
||||
$(window).scroll(function () {
|
||||
var y = $(window).scrollTop();
|
||||
window.open('http://translate.google.com/translate?sl=auto&tl=auto&u=' +
|
||||
location.href)
|
||||
}
|
||||
|
||||
if (y > 182) {
|
||||
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();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// archive
|
||||
var currentYear = (new Date()).getFullYear(),
|
||||
year = currentYear;
|
||||
$("#archiveSide li").each(function (i) {
|
||||
var $this = $(this);
|
||||
|
||||
// hide other year month archives
|
||||
if ($this.data("year") !== currentYear) {
|
||||
$(this).hide()
|
||||
}
|
||||
|
||||
// append year archive
|
||||
if (year !== $this.data("year")) {
|
||||
year = $this.data("year");
|
||||
$this.before("<li class='archive-year'><div onclick='collapseArchive(this, " +
|
||||
year + ")' class='expand-ico'>" + year + " \u5e74</div></li>");
|
||||
}
|
||||
});
|
||||
|
||||
// recent comment mouse click
|
||||
$(".recent-comments .expand-ico").click(function () {
|
||||
if (this.className === "expand-ico") {
|
||||
$(this).parent().next().css({
|
||||
"height": "auto",
|
||||
"white-space": "normal"
|
||||
});
|
||||
this.className = "collapse-ico";
|
||||
} else {
|
||||
$(this).parent().next().animate({
|
||||
"height": "18px"
|
||||
}, function () {
|
||||
$(this).css("white-space", "nowrap");
|
||||
});
|
||||
this.className = "expand-ico";
|
||||
}
|
||||
});
|
||||
|
||||
// nav current
|
||||
$(".nav ul li").each(function () {
|
||||
var $a = $(this).find("a");
|
||||
if ($a.attr("href") === Label.servePath + location.pathname) {
|
||||
$(this).addClass("current");
|
||||
} else if (/\/[0-9]+$/.test(location.pathname)) {
|
||||
$(".nav ul li")[0].className = "current";
|
||||
}
|
||||
});
|
||||
|
||||
Util.setTopBar()
|
||||
Util.replaceSideEm($(".recent-comments-content"));
|
||||
Util.buildTags("tagsSide");
|
||||
|
||||
// recent comments
|
||||
$(".recent-comments .recent-comments-main").each(function () {
|
||||
if ($(this).find(".recent-comments-content>a").height() < 30) {
|
||||
$(this).find(".expand-ico").remove();
|
||||
} else {
|
||||
$(this).find(".expand-ico").parent().next().css({
|
||||
"white-space": "nowrap"
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
// go top icon show or hide
|
||||
$(window).scroll(function () {
|
||||
var y = $(window).scrollTop()
|
||||
|
||||
if (y > 182) {
|
||||
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()
|
||||
}
|
||||
})
|
||||
|
||||
// archive
|
||||
var currentYear = (new Date()).getFullYear(),
|
||||
year = currentYear
|
||||
$('#archiveSide li').each(function (i) {
|
||||
var $this = $(this)
|
||||
|
||||
// hide other year month archives
|
||||
if ($this.data('year') !== currentYear) {
|
||||
$(this).hide()
|
||||
}
|
||||
|
||||
// append year archive
|
||||
if (year !== $this.data('year')) {
|
||||
year = $this.data('year')
|
||||
$this.before('<li class=\'archive-year\'><div onclick=\'collapseArchive(this, ' +
|
||||
year + ')\' class=\'expand-ico\'>' + year + ' \u5e74</div></li>')
|
||||
}
|
||||
})
|
||||
|
||||
// recent comment mouse click
|
||||
$('.recent-comments .expand-ico').click(function () {
|
||||
if (this.className === 'expand-ico') {
|
||||
$(this).parent().next().css({
|
||||
'height': 'auto',
|
||||
'white-space': 'normal',
|
||||
})
|
||||
this.className = 'collapse-ico'
|
||||
} else {
|
||||
$(this).parent().next().animate({
|
||||
'height': '18px',
|
||||
}, function () {
|
||||
$(this).css('white-space', 'nowrap')
|
||||
})
|
||||
this.className = 'expand-ico'
|
||||
}
|
||||
})
|
||||
|
||||
// nav current
|
||||
$('.nav ul li').each(function () {
|
||||
var $a = $(this).find('a')
|
||||
if ($a.attr('href') === Label.servePath + location.pathname) {
|
||||
$(this).addClass('current')
|
||||
} else if (/\/[0-9]+$/.test(location.pathname)) {
|
||||
$('.nav ul li')[0].className = 'current'
|
||||
}
|
||||
})
|
||||
|
||||
Util.setTopBar()
|
||||
Util.replaceSideEm($('.recent-comments-content'))
|
||||
Util.buildTags('tagsSide')
|
||||
|
||||
// recent comments
|
||||
$('.recent-comments .recent-comments-main').each(function () {
|
||||
if ($(this).find('.recent-comments-content>a').height() < 30) {
|
||||
$(this).find('.expand-ico').remove()
|
||||
} else {
|
||||
$(this).find('.expand-ico').parent().next().css({
|
||||
'white-space': 'nowrap',
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
148
NeoEase/side.ftl
148
NeoEase/side.ftl
|
@ -18,77 +18,87 @@
|
|||
|
||||
-->
|
||||
<div class="side">
|
||||
<#if "" != noticeBoard>
|
||||
<div>
|
||||
<h4>${noticeBoardLabel}</h4>
|
||||
<div>${noticeBoard}</div>
|
||||
<br>
|
||||
<#include "../../common-template/macro-user_site.ftl"/>
|
||||
<@userSite dir="nw"/>
|
||||
<#if "" != noticeBoard>
|
||||
<br><br>
|
||||
<div style="text-align: center">${noticeBoard}</div>
|
||||
</#if>
|
||||
</div>
|
||||
</#if>
|
||||
<#if 0 != recentComments?size>
|
||||
<#if article?? && article.articleToC?? && article.articleToC?size > 0>
|
||||
<div>
|
||||
<h4>${tocLabel}</h4>
|
||||
<#include "../../common-template/toc.ftl"/>
|
||||
</div>
|
||||
|
||||
<#else>
|
||||
<#if 0 != recentComments?size>
|
||||
<div>
|
||||
<h4>${recentCommentsLabel}</h4>
|
||||
<ul class="recent-comments">
|
||||
<#list recentComments as comment>
|
||||
<li>
|
||||
<img class='left' title='${comment.commentName}'
|
||||
alt='${comment.commentName}'
|
||||
src='${comment.commentThumbnailURL}'/>
|
||||
<div class='recent-comments-main'>
|
||||
<div>
|
||||
<li>
|
||||
<img class='left' title='${comment.commentName}'
|
||||
alt='${comment.commentName}'
|
||||
src='${comment.commentThumbnailURL}'/>
|
||||
<div class='recent-comments-main'>
|
||||
<div>
|
||||
<span class="left">
|
||||
<#if "http://" == comment.commentURL>
|
||||
${comment.commentName}
|
||||
${comment.commentName}
|
||||
<#else>
|
||||
<a target="_blank" href="${comment.commentURL}">${comment.commentName}</a>
|
||||
</#if>
|
||||
</span>
|
||||
<span class="expand-ico"></span>
|
||||
<span class="clear"></span>
|
||||
<span class="expand-ico"></span>
|
||||
<span class="clear"></span>
|
||||
</div>
|
||||
<div class="recent-comments-content">
|
||||
<a href="${servePath}${comment.commentSharpURL}">
|
||||
${comment.commentContent}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="recent-comments-content">
|
||||
<a href="${servePath}${comment.commentSharpURL}">
|
||||
${comment.commentContent}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class='clear'></div>
|
||||
</li>
|
||||
<div class='clear'></div>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</#if>
|
||||
<#if 0 != mostCommentArticles?size>
|
||||
</#if>
|
||||
<#if 0 != mostCommentArticles?size>
|
||||
<div>
|
||||
<h4>${mostCommentArticlesLabel}</h4>
|
||||
<ul class="side-li">
|
||||
<#list mostCommentArticles as article>
|
||||
<li>
|
||||
<sup>[${article.articleCommentCount}]</sup>
|
||||
<a title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<sup>[${article.articleCommentCount}]</sup>
|
||||
<a title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</#if>
|
||||
<#if 0 != mostViewCountArticles?size>
|
||||
</#if>
|
||||
<#if 0 != mostViewCountArticles?size>
|
||||
<div>
|
||||
<h4>${mostViewCountArticlesLabel}</h4>
|
||||
<ul class="side-li">
|
||||
<#list mostViewCountArticles as article>
|
||||
<li>
|
||||
<sup>[${article.articleViewCount}]</sup>
|
||||
<a title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<sup>[${article.articleViewCount}]</sup>
|
||||
<a title="${article.articleTitle}" href="${servePath}${article.articlePermalink}">
|
||||
${article.articleTitle}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#if 0 != mostUsedCategories?size>
|
||||
<#if 0 != mostUsedCategories?size>
|
||||
<div>
|
||||
<h4>${categoryLabel}</h4>
|
||||
<ul class="tags">
|
||||
|
@ -102,58 +112,64 @@
|
|||
</ul>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#if 0 != mostUsedTags?size>
|
||||
<#if 0 != mostUsedTags?size>
|
||||
<div>
|
||||
<h4>${tagsLabel}</h4>
|
||||
<ul id="tagsSide" class="tags">
|
||||
<#list mostUsedTags as tag>
|
||||
<li>
|
||||
<a data-count="${tag.tagPublishedRefCount}"
|
||||
href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}" title="${tag.tagTitle}(${tag.tagPublishedRefCount})">
|
||||
<span>${tag.tagTitle}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-count="${tag.tagPublishedRefCount}"
|
||||
href="${servePath}/tags/${tag.tagTitle?url('UTF-8')}"
|
||||
title="${tag.tagTitle}(${tag.tagPublishedRefCount})">
|
||||
<span>${tag.tagTitle}</span>
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</#if>
|
||||
<#if 0 != links?size>
|
||||
</#if>
|
||||
<#if 0 != links?size>
|
||||
<div>
|
||||
<h4>${linkLabel}</h4>
|
||||
<ul>
|
||||
<#list links as link>
|
||||
<li>
|
||||
<a rel="friend" href="${link.linkAddress}" title="${link.linkTitle}" target="_blank">
|
||||
<img alt="${link.linkTitle}"
|
||||
src="${faviconAPI}<#list link.linkAddress?split('/') as x><#if x_index=2>${x}<#break></#if></#list>" width="16" height="16" /></a>
|
||||
<a rel="friend" href="${link.linkAddress}" title="${link.linkTitle}" target="_blank">${link.linkTitle}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a rel="friend" href="${link.linkAddress}" title="${link.linkTitle}" target="_blank">
|
||||
<img alt="${link.linkTitle}"
|
||||
src="${faviconAPI}<#list link.linkAddress?split('/') as x><#if x_index=2>${x}<#break></#if></#list>"
|
||||
width="16" height="16"/></a>
|
||||
<a rel="friend" href="${link.linkAddress}" title="${link.linkTitle}"
|
||||
target="_blank">${link.linkTitle}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</#if>
|
||||
<#if 0 != archiveDates?size>
|
||||
</#if>
|
||||
<#if 0 != archiveDates?size>
|
||||
<div>
|
||||
<h4>${archiveLabel}</h4>
|
||||
<ul id="archiveSide">
|
||||
<#list archiveDates as archiveDate>
|
||||
<li data-year="${archiveDate.archiveDateYear}">
|
||||
<li data-year="${archiveDate.archiveDateYear}">
|
||||
<#if "en" == localeString?substring(0, 2)>
|
||||
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
|
||||
title="${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})">
|
||||
${archiveDate.monthName} ${archiveDate.archiveDateYear}</a>(${archiveDate.archiveDatePublishedArticleCount})
|
||||
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
|
||||
title="${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})">
|
||||
${archiveDate.monthName} ${archiveDate.archiveDateYear}</a>(${archiveDate.archiveDatePublishedArticleCount}
|
||||
)
|
||||
<#else>
|
||||
<a href="${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
|
||||
title="${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}(${archiveDate.archiveDatePublishedArticleCount})">
|
||||
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}</a>(${archiveDate.archiveDatePublishedArticleCount})
|
||||
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}</a>(${archiveDate.archiveDatePublishedArticleCount}
|
||||
)
|
||||
</#if>
|
||||
</li>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</div>
|
||||
</#if>
|
||||
</#if>
|
||||
</#if>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue