From cb55d9943332720f5cccebd60a12d507f5b96195 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Sun, 2 Mar 2014 13:42:27 +0200 Subject: [PATCH 1/2] Minify JS files too. --- Gruntfile.js | 10 ++++++++++ docs/_includes/footer.html | 3 +-- docs/assets/js/docs.min.js | 10 ++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 docs/assets/js/docs.min.js diff --git a/Gruntfile.js b/Gruntfile.js index 61136d9..895e391 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -104,11 +104,21 @@ module.exports = function(grunt) { uglify: { options: { banner: '<%= banner %>', + compress: true, + mangle: true, + preserveComments: false, report: 'min' }, ratchet: { src: '<%= meta.distPath %><%= pkg.name %>.js', dest: '<%= meta.distPath %><%= pkg.name %>.min.js' + }, + docs: { + src: [ + '<%= meta.docsAssetsPath %>js/docs.js', + '<%= meta.docsAssetsPath %>js/fingerblast.js' + ], + dest: '<%= meta.docsAssetsPath %>js/docs.min.js' } }, diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html index 2ef9ea2..8296567 100644 --- a/docs/_includes/footer.html +++ b/docs/_includes/footer.html @@ -42,8 +42,7 @@ - - + diff --git a/docs/assets/js/docs.min.js b/docs/assets/js/docs.min.js new file mode 100644 index 0000000..78e0aa1 --- /dev/null +++ b/docs/assets/js/docs.min.js @@ -0,0 +1,10 @@ +/*! + * ===================================================== + * Ratchet v2.0.0 (http://goratchet.com) + * Copyright 2014 Connor Sears + * Licensed under MIT. + * + * v2.0.0 designed by @connors. + * ===================================================== + */ +function FingerBlast(a){this.element="string"==typeof a?document.querySelector(a):a,this.listen()}$(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o=function(){k=0,l=[],win=$(window),a=$(document),bod=$(document.body),b=b||$(".js-device"),h=$(".js-jump-menu"),i=$(".js-component-group"),componentLinks=$(".component-example a"),j=$(".component"),l=j.map(function(){return $(this).offset().top}),d=$(window).height()/3,c=$(window).width(),e=$(document).height(),f=parseInt($(".docs-content").css("padding-bottom")),g=$(".docs-footer").outerHeight(!1),n=$(".js-docs-component-toolbar"),c>=768&&(b.initialLeft=b.offset().left,b.initialTop=b.initialTop||b.offset().top,b.dockingOffset=($(window).height()-b.height())/2),q(),r(),s(),m||p()},p=function(){m=!0,b.on("click",function(a){a.preventDefault()}),$(".js-docs-nav-trigger").on("click",function(){var a=$(".docs-nav-group"),b=$(".js-docs-nav-trigger");b.toggleClass("active"),a.toggleClass("active")}),h.click(function(a){a.stopPropagation(),a.preventDefault(),i.toggleClass("active")}),a.on("click",function(){i.removeClass("active")}),$(".platform-switch").on("click",function(){var a=$(".docs-components"),b=$(this).attr("data-platform");a.hasClass("platform-ios")?(a.removeClass("platform-ios"),a.addClass(b)):a.hasClass("platform-android")?(a.removeClass("platform-android"),a.addClass(b)):a.addClass(b),$(this).siblings(".active").removeClass("active"),$(this).addClass("active")}),win.on("scroll",r),win.on("scroll",s)},q=function(){if(c=$(window).width(),768>=c){var a=$(".content");a.length>1&&$(a[0]).remove()}},r=function(){function a(a){$("#iwindow").html(a)}if(!(768>=c)){var e,f=win.scrollTop();b.initialTop-f<=b.dockingOffset?(b[0].className="device device-fixed",b.css({top:b.dockingOffset})):(b[0].className="device",b[0].setAttribute("style",""));for(var g=j.length;g--;)if(l[g]-f=b?n.addClass("visible"):b>=a&&(n.removeClass("visible"),i.removeClass("active"))};$(window).on("load resize",o),$(window).on("load",function(){new FingerBlast(".device-content")})}),FingerBlast.prototype={x:0/0,y:0/0,startDistance:0/0,startAngle:0/0,mouseIsDown:!1,listen:function(){function a(a,b){var c,d,e;if("compareDocumentPosition"in b)return!!(16&b.compareDocumentPosition(a));if("contains"in b)return b!=a&&b.contains(a);for(c=b.getElementsByTagName("*"),d=0;e=c[d++];)if(e==a)return!0;return!1}var b=this.activate.bind(this),c=this.deactivate.bind(this);this.element.addEventListener("mouseover",function(c){var d=c.relatedTarget;d==this||a(d,this)||b()}),this.element.addEventListener("mouseout",function(b){var d=b.relatedTarget;d==this||a(d,this)||c(b)})},activate:function(){this.active||(this.element.addEventListener("mousedown",this.touchStart=this.touchStart.bind(this),!0),this.element.addEventListener("mousemove",this.touchMove=this.touchMove.bind(this),!0),this.element.addEventListener("mouseup",this.touchEnd=this.touchEnd.bind(this),!0),this.element.addEventListener("click",this.click=this.click.bind(this),!0),this.active=!0)},deactivate:function(a){this.active=!1,this.mouseIsDown&&this.touchEnd(a),this.element.removeEventListener("mousedown",this.touchStart,!0),this.element.removeEventListener("mousemove",this.touchMove,!0),this.element.removeEventListener("mouseup",this.touchEnd,!0),this.element.removeEventListener("click",this.click,!0)},click:function(a){a.synthetic||(a.preventDefault(),a.stopPropagation())},touchStart:function(a){a.synthetic||/input|textarea/.test(a.target.tagName.toLowerCase())||(this.mouseIsDown=!0,a.preventDefault(),a.stopPropagation(),this.fireTouchEvents("touchstart",a))},touchMove:function(a){a.synthetic||(a.preventDefault(),a.stopPropagation(),this.move(a.clientX,a.clientY),this.mouseIsDown&&this.fireTouchEvents("touchmove",a))},touchEnd:function(a){a.synthetic||(this.mouseIsDown=!1,a.preventDefault(),a.stopPropagation(),this.fireTouchEvents("touchend",a),this.target&&(this.target.dispatchEvent(this.createMouseEvent("mouseover",a)),this.target.dispatchEvent(this.createMouseEvent("mousemove",a)),this.target.dispatchEvent(this.createMouseEvent("mousedown",a))))},fireTouchEvents:function(a,b){var c=[],d=[];if(this.target){var e="on"+a;if(e in this.target&&(console.warn("Converting `"+e+"` property to event listener.",this.target),this.target.addEventListener(a,this.target[e],!1),delete this.target[e]),this.target.hasAttribute(e)){console.warn("Converting `"+e+"` attribute to event listener.",this.target);var f=new GLOBAL.Function("event",this.target.getAttribute(e));this.target.addEventListener(a,f,!1),this.target.removeAttribute(e)}var g=this.createMouseEvent(a,b);if(c.push(g),c.length>1){var h=c[0].pageX-c[1].pageX,i=c[0].pageY-c[1].pageY,j=Math.sqrt(Math.pow(h,2)+Math.pow(i,2)),k=Math.atan2(h,i)*(180/Math.PI),l="gesturechange";"touchstart"===a&&(l="gesturestart",this.startDistance=j,this.startAngle=k),"touchend"===a&&(l="gestureend"),c.forEach(function(a){var b=this.createMouseEvent.call(a._finger,l,a);d.push(b)}.bind(this)),c.concat(d).forEach(function(a){a.scale=j/this.startDistance,a.rotation=this.startAngle-k})}c.forEach(function(a){a.touches=c.filter(function(a){return~a.type.indexOf("touch")&&"touchend"!==a.type}),a.changedTouches=c.filter(function(b){return~b.type.indexOf("touch")&&b._finger.target===a._finger.target}),a.targetTouches=a.changedTouches.filter(function(a){return~a.type.indexOf("touch")&&"touchend"!==a.type})}),c.concat(d).forEach(function(a,b){a.identifier=b,a._finger.target.dispatchEvent(a)})}},createMouseEvent:function(a,b){var c=document.createEvent("MouseEvent");return c.initMouseEvent(a,!0,!0,b.view,b.detail,this.x||b.screenX,this.y||b.screenY,this.x||b.clientX,this.y||b.clientY,b.ctrlKey,b.shiftKey,b.altKey,b.metaKey,b.button,this.target||b.relatedTarget),c.synthetic=!0,c._finger=this,c},move:function(a,b){isNaN(a)||isNaN(b)?this.target=null:(this.x=a,this.y=b,this.mouseIsDown||(this.target=document.elementFromPoint(a,b)))}}; \ No newline at end of file From 13ee6e92c654e21bdc0c534064b5c8585256cb8d Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Sun, 2 Mar 2014 13:43:21 +0200 Subject: [PATCH 2/2] Docs: Use the minified ratchet.js. --- docs/_includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html index 8296567..28b26eb 100644 --- a/docs/_includes/footer.html +++ b/docs/_includes/footer.html @@ -41,7 +41,7 @@ - +