/* * Bolo - A stable and beautiful blogging system based in Solo. * Copyright (c) 2020, https://github.com/adlered * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ /** * @fileoverview neoease js. * * @author Liyuan Li * @version 1.0.0.8, Sep 6, 2012 */ var goTop = function (acceleration) { acceleration = acceleration || 0.1 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) } } var collapseArchive = function (it, year) { 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() } } }) } 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/bolo-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 { $content.hide() $abstract.fadeIn() it.className = 'expand-ico' } } 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() 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('
  • ' + year + ' \u5e74
  • ') } }) // 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', }) } }) })