compass_extension 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/lib/app/helpers/html5_boilerplate_helper.rb +63 -0
  2. data/lib/compass/h5bp/version.rb +6 -0
  3. data/lib/compass/h5bp.rb +7 -0
  4. data/lib/compass_extension.rb +9 -0
  5. data/stylesheets/_h5bp.scss +12 -0
  6. data/stylesheets/h5bp/_chromeframe.scss +7 -0
  7. data/stylesheets/h5bp/_helpers.scss +58 -0
  8. data/stylesheets/h5bp/_media.scss +23 -0
  9. data/stylesheets/h5bp/_normalize.scss +213 -0
  10. data/templates/project/_flashes.html.haml +4 -0
  11. data/templates/project/_footer.html.haml +2 -0
  12. data/templates/project/_head.html.haml +29 -0
  13. data/templates/project/_header.html.haml +1 -0
  14. data/templates/project/_javascripts.html.haml +37 -0
  15. data/templates/project/_stylesheets.html.haml +5 -0
  16. data/templates/project/application.html.haml +22 -0
  17. data/templates/project/files/404.html +38 -0
  18. data/templates/project/files/apple-touch-icon-114x114-precomposed.png +0 -0
  19. data/templates/project/files/apple-touch-icon-57x57-precomposed.png +0 -0
  20. data/templates/project/files/apple-touch-icon-72x72-precomposed.png +0 -0
  21. data/templates/project/files/apple-touch-icon-precomposed.png +0 -0
  22. data/templates/project/files/apple-touch-icon.png +0 -0
  23. data/templates/project/files/crossdomain.xml +25 -0
  24. data/templates/project/files/favicon.ico +0 -0
  25. data/templates/project/files/favicon.png +0 -0
  26. data/templates/project/files/google.yml +22 -0
  27. data/templates/project/files/humans.txt +43 -0
  28. data/templates/project/files/robots.txt +5 -0
  29. data/templates/project/index.html.haml +83 -0
  30. data/templates/project/javascripts/jquery-1.7.2.js +9404 -0
  31. data/templates/project/javascripts/jquery-1.7.2.min.js +4 -0
  32. data/templates/project/javascripts/jquery-ui-1.8.22.min.js +85 -0
  33. data/templates/project/javascripts/modernizr-2.5.3.min.js +4 -0
  34. data/templates/project/javascripts/plugins.js +105 -0
  35. data/templates/project/javascripts/rails.js +368 -0
  36. data/templates/project/javascripts/respond.min.js +6 -0
  37. data/templates/project/javascripts/script.js +26 -0
  38. data/templates/project/manifest.rb +83 -2
  39. data/templates/project/partials/SCSS_template.scss +83 -0
  40. data/templates/project/partials/_base.scss +198 -0
  41. data/templates/project/partials/_fonts.scss +4 -0
  42. data/templates/project/partials/_footer.scss +83 -0
  43. data/templates/project/partials/_header.scss +83 -0
  44. data/templates/project/partials/_media.scss +38 -0
  45. data/templates/project/partials/_modules.scss +19 -0
  46. data/templates/project/partials/_overrides.scss +47 -0
  47. data/templates/project/partials/_page.scss +126 -0
  48. data/templates/project/partials/modules/_mod-breadcrumb.scss +83 -0
  49. data/templates/project/partials/modules/_mod-carousels.scss +83 -0
  50. data/templates/project/partials/modules/_mod-default.scss +83 -0
  51. data/templates/project/partials/modules/_mod-form.scss +83 -0
  52. data/templates/project/partials/modules/_mod-login.scss +83 -0
  53. data/templates/project/partials/modules/_mod-pagination.scss +83 -0
  54. data/templates/project/partials/modules/_mod-subnav.scss +83 -0
  55. data/templates/project/partials/modules/_mod-widget.scss +83 -0
  56. data/templates/project/style.scss +28 -0
  57. metadata +56 -3
  58. data/templates/project/screen.scss +0 -2
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Content Plugins:
3
+ *
4
+ * - console.log
5
+ *
6
+ * - Equal Height
7
+ * - jQuery FlexSlider v2.0
8
+ *
9
+ **/
10
+
11
+ // usage: log('inside coolFunc', this, arguments);
12
+ // paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
13
+ window.log = function f(){ log.history = log.history || []; log.history.push(arguments); if(this.console) { var args = arguments, newarr; args.callee = args.callee.caller; newarr = [].slice.call(args); if (typeof console.log === 'object') log.apply.call(console.log, console, newarr); else console.log.apply(console, newarr);}};
14
+
15
+ // make it safe to use console.log always
16
+ (function(a){function b(){}for(var c="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),d;!!(d=c.pop());){a[d]=a[d]||b;}})
17
+ (function(){try{console.log();return window.console;}catch(a){return (window.console={});}}());
18
+
19
+
20
+ /*--------------------------------------------------------------------
21
+ * JQuery Plugin: "EqualHeights" & "EqualWidths"
22
+ * by: Scott Jehl, Todd Parker, Maggie Costello Wachs (http://www.filamentgroup.com)
23
+ *
24
+ * Copyright (c) 2007 Filament Group
25
+ * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
26
+ *
27
+ * Description: Compares the heights or widths of the top-level children of a provided element
28
+ and sets their min-height to the tallest height (or width to widest width). Sets in em units
29
+ by default if pxToEm() method is available.
30
+ * Dependencies: jQuery library, pxToEm method (article: http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/)
31
+ * Usage Example: $(element).equalHeights();
32
+ Optional: to set min-height in px, pass a true argument: $(element).equalHeights(true);
33
+ * Version: 2.0, 07.24.2008
34
+ * Changelog:
35
+ * 08.02.2007 initial Version 1.0
36
+ * 07.24.2008 v 2.0 - added support for widths
37
+ --------------------------------------------------------------------*/
38
+
39
+ $.fn.equalHeights = function(px) {
40
+ $(this).each(function(){
41
+ var currentTallest = 0;
42
+ $(this).children().each(function(i){
43
+ if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
44
+ });
45
+ //if (!px || !Number.prototype.pxToEm) currentTallest = currentTallest.pxToEm(); //use ems unless px is specified
46
+ // for ie6, set height since min-height isn't supported
47
+ if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'height': currentTallest}); }
48
+ $(this).children().css({'min-height': currentTallest}).css('background', 'cyan');
49
+ //console.log( $(this).children() );
50
+ });
51
+ return this;
52
+ };
53
+
54
+ // just in case you need it...
55
+ $.fn.equalWidths = function(px) {
56
+ $(this).each(function(){
57
+ var currentWidest = 0;
58
+ $(this).children().each(function(i){
59
+ if($(this).width() > currentWidest) { currentWidest = $(this).width(); }
60
+ });
61
+ //if(!px || !Number.prototype.pxToEm) currentWidest = currentWidest.pxToEm(); //use ems unless px is specified
62
+ // for ie6, set width since min-width isn't supported
63
+ if ($.browser.msie && $.browser.version == 6.0) { $(this).children().css({'width': currentWidest}); }
64
+ $(this).children().css({'min-width': currentWidest});
65
+ });
66
+ return this;
67
+ };
68
+
69
+ /*
70
+ * jQuery FlexSlider v2.0
71
+ * Copyright 2012 WooThemes
72
+ * Contributing Author: Tyler Smith
73
+ */
74
+ ;(function(d){d.flexslider=function(h,k){var a=d(h),c=d.extend({},d.flexslider.defaults,k),e=c.namespace,o="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,s=o?"touchend":"click",l="vertical"===c.direction,m=c.reverse,i=0<c.itemWidth,p="fade"===c.animation,r=""!==c.asNavFor,f={};d.data(h,"flexslider",a);f={init:function(){a.animating=!1;a.currentSlide=c.startAt;a.animatingTo=a.currentSlide;a.atEnd=0===a.currentSlide||a.currentSlide===a.last;a.containerSelector=c.selector.substr(0,
75
+ c.selector.search(" "));a.slides=d(c.selector,a);a.container=d(a.containerSelector,a);a.count=a.slides.length;a.syncExists=0<d(c.sync).length;"slide"===c.animation&&(c.animation="swing");a.prop=l?"top":"marginLeft";a.args={};a.manualPause=!1;a.transitions=!c.video&&!p&&c.useCSS&&function(){var b=document.createElement("div"),c=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],d;for(d in c)if(b.style[c[d]]!==void 0){a.pfx=c[d].replace("Perspective","").toLowerCase();
76
+ a.prop="-"+a.pfx+"-transform";return true}return false}();""!==c.controlsContainer&&(a.controlsContainer=0<d(c.controlsContainer).length&&d(c.controlsContainer));""!==c.manualControls&&(a.manualControls=0<d(c.manualControls).length&&d(c.manualControls));c.randomize&&(a.slides.sort(function(){return Math.round(Math.random())-0.5}),a.container.empty().append(a.slides));a.doMath();r&&f.asNav.setup();a.setup("init");c.controlNav&&f.controlNav.setup();c.directionNav&&f.directionNav.setup();c.keyboard&&
77
+ (1===d(a.containerSelector).length||c.multipleKeyboard)&&d(document).bind("keyup",function(b){b=b.keyCode;if(!a.animating&&(b===39||b===37)){b=b===39?a.getTarget("next"):b===37?a.getTarget("prev"):false;a.flexAnimate(b,c.pauseOnAction)}});c.mousewheel&&a.bind("mousewheel",function(b,g){b.preventDefault();var d=g<0?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(d,c.pauseOnAction)});c.pausePlay&&f.pausePlay.setup();c.slideshow&&(c.pauseOnHover&&a.hover(function(){a.pause()},function(){a.manualPause||
78
+ a.play()}),0<c.initDelay?setTimeout(a.play,c.initDelay):a.play());o&&c.touch&&f.touch();(!p||p&&c.smoothHeight)&&d(window).bind("resize focus",f.resize);setTimeout(function(){c.start(a)},200)},asNav:{setup:function(){a.asNav=!0;a.animatingTo=Math.floor(a.currentSlide/a.move);a.currentItem=a.currentSlide;a.slides.removeClass(e+"active-slide").eq(a.currentItem).addClass(e+"active-slide");a.slides.click(function(b){b.preventDefault();var b=d(this),g=b.index();!d(c.asNavFor).data("flexslider").animating&&
79
+ !b.hasClass("active")&&(a.direction=a.currentItem<g?"next":"prev",a.flexAnimate(g,c.pauseOnAction,!1,!0,!0))})}},controlNav:{setup:function(){a.manualControls?f.controlNav.setupManual():f.controlNav.setupPaging()},setupPaging:function(){var b=1,g;a.controlNavScaffold=d('<ol class="'+e+"control-nav "+e+("thumbnails"===c.controlNav?"control-thumbs":"control-paging")+'"></ol>');if(1<a.pagingCount)for(var q=0;q<a.pagingCount;q++)g="thumbnails"===c.controlNav?'<img src="'+a.slides.eq(q).attr("data-thumb")+
80
+ '"/>':"<a>"+b+"</a>",a.controlNavScaffold.append("<li>"+g+"</li>"),b++;a.controlsContainer?d(a.controlsContainer).append(a.controlNavScaffold):a.append(a.controlNavScaffold);f.controlNav.set();f.controlNav.active();a.controlNavScaffold.delegate("a, img",s,function(b){b.preventDefault();var b=d(this),g=a.controlNav.index(b);b.hasClass(e+"active")||(a.direction=g>a.currentSlide?"next":"prev",a.flexAnimate(g,c.pauseOnAction))});o&&a.controlNavScaffold.delegate("a","click touchstart",function(a){a.preventDefault()})},
81
+ setupManual:function(){a.controlNav=a.manualControls;f.controlNav.active();a.controlNav.live(s,function(b){b.preventDefault();var b=d(this),g=a.controlNav.index(b);b.hasClass(e+"active")||(g>a.currentSlide?a.direction="next":a.direction="prev",a.flexAnimate(g,c.pauseOnAction))});o&&a.controlNav.live("click touchstart",function(a){a.preventDefault()})},set:function(){a.controlNav=d("."+e+"control-nav li "+("thumbnails"===c.controlNav?"img":"a"),a.controlsContainer?a.controlsContainer:a)},active:function(){a.controlNav.removeClass(e+
82
+ "active").eq(a.animatingTo).addClass(e+"active")},update:function(b,c){1<a.pagingCount&&"add"===b?a.controlNavScaffold.append(d("<li><a>"+a.count+"</a></li>")):1===a.pagingCount?a.controlNavScaffold.find("li").remove():a.controlNav.eq(c).closest("li").remove();f.controlNav.set();1<a.pagingCount&&a.pagingCount!==a.controlNav.length?a.update(c,b):f.controlNav.active()}},directionNav:{setup:function(){var b=d('<ul class="'+e+'direction-nav"><li><a class="'+e+'prev" href="#">'+c.prevText+'</a></li><li><a class="'+
83
+ e+'next" href="#">'+c.nextText+"</a></li></ul>");a.controlsContainer?(d(a.controlsContainer).append(b),a.directionNav=d("."+e+"direction-nav li a",a.controlsContainer)):(a.append(b),a.directionNav=d("."+e+"direction-nav li a",a));f.directionNav.update();a.directionNav.bind(s,function(b){b.preventDefault();b=d(this).hasClass(e+"next")?a.getTarget("next"):a.getTarget("prev");a.flexAnimate(b,c.pauseOnAction)});o&&a.directionNav.bind("click touchstart",function(a){a.preventDefault()})},update:function(){var b=
84
+ e+"disabled";c.animationLoop||(1===a.pagingCount?a.directionNav.addClass(b):0===a.animatingTo?a.directionNav.removeClass(b).filter("."+e+"prev").addClass(b):a.animatingTo===a.last?a.directionNav.removeClass(b).filter("."+e+"next").addClass(b):a.directionNav.removeClass(b))}},pausePlay:{setup:function(){var b=d('<div class="'+e+'pauseplay"><a></a></div>');a.controlsContainer?(a.controlsContainer.append(b),a.pausePlay=d("."+e+"pauseplay a",a.controlsContainer)):(a.append(b),a.pausePlay=d("."+e+"pauseplay a",
85
+ a));f.pausePlay.update(c.slideshow?e+"pause":e+"play");a.pausePlay.bind(s,function(b){b.preventDefault();if(d(this).hasClass(e+"pause")){a.pause();a.manualPause=true}else{a.play();a.manualPause=false}});o&&a.pausePlay.bind("click touchstart",function(a){a.preventDefault()})},update:function(b){"play"===b?a.pausePlay.removeClass(e+"pause").addClass(e+"play").text(c.playText):a.pausePlay.removeClass(e+"play").addClass(e+"pause").text(c.pauseText)}},touch:function(){function b(b){j=l?d-b.touches[0].pageY:
86
+ d-b.touches[0].pageX;o=l?Math.abs(j)<Math.abs(b.touches[0].pageX-e):Math.abs(j)<Math.abs(b.touches[0].pageY-e);if(!o||500<Number(new Date)-k)b.preventDefault(),!p&&a.transitions&&(c.animationLoop||(j/=0===a.currentSlide&&0>j||a.currentSlide===a.last&&0<j?Math.abs(j)/n+2:1),a.setProps(f+j,"setTouch"))}function g(){if(a.animatingTo===a.currentSlide&&!o&&null!==j){var i=m?-j:j,l=0<i?a.getTarget("next"):a.getTarget("prev");a.canAdvance(l)&&(550>Number(new Date)-k&&20<Math.abs(i)||Math.abs(i)>n/2)?a.flexAnimate(l,
87
+ c.pauseOnAction):a.flexAnimate(a.currentSlide,c.pauseOnAction,!0)}h.removeEventListener("touchmove",b,!1);h.removeEventListener("touchend",g,!1);f=j=e=d=null}var d,e,f,n,j,k,o=!1;h.addEventListener("touchstart",function(j){a.animating?j.preventDefault():1===j.touches.length&&(a.pause(),n=l?a.h:a.w,k=Number(new Date),f=i&&m&&a.animatingTo===a.last?0:i&&m?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:i&&a.currentSlide===a.last?a.limit:i?(a.itemW+c.itemMargin)*a.move*a.currentSlide:m?(a.last-a.currentSlide+
88
+ a.cloneOffset)*n:(a.currentSlide+a.cloneOffset)*n,d=l?j.touches[0].pageY:j.touches[0].pageX,e=l?j.touches[0].pageX:j.touches[0].pageY,h.addEventListener("touchmove",b,!1),h.addEventListener("touchend",g,!1))},!1)},resize:function(){!a.animating&&a.is(":visible")&&(i||a.doMath(),p?f.smoothHeight():i?(a.slides.width(a.computedW),a.update(a.pagingCount),a.setProps()):l?(a.viewport.height(a.h),a.setProps(a.h,"setTotal")):(c.smoothHeight&&f.smoothHeight(),a.newSlides.width(a.computedW),a.setProps(a.computedW,
89
+ "setTotal")))},smoothHeight:function(b){if(!l||p){var c=p?a:a.viewport;b?c.animate({height:a.slides.eq(a.animatingTo).height()},b):c.height(a.slides.eq(a.animatingTo).height())}},sync:function(b){var g=d(c.sync).data("flexslider"),e=a.animatingTo;switch(b){case "animate":g.flexAnimate(e,c.pauseOnAction,!1,!0);break;case "play":!g.playing&&!g.asNav&&g.play();break;case "pause":g.pause()}}};a.flexAnimate=function(b,g,q,h,k){if(!a.animating&&(a.canAdvance(b)||q)&&a.is(":visible")){if(r&&h)if(q=d(c.asNavFor).data("flexslider"),
90
+ a.atEnd=0===b||b===a.count-1,q.flexAnimate(b,!0,!1,!0,k),a.direction=a.currentItem<b?"next":"prev",q.direction=a.direction,Math.ceil((b+1)/a.visible)-1!==a.currentSlide&&0!==b)a.currentItem=b,a.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),b=Math.floor(b/a.visible);else return a.currentItem=b,a.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),!1;a.animating=!0;a.animatingTo=b;c.before(a);g&&a.pause();a.syncExists&&!k&&f.sync("animate");c.controlNav&&f.controlNav.active();
91
+ i||a.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide");a.atEnd=0===b||b===a.last;c.directionNav&&f.directionNav.update();b===a.last&&(c.end(a),c.animationLoop||a.pause());if(p)a.slides.eq(a.currentSlide).fadeOut(c.animationSpeed,c.easing),a.slides.eq(b).fadeIn(c.animationSpeed,c.easing,a.wrapup);else{var n=l?a.slides.filter(":first").height():a.computedW;i?(b=c.itemWidth>a.w?2*c.itemMargin:c.itemMargin,b=(a.itemW+b)*a.move*a.animatingTo,b=b>a.limit&&1!==a.visible?a.limit:b):b=
92
+ 0===a.currentSlide&&b===a.count-1&&c.animationLoop&&"next"!==a.direction?m?(a.count+a.cloneOffset)*n:0:a.currentSlide===a.last&&0===b&&c.animationLoop&&"prev"!==a.direction?m?0:(a.count+1)*n:m?(a.count-1-b+a.cloneOffset)*n:(b+a.cloneOffset)*n;a.setProps(b,"",c.animationSpeed);if(a.transitions){if(!c.animationLoop||!a.atEnd)a.animating=!1,a.currentSlide=a.animatingTo;a.container.unbind("webkitTransitionEnd transitionend");a.container.bind("webkitTransitionEnd transitionend",function(){a.wrapup(n)})}else a.container.animate(a.args,
93
+ c.animationSpeed,c.easing,function(){a.wrapup(n)})}c.smoothHeight&&f.smoothHeight(c.animationSpeed)}};a.wrapup=function(b){!p&&!i&&(0===a.currentSlide&&a.animatingTo===a.last&&c.animationLoop?a.setProps(b,"jumpEnd"):a.currentSlide===a.last&&(0===a.animatingTo&&c.animationLoop)&&a.setProps(b,"jumpStart"));a.animating=!1;a.currentSlide=a.animatingTo;c.after(a)};a.animateSlides=function(){a.animating||a.flexAnimate(a.getTarget("next"))};a.pause=function(){clearInterval(a.animatedSlides);a.playing=!1;
94
+ c.pausePlay&&f.pausePlay.update("play");a.syncExists&&f.sync("pause")};a.play=function(){a.animatedSlides=setInterval(a.animateSlides,c.slideshowSpeed);a.playing=!0;c.pausePlay&&f.pausePlay.update("pause");a.syncExists&&f.sync("play")};a.canAdvance=function(b){var d=r?a.pagingCount-1:a.last;return r&&0===a.currentItem&&b===a.pagingCount-1&&"next"!==a.direction?!1:b===a.currentSlide&&!r?!1:c.animationLoop?!0:a.atEnd&&0===a.currentSlide&&b===d&&"next"!==a.direction?!1:a.atEnd&&a.currentSlide===d&&0===
95
+ b&&"next"===a.direction?!1:!0};a.getTarget=function(b){a.direction=b;return"next"===b?a.currentSlide===a.last?0:a.currentSlide+1:0===a.currentSlide?a.last:a.currentSlide-1};a.setProps=function(b,d,e){var f=function(){var e=b?b:(a.itemW+c.itemMargin)*a.move*a.animatingTo;return-1*function(){if(i)return"setTouch"===d?b:m&&a.animatingTo===a.last?0:m?a.limit-(a.itemW+c.itemMargin)*a.move*a.animatingTo:a.animatingTo===a.last?a.limit:e;switch(d){case "setTotal":return m?(a.count-1-a.currentSlide+a.cloneOffset)*
96
+ b:(a.currentSlide+a.cloneOffset)*b;case "setTouch":return b;case "jumpEnd":return m?b:a.count*b;case "jumpStart":return m?a.count*b:b;default:return b}}()+"px"}();a.transitions&&(f=l?"translate3d(0,"+f+",0)":"translate3d("+f+",0,0)",e=void 0!==e?e/1E3+"s":"0s",a.container.css("-"+a.pfx+"-transition-duration",e));a.args[a.prop]=f;(a.transitions||void 0===e)&&a.container.css(a.args)};a.setup=function(b){if(p)a.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"}),"init"===
97
+ b&&a.slides.eq(a.currentSlide).fadeIn(c.animationSpeed,c.easing),c.smoothHeight&&f.smoothHeight();else{var g,h;"init"===b&&(a.viewport=d('<div class="flex-viewport"></div>').css({overflow:"hidden",position:"relative"}).appendTo(a).append(a.container),a.cloneCount=0,a.cloneOffset=0,m&&(h=d.makeArray(a.slides).reverse(),a.slides=d(h),a.container.empty().append(a.slides)));c.animationLoop&&!i&&(a.cloneCount=2,a.cloneOffset=1,"init"!==b&&a.container.find(".clone").remove(),a.container.append(a.slides.first().clone().addClass("clone")).prepend(a.slides.last().clone().addClass("clone")));
98
+ a.newSlides=d(c.selector,a);g=m?a.count-1-a.currentSlide+a.cloneOffset:a.currentSlide+a.cloneOffset;l&&!i?(a.container.height(200*(a.count+a.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){a.newSlides.css({display:"block"});a.doMath();a.viewport.height(a.h);a.setProps(g*a.h,"init")},"init"===b?100:0)):(a.container.width(200*(a.count+a.cloneCount)+"%"),a.setProps(g*a.computedW,"init"),setTimeout(function(){a.doMath();a.newSlides.css({width:a.computedW,"float":"left",
99
+ display:"block"});c.smoothHeight&&f.smoothHeight()},"init"===b?100:0))}i||a.slides.removeClass(e+"active-slide").eq(a.currentSlide).addClass(e+"active-slide")};a.doMath=function(){var b=a.slides.first(),d=c.itemMargin,e=c.minItems,f=c.maxItems;a.w=a.width();a.h=b.height();a.boxPadding=b.outerWidth()-b.width();i?(a.itemT=c.itemWidth+d,a.minW=e?e*a.itemT:a.w,a.maxW=f?f*a.itemT:a.w,a.itemW=a.minW>a.w?(a.w-d*e)/e:a.maxW<a.w?(a.w-d*f)/f:c.itemWidth>a.w?a.w:c.itemWidth,a.visible=Math.floor(a.w/(a.itemW+
100
+ d)),a.move=0<c.move&&c.move<a.visible?c.move:a.visible,a.pagingCount=Math.ceil((a.count-a.visible)/a.move+1),a.last=a.pagingCount-1,a.limit=1===a.pagingCount?0:c.itemWidth>a.w?(a.itemW+2*d)*a.count-a.w-d:(a.itemW+d)*a.count-a.w):(a.itemW=a.w,a.pagingCount=a.count,a.last=a.count-1);a.computedW=a.itemW-a.boxPadding};a.update=function(b,d){a.doMath();i||(b<a.currentSlide?a.currentSlide+=1:b<=a.currentSlide&&0!==b&&(a.currentSlide-=1),a.animatingTo=a.currentSlide);if(c.controlNav&&!a.manualControls)if("add"===
101
+ d&&!i||a.pagingCount>a.controlNav.length)f.controlNav.update("add");else if("remove"===d&&!i||a.pagingCount<a.controlNav.length)i&&a.currentSlide>a.last&&(a.currentSlide-=1,a.animatingTo-=1),f.controlNav.update("remove",a.last);c.directionNav&&f.directionNav.update()};a.addSlide=function(b,e){var f=d(b);a.count+=1;a.last=a.count-1;l&&m?void 0!==e?a.slides.eq(a.count-e).after(f):a.container.prepend(f):void 0!==e?a.slides.eq(e).before(f):a.container.append(f);a.update(e,"add");a.slides=d(c.selector+
102
+ ":not(.clone)",a);a.setup();c.added(a)};a.removeSlide=function(b){var e=isNaN(b)?a.slides.index(d(b)):b;a.count-=1;a.last=a.count-1;isNaN(b)?d(b,a.slides).remove():l&&m?a.slides.eq(a.last).remove():a.slides.eq(b).remove();a.doMath();a.update(e,"remove");a.slides=d(c.selector+":not(.clone)",a);a.setup();c.removed(a)};f.init()};d.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,
103
+ slideshow:!0,slideshowSpeed:7E3,animationSpeed:600,initDelay:0,randomize:!1,pauseOnAction:!0,pauseOnHover:!1,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:0,maxItems:0,move:0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},
104
+ removed:function(){}};d.fn.flexslider=function(h){h=h||{};if("object"===typeof h)return this.each(function(){var a=d(this),c=a.find(h.selector?h.selector:".slides > li");1===c.length?(c.fadeIn(400),h.start&&h.start(a)):void 0===a.data("flexslider")&&new d.flexslider(this,h)});var k=d(this).data("flexslider");switch(h){case "play":k.play();break;case "pause":k.pause();break;case "next":k.flexAnimate(k.getTarget("next"),!0);break;case "prev":case "previous":k.flexAnimate(k.getTarget("prev"),!0);break;
105
+ default:"number"===typeof h&&k.flexAnimate(h,!0)}}})(jQuery);
@@ -0,0 +1,368 @@
1
+ (function($, undefined) {
2
+
3
+ /**
4
+ * Unobtrusive scripting adapter for jQuery
5
+ *
6
+ * Requires jQuery 1.6.0 or later.
7
+ * https://github.com/rails/jquery-ujs
8
+
9
+ * Uploading file using rails.js
10
+ * =============================
11
+ *
12
+ * By default, browsers do not allow files to be uploaded via AJAX. As a result, if there are any non-blank file fields
13
+ * in the remote form, this adapter aborts the AJAX submission and allows the form to submit through standard means.
14
+ *
15
+ * The `ajax:aborted:file` event allows you to bind your own handler to process the form submission however you wish.
16
+ *
17
+ * Ex:
18
+ * $('form').live('ajax:aborted:file', function(event, elements){
19
+ * // Implement own remote file-transfer handler here for non-blank file inputs passed in `elements`.
20
+ * // Returning false in this handler tells rails.js to disallow standard form submission
21
+ * return false;
22
+ * });
23
+ *
24
+ * The `ajax:aborted:file` event is fired when a file-type input is detected with a non-blank value.
25
+ *
26
+ * Third-party tools can use this hook to detect when an AJAX file upload is attempted, and then use
27
+ * techniques like the iframe method to upload the file instead.
28
+ *
29
+ * Required fields in rails.js
30
+ * ===========================
31
+ *
32
+ * If any blank required inputs (required="required") are detected in the remote form, the whole form submission
33
+ * is canceled. Note that this is unlike file inputs, which still allow standard (non-AJAX) form submission.
34
+ *
35
+ * The `ajax:aborted:required` event allows you to bind your own handler to inform the user of blank required inputs.
36
+ *
37
+ * !! Note that Opera does not fire the form's submit event if there are blank required inputs, so this event may never
38
+ * get fired in Opera. This event is what causes other browsers to exhibit the same submit-aborting behavior.
39
+ *
40
+ * Ex:
41
+ * $('form').live('ajax:aborted:required', function(event, elements){
42
+ * // Returning false in this handler tells rails.js to submit the form anyway.
43
+ * // The blank required inputs are passed to this function in `elements`.
44
+ * return ! confirm("Would you like to submit the form with missing info?");
45
+ * });
46
+ */
47
+
48
+ // Shorthand to make it a little easier to call public rails functions from within rails.js
49
+ var rails;
50
+
51
+ $.rails = rails = {
52
+ // Link elements bound by jquery-ujs
53
+ linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]',
54
+
55
+ // Select elements bound by jquery-ujs
56
+ inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',
57
+
58
+ // Form elements bound by jquery-ujs
59
+ formSubmitSelector: 'form',
60
+
61
+ // Form input elements bound by jquery-ujs
62
+ formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not(button[type])',
63
+
64
+ // Form input elements disabled during form submission
65
+ disableSelector: 'input[data-disable-with], button[data-disable-with], textarea[data-disable-with]',
66
+
67
+ // Form input elements re-enabled after form submission
68
+ enableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled',
69
+
70
+ // Form required input elements
71
+ requiredInputSelector: 'input[name][required]:not([disabled]),textarea[name][required]:not([disabled])',
72
+
73
+ // Form file input elements
74
+ fileInputSelector: 'input:file',
75
+
76
+ // Link onClick disable selector with possible reenable after remote submission
77
+ linkDisableSelector: 'a[data-disable-with]',
78
+
79
+ // Make sure that every Ajax request sends the CSRF token
80
+ CSRFProtection: function(xhr) {
81
+ var token = $('meta[name="csrf-token"]').attr('content');
82
+ if (token) xhr.setRequestHeader('X-CSRF-Token', token);
83
+ },
84
+
85
+ // Triggers an event on an element and returns false if the event result is false
86
+ fire: function(obj, name, data) {
87
+ var event = $.Event(name);
88
+ obj.trigger(event, data);
89
+ return event.result !== false;
90
+ },
91
+
92
+ // Default confirm dialog, may be overridden with custom confirm dialog in $.rails.confirm
93
+ confirm: function(message) {
94
+ return confirm(message);
95
+ },
96
+
97
+ // Default ajax function, may be overridden with custom function in $.rails.ajax
98
+ ajax: function(options) {
99
+ return $.ajax(options);
100
+ },
101
+
102
+ // Submits "remote" forms and links with ajax
103
+ handleRemote: function(element) {
104
+ var method, url, data,
105
+ crossDomain = element.data('cross-domain') || null,
106
+ dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType),
107
+ options;
108
+
109
+ if (rails.fire(element, 'ajax:before')) {
110
+
111
+ if (element.is('form')) {
112
+ method = element.attr('method');
113
+ url = element.attr('action');
114
+ data = element.serializeArray();
115
+ // memoized value from clicked submit button
116
+ var button = element.data('ujs:submit-button');
117
+ if (button) {
118
+ data.push(button);
119
+ element.data('ujs:submit-button', null);
120
+ }
121
+ } else if (element.is(rails.inputChangeSelector)) {
122
+ method = element.data('method');
123
+ url = element.data('url');
124
+ data = element.serialize();
125
+ if (element.data('params')) data = data + "&" + element.data('params');
126
+ } else {
127
+ method = element.data('method');
128
+ url = element.attr('href');
129
+ data = element.data('params') || null;
130
+ }
131
+
132
+ options = {
133
+ type: method || 'GET', data: data, dataType: dataType, crossDomain: crossDomain,
134
+ // stopping the "ajax:beforeSend" event will cancel the ajax request
135
+ beforeSend: function(xhr, settings) {
136
+ if (settings.dataType === undefined) {
137
+ xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
138
+ }
139
+ return rails.fire(element, 'ajax:beforeSend', [xhr, settings]);
140
+ },
141
+ success: function(data, status, xhr) {
142
+ element.trigger('ajax:success', [data, status, xhr]);
143
+ },
144
+ complete: function(xhr, status) {
145
+ element.trigger('ajax:complete', [xhr, status]);
146
+ },
147
+ error: function(xhr, status, error) {
148
+ element.trigger('ajax:error', [xhr, status, error]);
149
+ }
150
+ };
151
+ // Only pass url to `ajax` options if not blank
152
+ if (url) { options.url = url; }
153
+
154
+ rails.ajax(options);
155
+ }
156
+ },
157
+
158
+ // Handles "data-method" on links such as:
159
+ // <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
160
+ handleMethod: function(link) {
161
+ var href = link.attr('href'),
162
+ method = link.data('method'),
163
+ target = link.attr('target'),
164
+ csrf_token = $('meta[name=csrf-token]').attr('content'),
165
+ csrf_param = $('meta[name=csrf-param]').attr('content'),
166
+ form = $('<form method="post" action="' + href + '"></form>'),
167
+ metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
168
+
169
+ if (csrf_param !== undefined && csrf_token !== undefined) {
170
+ metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
171
+ }
172
+
173
+ if (target) { form.attr('target', target); }
174
+
175
+ form.hide().append(metadata_input).appendTo('body');
176
+ form.submit();
177
+ },
178
+
179
+ /* Disables form elements:
180
+ - Caches element value in 'ujs:enable-with' data store
181
+ - Replaces element text with value of 'data-disable-with' attribute
182
+ - Sets disabled property to true
183
+ */
184
+ disableFormElements: function(form) {
185
+ form.find(rails.disableSelector).each(function() {
186
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
187
+ element.data('ujs:enable-with', element[method]());
188
+ element[method](element.data('disable-with'));
189
+ element.prop('disabled', true);
190
+ });
191
+ },
192
+
193
+ /* Re-enables disabled form elements:
194
+ - Replaces element text with cached value from 'ujs:enable-with' data store (created in `disableFormElements`)
195
+ - Sets disabled property to false
196
+ */
197
+ enableFormElements: function(form) {
198
+ form.find(rails.enableSelector).each(function() {
199
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
200
+ if (element.data('ujs:enable-with')) element[method](element.data('ujs:enable-with'));
201
+ element.prop('disabled', false);
202
+ });
203
+ },
204
+
205
+ /* For 'data-confirm' attribute:
206
+ - Fires `confirm` event
207
+ - Shows the confirmation dialog
208
+ - Fires the `confirm:complete` event
209
+
210
+ Returns `true` if no function stops the chain and user chose yes; `false` otherwise.
211
+ Attaching a handler to the element's `confirm` event that returns a `falsy` value cancels the confirmation dialog.
212
+ Attaching a handler to the element's `confirm:complete` event that returns a `falsy` value makes this function
213
+ return false. The `confirm:complete` event is fired whether or not the user answered true or false to the dialog.
214
+ */
215
+ allowAction: function(element) {
216
+ var message = element.data('confirm'),
217
+ answer = false, callback;
218
+ if (!message) { return true; }
219
+
220
+ if (rails.fire(element, 'confirm')) {
221
+ answer = rails.confirm(message);
222
+ callback = rails.fire(element, 'confirm:complete', [answer]);
223
+ }
224
+ return answer && callback;
225
+ },
226
+
227
+ // Helper function which checks for blank inputs in a form that match the specified CSS selector
228
+ blankInputs: function(form, specifiedSelector, nonBlank) {
229
+ var inputs = $(), input,
230
+ selector = specifiedSelector || 'input,textarea';
231
+ form.find(selector).each(function() {
232
+ input = $(this);
233
+ // Collect non-blank inputs if nonBlank option is true, otherwise, collect blank inputs
234
+ if (nonBlank ? input.val() : !input.val()) {
235
+ inputs = inputs.add(input);
236
+ }
237
+ });
238
+ return inputs.length ? inputs : false;
239
+ },
240
+
241
+ // Helper function which checks for non-blank inputs in a form that match the specified CSS selector
242
+ nonBlankInputs: function(form, specifiedSelector) {
243
+ return rails.blankInputs(form, specifiedSelector, true); // true specifies nonBlank
244
+ },
245
+
246
+ // Helper function, needed to provide consistent behavior in IE
247
+ stopEverything: function(e) {
248
+ $(e.target).trigger('ujs:everythingStopped');
249
+ e.stopImmediatePropagation();
250
+ return false;
251
+ },
252
+
253
+ // find all the submit events directly bound to the form and
254
+ // manually invoke them. If anyone returns false then stop the loop
255
+ callFormSubmitBindings: function(form, event) {
256
+ var events = form.data('events'), continuePropagation = true;
257
+ if (events !== undefined && events['submit'] !== undefined) {
258
+ $.each(events['submit'], function(i, obj){
259
+ if (typeof obj.handler === 'function') return continuePropagation = obj.handler(event);
260
+ });
261
+ }
262
+ return continuePropagation;
263
+ },
264
+
265
+ // replace element's html with the 'data-disable-with' after storing original html
266
+ // and prevent clicking on it
267
+ disableElement: function(element) {
268
+ element.data('ujs:enable-with', element.html()); // store enabled state
269
+ element.html(element.data('disable-with')); // set to disabled state
270
+ element.bind('click.railsDisable', function(e) { // prevent further clicking
271
+ return rails.stopEverything(e)
272
+ });
273
+ },
274
+
275
+ // restore element to its original state which was disabled by 'disableElement' above
276
+ enableElement: function(element) {
277
+ if (element.data('ujs:enable-with') !== undefined) {
278
+ element.html(element.data('ujs:enable-with')); // set to old enabled state
279
+ // this should be element.removeData('ujs:enable-with')
280
+ // but, there is currently a bug in jquery which makes hyphenated data attributes not get removed
281
+ element.data('ujs:enable-with', false); // clean up cache
282
+ }
283
+ element.unbind('click.railsDisable'); // enable element
284
+ }
285
+
286
+ };
287
+
288
+ $.ajaxPrefilter(function(options, originalOptions, xhr){ if ( !options.crossDomain ) { rails.CSRFProtection(xhr); }});
289
+
290
+ $(rails.linkDisableSelector).live('ajax:complete', function() {
291
+ rails.enableElement($(this));
292
+ });
293
+
294
+ $(rails.linkClickSelector).live('click.rails', function(e) {
295
+ var link = $(this), method = link.data('method'), data = link.data('params');
296
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
297
+
298
+ if (link.is(rails.linkDisableSelector)) rails.disableElement(link);
299
+
300
+ if (link.data('remote') !== undefined) {
301
+ if ( (e.metaKey || e.ctrlKey) && (!method || method === 'GET') && !data ) { return true; }
302
+ rails.handleRemote(link);
303
+ return false;
304
+ } else if (link.data('method')) {
305
+ rails.handleMethod(link);
306
+ return false;
307
+ }
308
+ });
309
+
310
+ $(rails.inputChangeSelector).live('change.rails', function(e) {
311
+ var link = $(this);
312
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
313
+
314
+ rails.handleRemote(link);
315
+ return false;
316
+ });
317
+
318
+ $(rails.formSubmitSelector).live('submit.rails', function(e) {
319
+ var form = $(this),
320
+ remote = form.data('remote') !== undefined,
321
+ blankRequiredInputs = rails.blankInputs(form, rails.requiredInputSelector),
322
+ nonBlankFileInputs = rails.nonBlankInputs(form, rails.fileInputSelector);
323
+
324
+ if (!rails.allowAction(form)) return rails.stopEverything(e);
325
+
326
+ // skip other logic when required values are missing or file upload is present
327
+ if (blankRequiredInputs && form.attr("novalidate") == undefined && rails.fire(form, 'ajax:aborted:required', [blankRequiredInputs])) {
328
+ return rails.stopEverything(e);
329
+ }
330
+
331
+ if (remote) {
332
+ if (nonBlankFileInputs) {
333
+ return rails.fire(form, 'ajax:aborted:file', [nonBlankFileInputs]);
334
+ }
335
+
336
+ // If browser does not support submit bubbling, then this live-binding will be called before direct
337
+ // bindings. Therefore, we should directly call any direct bindings before remotely submitting form.
338
+ if (!$.support.submitBubbles && $().jquery < '1.7' && rails.callFormSubmitBindings(form, e) === false) return rails.stopEverything(e);
339
+
340
+ rails.handleRemote(form);
341
+ return false;
342
+ } else {
343
+ // slight timeout so that the submit button gets properly serialized
344
+ setTimeout(function(){ rails.disableFormElements(form); }, 13);
345
+ }
346
+ });
347
+
348
+ $(rails.formInputClickSelector).live('click.rails', function(event) {
349
+ var button = $(this);
350
+
351
+ if (!rails.allowAction(button)) return rails.stopEverything(event);
352
+
353
+ // register the pressed submit button
354
+ var name = button.attr('name'),
355
+ data = name ? {name:name, value:button.val()} : null;
356
+
357
+ button.closest('form').data('ujs:submit-button', data);
358
+ });
359
+
360
+ $(rails.formSubmitSelector).live('ajax:beforeSend.rails', function(event) {
361
+ if (this == event.target) rails.disableFormElements($(this));
362
+ });
363
+
364
+ $(rails.formSubmitSelector).live('ajax:complete.rails', function(event) {
365
+ if (this == event.target) rails.enableFormElements($(this));
366
+ });
367
+
368
+ })( jQuery );
@@ -0,0 +1,6 @@
1
+ /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
2
+ /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
3
+ window.matchMedia=window.matchMedia||(function(e,f){var c,a=e.documentElement,b=a.firstElementChild||a.firstChild,d=e.createElement("body"),g=e.createElement("div");g.id="mq-test-1";g.style.cssText="position:absolute;top:-100em";d.style.background="none";d.appendChild(g);return function(h){g.innerHTML='&shy;<style media="'+h+'"> #mq-test-1 { width: 42px; }</style>';a.insertBefore(d,b);c=g.offsetWidth==42;a.removeChild(d);return{matches:c,media:h}}})(document);
4
+
5
+ /*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
6
+ (function(e){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=e.matchMedia&&e.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var w=e.document,s=w.documentElement,i=[],k=[],q=[],o={},h=30,f=w.getElementsByTagName("head")[0]||s,g=w.getElementsByTagName("base")[0],b=f.getElementsByTagName("link"),d=[],a=function(){var D=b,y=D.length,B=0,A,z,C,x;for(;B<y;B++){A=D[B],z=A.href,C=A.media,x=A.rel&&A.rel.toLowerCase()==="stylesheet";if(!!z&&x&&!o[z]){if(A.styleSheet&&A.styleSheet.rawCssText){m(A.styleSheet.rawCssText,z,C);o[z]=true}else{if((!/^([a-zA-Z:]*\/\/)/.test(z)&&!g)||z.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:z,media:C})}}}}u()},u=function(){if(d.length){var x=d.shift();n(x.href,function(y){m(y,x.href,x.media);o[x.href]=true;u()})}},m=function(I,x,z){var G=I.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),J=G&&G.length||0,x=x.substring(0,x.lastIndexOf("/")),y=function(K){return K.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+x+"$2$3")},A=!J&&z,D=0,C,E,F,B,H;if(x.length){x+="/"}if(A){J=1}for(;D<J;D++){C=0;if(A){E=z;k.push(y(I))}else{E=G[D].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&y(RegExp.$2))}B=E.split(",");H=B.length;for(;C<H;C++){F=B[C];i.push({media:F.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:k.length-1,hasquery:F.indexOf("(")>-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l<h){clearTimeout(r);r=setTimeout(j,h);return}else{l=z}for(var E in i){var K=i[E],C=K.minw,J=K.maxw,A=C===null,L=J===null,y="em";if(!!C){C=parseFloat(C)*(C.indexOf(y)>-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this);
@@ -1,2 +1,83 @@
1
- # Make sure you list all the project template files here in the manifest.
2
- stylesheet 'screen.sass', :media => 'screen, projection'
1
+ description "Compass extension for HTML5 Boilerplate located at http://html5boilerplate.com"
2
+
3
+ stylesheet 'style.scss', :media => 'all'
4
+ stylesheet 'partials/_base.scss'
5
+ stylesheet 'partials/_header.scss'
6
+ stylesheet 'partials/_fonts.scss'
7
+ stylesheet 'partials/_footer.scss'
8
+ stylesheet 'partials/_modules.scss'
9
+ stylesheet 'partials/_overrides.scss'
10
+ stylesheet 'partials/_page.scss'
11
+ stylesheet 'partials/SCSS_template.scss'
12
+
13
+ stylesheet 'partials/modules/_mod-breadcrumb.scss'
14
+ stylesheet 'partials/modules/_mod-carousels.scss'
15
+ stylesheet 'partials/modules/_mod-default.scss'
16
+ stylesheet 'partials/modules/_mod-form.scss'
17
+ stylesheet 'partials/modules/_mod-login.scss'
18
+ stylesheet 'partials/modules/_mod-pagination.scss'
19
+ stylesheet 'partials/modules/_mod-subnav.scss'
20
+ stylesheet 'partials/modules/_mod-widget.scss'
21
+
22
+
23
+ if Compass.configuration.project_type == :rails
24
+ file 'application.html.haml', :to => 'app/views/layouts/application.html.haml'
25
+ file '_flashes.html.haml', :to => 'app/views/layouts/_flashes.html.haml'
26
+ file '_footer.html.haml', :to => 'app/views/layouts/_footer.html.haml'
27
+ file '_head.html.haml', :to => 'app/views/layouts/_head.html.haml'
28
+ file '_header.html.haml', :to => 'app/views/layouts/_header.html.haml'
29
+ file '_javascripts.html.haml', :to => 'app/views/layouts/_javascripts.html.haml'
30
+ file '_stylesheets.html.haml', :to => 'app/views/layouts/_stylesheets.html.haml'
31
+ file 'files/google.yml', :to => 'config/google.yml'
32
+ javascript 'javascripts/jquery-1.7.2.js', :to => 'jquery.js'
33
+ javascript 'javascripts/jquery-1.7.2.min.js', :to => 'jquery.min.js'
34
+ javascript 'javascripts/jquery-ui-1.8.22.min.js', :to => 'jquery-ui-1.8.22.min.js'
35
+ javascript 'javascripts/modernizr-2.5.3.min.js', :to => 'modernizr.min.js'
36
+ javascript 'javascripts/respond.min.js', :to => 'respond.min.js'
37
+ javascript 'javascripts/plugins.js', :to => 'plugins.js'
38
+ javascript 'javascripts/rails.js', :to => 'rails.js'
39
+ else
40
+ html 'index.html.haml'
41
+ file 'index.html.haml'
42
+ javascript 'javascripts/jquery-1.7.2.js', :to => 'jquery-1.7.2.js'
43
+ javascript 'javascripts/jquery-1.7.2.min.js', :to => 'jquery-1.7.2.min.js'
44
+ javascript 'javascripts/jquery-ui-1.8.22.min.js', :to => 'jquery-ui-1.8.22.min.js'
45
+ javascript 'javascripts/modernizr-2.5.3.min.js', :to => 'modernizr-2.5.3.min.js'
46
+ javascript 'javascripts/respond.min.js', :to => 'respond.min.js'
47
+ javascript 'javascripts/plugins.js', :to => 'plugins.js'
48
+ javascript 'javascripts/script.js', :to => 'script.js'
49
+ end
50
+ html 'files/404.html', :to => '404.html'
51
+ html 'files/htaccess', :to => '.htaccess'
52
+ html 'files/crossdomain.xml', :to => 'crossdomain.xml'
53
+ html 'files/robots.txt', :to => 'robots.txt'
54
+ html 'files/humans.txt', :to => 'humans.txt'
55
+ html 'files/apple-touch-icon.png', :to => 'apple-touch-icon.png'
56
+ html 'files/apple-touch-icon-57x57-precomposed.png', :to => 'apple-touch-icon-57x57-precomposed.png'
57
+ html 'files/apple-touch-icon-72x72-precomposed.png', :to => 'apple-touch-icon-72x72-precomposed.png'
58
+ html 'files/apple-touch-icon-114x114-precomposed.png', :to => 'apple-touch-icon-114x114-precomposed.png'
59
+ html 'files/apple-touch-icon-precomposed.png', :to => 'apple-touch-icon-precomposed.png'
60
+ html 'files/favicon.png', :to => 'favicon.png'
61
+
62
+ help %Q{
63
+ This is a Compass extension for HTML5 Boilerplate by Paul Irish
64
+ (See full docs at: http://github.com/sporkd/compass-html5-boilerplate)
65
+ Updated for Skyron ltd needs
66
+
67
+ Rails Installation
68
+ ========================
69
+ $ gem install html5-boilerplate
70
+ $ cd my_rails_project
71
+ $ compass init rails -r html5-boilerplate -u html5-boilerplate --force
72
+
73
+ Stand Alone Installation
74
+ ========================
75
+ $ gem install html5-boilerplate
76
+ $ compass create my_project -r html5-boilerplate -u html5-boilerplate --javascripts-dir js --css-dir css
77
+
78
+ }
79
+
80
+ welcome_message %Q{
81
+ You've installed HTML5 Boilerplate for skyron. Lucky you! ;)
82
+
83
+ }