Files
eiblog/views/st_blog_js.js
2016-10-12 23:31:42 +08:00

3 lines
6.7 KiB
JavaScript

{{define "blog_js"}}
var stringProto=String.prototype;stringProto.stripTags=function(){return this.replace(/<[^>]*>/gi,"")},stringProto.decode4Html=function(){var t=document.createElement("div");return t.innerHTML=this.stripTags(),t.childNodes[0]?t.childNodes[0].nodeValue||"":""},function(t){t.disqus_shortname="deepzz",$.each(["CURRENT_PAGE","CDN_DOMAIN"],function(a,e){t[e]="";var s=$("#"+e);s&&(t[e]=s.val())})}(this),function(t){function a(a){var e,s,n={selector:null,height:200};n=$.extend(n,a),e=n.height,s=function(){var a=$(t).scrollTop(),s=$(t).height()+a;$(n.selector).find("img[data-src]").each(function(){var t=$(this);setTimeout(function(){var n,i=t.offset(),o=t.height();i.top>s+e||i.top+o<a-e||(n=t.data("src"),n&&(t.on("load",function(){t.addClass("loaded")}),t.attr("src",n),t.removeAttr("data-src")))},0)})},$(t).on("resize",s),$(t).on("scroll",s),s()}t.lazyLoad=a}(this),function(t){function a(a){var e='<li class="post" id="post-'+a.id+'"><div class="post-content clearfix"><div class="indicator"></div><div class="avatar"><div class="user">'+(a.url?'<a href="'+a.url+'"><img data-src="'+a.avatar+'" /></a>':'<img data-src="'+t.CDN_DOMAIN+'/static/img/default_avatar.png" />')+'</div></div><div class="post-body"><header class="post-header"><span class="post-byline"><span class="author publisher-anchor-color">'+(a.url?'<a href="'+a.url+'">'+a.name+"</a>":a.name)+'</span></span><span class="post-meta"><span class="bullet"> • </span><a data-id="'+a.id+'" href="'+location.href.replace(/#.*$/,"")+"#comment-"+a.id+'" class="time-ago" title="'+a.createdAt+'">'+a.createdAtStr+'</a></span></header><div class="post-body-inner">'+a.message+'</div></div></div><ul class="children" data-id="'+a.id+'"></ul></li>';return e}function e(t){for(;t.length;){var e=[];t.forEach(function(t){var s=t.parent,n=i.find('ul[data-id="'+s+'"]');return n.length?void n.append(a(t)):void e.push(t)}),t=e}}function s(t){var a="";a=t.comments.length?'<div class="thread"><header><nav class="nav clearfix"><ul><li class="nav-tab tab-conversation active"><a class="publisher-nav-color"><span>'+t.total+' </span>Comments</span></a></li></ul></nav></header><section><ul class="post-list" data-id="0"></ul><div class="load-more"><a href="#" class="btn">Load more comments</a></div></section></div>':'<p class="no-result">没有找到任何评论数据~<br /><br /><a href="#disqus_thread">点此发表评论 \xbb</a></p>',i.html(a)}function n(){if(!o){o=!0;var a;a=r?"/disqus/"+t.simple_config.id+"/"+encodeURIComponent(r):"/disqus/"+t.simple_config.id,$.get(a,{},function(a){var n;o=!1,a&&0==a.errno?(r?e(a.data.comments):(s(a.data),e(a.data.comments),$(t).trigger("hashchange","scrollIntoView")),n=i.find(".load-more a"),a.data.next?n.removeClass("busy"):n.hide(),r=a.data.next,$(t).trigger("scroll")):i.html('<p class="no-result">获取数据失败,请稍后再试!</p>')})}}var i=$("#simple_thread"),o=!1,r="";i.on("click",".load-more a",function(t){t.preventDefault(),$(this).addClass("busy"),n()}).on("click",".time-ago",function(t){t.preventDefault(),location.hash="simple-"+$(this).data("id")}),$(t).on("hashchange",function(a,e){var s,n=location.hash.match(/#(?:comment|simple)-(\d+)/);n&&(s=i.find("#post-"+n[1]),s.length&&(i.find(".post-content.target").removeClass("target"),s.find("> .post-content").addClass("target"),e&&$(t).scrollTop(s.offset().top-90)))}),/(iPhone|Android)/.test(navigator.userAgent)&&i.addClass("mobile"),t.initSimpleThread=n}(window,document),function(t,a){return"127.0.0.1"!=a.domain&&"deepzz.com"!=a.domain?void (location.href=location.href.replace(/(https?:\/\/[^\/]+)\//i,"//deepzz.com/")):void $(function(){lazyLoad({selector:"#content",height:100}),function(){var t=$("#content"),a=t.find("img"),e=t.width();a.each(function(){var t=$(this),a=0|t.attr("width"),s=0|t.attr("height"),n=t.prop("complete");a>e&&t.attr("height",Math.ceil(s/a*e)),t.prop("src")&&(n?t.addClass("loaded"):t.on("load",function(){t.addClass("loaded")}))})}(),function(){if("search-post"==CURRENT_PAGE){var t=$("#keyword");t.val()||t.focus()}}(),function(){var a,e,s,n=$("#disqus_thread"),i=$("#simple_thread"),o=!1,r=!1,c=$("#switch_thread_mode");c.length&&(t.disqus_config=function(){this.language="en",this.page.url=n.data("url"),this.page.identifier=n.data("identifier")},t.simple_config={id:i.data("id")},a=function(){n.show(),i.hide(),c.html('「<a href="#simple_thread">切换到评论浏览模式</a>」'),localStorage.comment_type="disqus_thread",o||(o=!0,n.html("评论加载中...<br /><br />注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理;或者切换到评论浏览模式。"),$.ajax({url:t.CDN_DOMAIN+"/static/js/disqus_f7ce60.js",dataType:"script",cache:!0}))},e=function(){n.hide(),i.show(),c.html('「<a href="#disqus_thread">切换到评论完整模式</a>」'),localStorage.comment_type="simple_thread",r||(r=!0,i.html("评论加载中...<br /><br />注:本模式仅供浏览,如需发表评论请切换到评论完整模式。"),t.initSimpleThread())},s=function(){var t=location.hash;return"#simple_thread"==t||/#simple-\d+$/.test(t)?(e(),!0):"#disqus_thread"==t||/#comment-\d+$/.test(t)?(a(),!0):void 0},$(t).on("hashchange",s),setTimeout(function(){/ # (simple | comment) - \d + $ /.test(location.hash)&&$("#comments").get(0).scrollIntoView();var i=setInterval(function(){var o=n.offset().top,r=$(t).scrollTop();if(Math.abs(o-r)<1000){if(clearTimeout(i),s()){return}if("simple_thread"==localStorage.comment_type){return void e()}a()}},150)},250))}()})}(this,document),function(t){$(function(){$(".entry-content pre").each(function(t){var a,e,s,n=$(this),i=n.find("code");if(i.length&&i.prop("className")&&(i.hasClass("language-html")&&(a="__HTML_CODE_"+t,i.prop("id",a),e=$('<input data-id="'+a+'" type="button" class="runcode" value="在新窗口运行以上代码" />'),e.insertAfter(n)),i.html().split("\n").length>3&&i.prop("className").indexOf("language")>-1)){switch(s=i.prop("className").replace("language-","").toUpperCase()){case"XML":s="HTML";break;case"SHELL":s="BASH"}$('<b class="name">'+s+"</a>").insertBefore(i)}}),$(".entry-content input.runcode").each(function(){var a=$(this);a.click(function(a){var e,s,n;a.preventDefault(),e=$("#"+$(this).data("id")).html().stripTags().decode4Html(),s=t.open("","_preview",""),n=s.document,n.open(),n.write(e),n.close()})}),$(".entry-content > pre code").each(function(i,block){hljs.highlightBlock(block)})})}(this),function(){$(function(){$(".entry-content img[data-replace]").each(function(){var t=$(this);t.click(function(){var a,e,s,n,i=1000*(t.data("dur")||20);t.css("cursor")&&(a="/static/img/blog/blank.gif",e=t.prop("src"),s=t.data("replace"),t.prop("src",a),t.css("cursor",""),n=new Image,n.onload=function(){t.prop("src",s),setTimeout(function(){t.prop("src",e),t.css("cursor","pointer")},i)},n.src=s)}),t.css("cursor","pointer")})})}(this);
{{end}}