1
|
!function(t){"use strict";function e(t){var e,i,s=[];if("number"==typeof t)s.push(t);else{i=t.split(",");for(var n=0;n<i.length;n++)if(e=i[n].split("-"),2===e.length)for(var a=parseInt(e[0],10);a<=e[1];a++)s.push(a);else 1===e.length&&s.push(parseInt(e[0],10))}return s}t.fn.gist=function(i){return this.each(function(){var s,n,a,l,o,r,d,h,g,f,c=t(this),u={};return c.css("display","block"),s=c.data("gist-id")||"",a=c.data("gist-file"),d=c.data("gist-hide-footer")===!0,h=c.data("gist-hide-line-numbers")===!0,l=c.data("gist-line"),r=c.data("gist-highlight-line"),f=c.data("gist-show-spinner")===!0,g=!f&&(void 0===c.data("gist-show-loading")||c.data("gist-show-loading")),a&&(u.file=a),!!s&&(n="https://gist.github.com/"+s+".json",o="Loading gist "+n+(u.file?", file: "+u.file:"")+"...",g&&c.html(o),f&&c.html('<img style="display:block;margin-left:auto;margin-right:auto" alt="'+o+'" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif">'),void t.ajax({url:n,data:u,dataType:"jsonp",timeout:1e4,success:function(i){var s,a,o,g,f;i&&i.div?(i.stylesheet&&(0===i.stylesheet.indexOf("<link")?i.stylesheet=i.stylesheet.replace(/\\/g,"").match(/href=\"([^\s]*)\"/)[1]:0!==i.stylesheet.indexOf("http")&&(0!==i.stylesheet.indexOf("/")&&(i.stylesheet="/"+i.stylesheet),i.stylesheet="https://gist.github.com"+i.stylesheet)),i.stylesheet&&0===t('link[href="'+i.stylesheet+'"]').length&&(s=document.createElement("link"),a=document.getElementsByTagName("head")[0],s.type="text/css",s.rel="stylesheet",s.href=i.stylesheet,a.insertBefore(s,a.firstChild)),f=t(i.div),f.removeAttr("id"),c.html("").append(f),r&&(g=e(r),f.find("td.line-data").css({width:"100%"}),f.find(".js-file-line").each(function(e){t.inArray(e+1,g)!==-1&&t(this).css({"background-color":"rgb(255, 255, 204)"})})),l&&(o=e(l),f.find(".js-file-line").each(function(e){t.inArray(e+1,o)===-1&&t(this).parent().remove()})),d&&(f.find(".gist-meta").remove(),f.find(".gist-data").css("border-bottom","0px"),f.find(".gist-file").css("border-bottom","1px solid #ddd")),h&&f.find(".js-line-number").remove()):c.html("Failed loading gist "+n)},error:function(t,e){c.html("Failed loading gist "+n+": "+e)},complete:function(){i&&"function"==typeof i&&i()}}))})},t(function(){t("[data-gist-id]").gist()})}(jQuery);
|