-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathjquery.prettify.min.js
More file actions
1 lines (1 loc) · 6.7 KB
/
jquery.prettify.min.js
File metadata and controls
1 lines (1 loc) · 6.7 KB
1
!function(t){t.fn.prettify=function(){var i=arguments[0];return e[i]?e[i].apply(this,Array.prototype.slice.call(arguments,1)):"string"!=typeof i?e.init.apply(this,arguments):(t.error("Method "+i+" does not exist on jQuery.prettify"),this)};var e={init:function(e,i){return void 0===e&&(e={}),t.isFunction(e)&&void 0===i&&(i=e,e={}),t.isPlainObject(e)?void 0===i||t.isFunction(i)?(void 0===i&&(i=void 0!==e&&t.isFunction(e.callback)?e.callback:null),this.each(function(){var n=t(this);if(n.hasClass("linenums")&&(e.linenums=!0),0===n.find("code, pre, xmp").length)return t.error("Element "+n.xpath()+"doesn't contain any element that could be prettified"),!0;var a=n.data();if(a=t.extend({},{progress:!1,linenums:!0,auto:!0},a,e,{callback:i}),!p(a))return!0;if("boolean"==typeof a.ready&&a.ready)return!0;var o=t.proxy(function(){var e=t(this),i=c(e);if(i===!1)return!0;if("windowWidth"===i.data("view")&&i.css("width","100%"),"noLineBreak"===i.data("view")&&i.css("minWidth","100%"),"normal"!==i.data("view")){var r=i.closest(".prettify-wrapper");r.css("height",i.height())}},this);t.extend(a,{ready:!1,view:"normal",resizeEvent:o}),n.addClass("prettify-viewNormal"),n.data(a),t(window).bind("resize.prettify",o),r(n);var f=a.progress!==!1?t(a.progress):!1;s(f),n.wrap('<div class="prettify-wrapper" />'),a.auto&&n.prettify("prettify")})):(t.error("jQuery.prettify.init() expects parameter 2 to be a function, "+typeof e+" given"),this):(t.error("jQuery.prettify.init() expects parameter 1 to be a plain object, "+typeof e+" given"),this)},destroy:function(){return this.each(function(){var e=t(this);e.removeData("prettify")})},prettify:function(){return window.prettyPrint?this.each(function(){var e=t(this),r=e.data();if(void 0===r||void 0===r.ready)return t.error("Can't prettify unknown element "+e.xpath()+". Run $(…).prettify() first!"),!0;if(r.ready)return t.error("You can't prettify element "+e.xpath()+" multiple times"),!0;var s=e.find("pre, code, xmp");r=n(e,s,r),e.data(r),r.progress!==!1&&a(t(r.progress)),t.isFunction(r.callback)&&t.proxy(r.callback,this)(),i(e)}):(t.error("Can't prettify without google-code-prettify loaded"),this)},viewNormal:function(e){return void 0===e||t.isFunction(e)?this.each(function(){var i=t(this),r=c(i,!0);if(r===!1)return!0;var n=r.data("view");if(void 0===n||"normal"!==n){var s=r.closest(".prettify-wrapper"),a=r.find("pre, code, xmp");r.data("view","normal"),r.addClass("prettify-viewNormal"),o(s,r,a,function(){r.removeClass("prettify-viewWindowWidth prettify-viewNoLineBreak"),t.isFunction(e)&&t.proxy(e,r)()})}}):(t.error("jQuery.prettify.viewNormal() expects parameter 1 to be a function, "+typeof e+" given"),this)},viewWindowWidth:function(e){return void 0===e||t.isFunction(e)?this.each(function(){var i=t(this),r=c(i,!0);if(r===!1)return!0;var n=r.data("view");if(void 0===n||"windowWidth"!==n){var s=r.closest(".prettify-wrapper"),a=r.find("pre, code, xmp");r.data("view","windowWidth"),r.addClass("prettify-viewWindowWidth"),f(s,r,a,"100%",function(){r.removeClass("prettify-viewNormal prettify-viewNoLineBreak"),t.isFunction(e)&&t.proxy(e,r)()})}}):(t.error("jQuery.prettify.viewWindowWidth() expects parameter 1 to be a function, "+typeof e+" given"),this)},viewNoLineBreak:function(e){return void 0===e||t.isFunction(e)?this.each(function(){var i=t(this),r=c(i,!0);if(r===!1)return!0;var n=r.data("view");if(void 0===n||"noLineBreak"!==n){var s=r.closest(".prettify-wrapper"),a=r.find("pre, code, xmp");r.data("view","noLineBreak"),r.addClass("prettify-viewNoLineBreak"),f(s,r,a,"auto",function(){r.removeClass("prettify-viewNormal prettify-viewWindowWidth"),t.isFunction(e)&&t.proxy(e,r)()})}}):(t.error("jQuery.prettify.viewNoLineBreak() expects parameter 1 to be a function, "+typeof e+" given"),this)}},i=function(t){t.slideDown("slow")},r=function(t){t.slideUp("fast")},n=function(e,i,r){return i.addClass("prettyprint"),r.linenums&&i.addClass("linenums"),prettyPrint(),i.removeClass("prettyprint linenums"),r.linenums&&(e.addClass("linenums"),i.each(function(){var e=t(this);e.find("li").length>=1e4?e.addClass("linenums-5"):e.find("li").length>=1e3?e.addClass("linenums-4"):e.find("li").length>=100&&e.addClass("linenums-3")})),t.extend(r,{ready:!0}),i.addClass("ready"),r},s=function(t){t!==!1&&t.slideDown("fast")},a=function(t){t!==!1&&t.slideUp("fast")},o=function(e,i,r,n){var s=i.width(),a=r.css("marginLeft"),o=r.css("marginRight");i.css("position","static"),i.css("width","auto"),r.css("marginLeft",0),r.css("marginRight",0),targetWidth=i.width(),targetOffsetLeft=i.offset().left,i.css("position","absolute"),i.css("width",s),r.css("marginLeft",a),r.css("marginRight",o),r.animate({marginLeft:0,marginRight:0},"fast"),i.animate({left:targetOffsetLeft,width:targetWidth},{duration:"slow",step:function(){var e=t(this),i=e.closest(".prettify-wrapper");i.css("height",e.height())},complete:function(){var e=t(this);e.css("position","static"),e.css("width","auto"),e.css("left",0);var i=e.closest(".prettify-wrapper");i.css("height","auto"),t.isFunction(n)&&t.proxy(n,this)()}})},f=function(e,i,r,n,s){var a=i.width(),o=i.height(),f=r.css("marginLeft"),p=r.css("marginRight"),c=i.offset().left;i.css("position","absolute"),i.css("width",n),i.css("minWidth","100%"),r.css("marginLeft",5),r.css("marginRight",5),r.css("whiteSpace","pre"),n=i.width(),i.css("width",a),i.css("minWidth",0),r.css("marginLeft",f),r.css("marginRight",p),r.css("whiteSpace","pre-wrap"),e.css("height",o),i.css("left",c),r.animate({marginLeft:5,marginRight:5},"fast"),i.animate({left:0,width:n},{duration:"slow",step:function(){var e=t(this),i=e.closest(".prettify-wrapper");i.css("height",e.height())},complete:function(){var e=t(this),i=e.closest(".prettify-wrapper");i.css("height",e.height()),t.isFunction(s)&&t.proxy(s,this)()}})},p=function(e){return"string"==typeof e.progress||"boolean"==typeof e.progress&&e.progress!==!0?"boolean"!=typeof e.linenums?(t.error("Option linenums of jQuery.prettify.init() expects to be a boolean, "+typeof options+" given"),!1):"boolean"!=typeof e.auto?(t.error("Option auto of jQuery.prettify.init() expects to be a boolean, "+typeof options+" given"),!1):t.isFunction(e.callback)||null===e.callback?!0:(t.error("Option callback of jQuery.prettify.init() expects to be a function, "+typeof options+" given"),!1):(t.error("Option progress of jQuery.prettify.init() expects to be a string or false, "+typeof options+" given"),!1)},c=function(e,i){if(e.hasClass("prettify"))var r=e;else{var r=e.data("prettify");if(void 0===r)return t.error("Element "+e.xpath()+" doesn't reference a prettify container"),!1}if("boolean"==typeof i){var i=r.data("ready");if("boolean"!=typeof i||!i)return t.error("The prettify container "+r.xpath()+" isn't ready. Run $(…).prettify('prettify') first!"),!1}return r}}(jQuery),jQuery(document).ready(function(t){t(".prettify").prettify()});