html5-rails 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/Gemfile +13 -12
  2. data/LICENSE +20 -0
  3. data/README.md +58 -3
  4. data/app/assets/javascripts/application.js +9 -1
  5. data/app/assets/javascripts/polyfills.js +9 -1
  6. data/app/views/application/_flashes.html.erb +9 -0
  7. data/app/views/application/_footer.html.erb +5 -0
  8. data/app/views/application/_head.html.erb +25 -0
  9. data/app/views/application/_header.html.erb +3 -0
  10. data/app/views/application/_javascripts.html.erb +24 -0
  11. data/app/views/application/_stylesheets.html.erb +4 -0
  12. data/app/views/layouts/application.html.erb +25 -0
  13. data/html5-rails.gemspec +4 -2
  14. data/lib/generators/html5/assets/USAGE +11 -0
  15. data/lib/generators/html5/assets/assets_generator.rb +63 -0
  16. data/lib/generators/html5/assets/templates/javascripts/application.js +9 -0
  17. data/lib/generators/html5/assets/templates/javascripts/polyfills.js +10 -0
  18. data/lib/generators/html5/assets/templates/stylesheets/_defaults.css.scss +18 -0
  19. data/lib/generators/html5/assets/templates/stylesheets/application.css.scss +42 -0
  20. data/lib/generators/html5/assets/templates/stylesheets/application/_defaults.css.scss +7 -0
  21. data/lib/generators/html5/assets/templates/stylesheets/application/document.css.scss +9 -0
  22. data/lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss +17 -0
  23. data/lib/generators/html5/generator_helpers.rb +37 -0
  24. data/lib/generators/html5/install/USAGE +1 -0
  25. data/lib/generators/html5/install/install_generator.rb +18 -3
  26. data/lib/generators/html5/install/templates/README +10 -2
  27. data/lib/generators/html5/install/templates/{compass.rb → config/compass.rb} +1 -1
  28. data/lib/generators/html5/install/templates/config/html5_rails.yml +26 -0
  29. data/lib/generators/html5/layout/USAGE +8 -0
  30. data/lib/generators/html5/layout/layout_generator.rb +44 -0
  31. data/lib/generators/html5/layout/templates/application.html.erb +25 -0
  32. data/lib/generators/html5/layout/templates/application.html.haml +16 -0
  33. data/lib/generators/html5/partial/USAGE +8 -0
  34. data/lib/generators/html5/partial/partial_generator.rb +77 -0
  35. data/lib/generators/html5/partial/templates/_flashes.html.erb +9 -0
  36. data/lib/generators/html5/partial/templates/_flashes.html.haml +5 -0
  37. data/lib/generators/html5/partial/templates/_footer.html.erb +5 -0
  38. data/lib/generators/html5/partial/templates/_footer.html.haml +3 -0
  39. data/lib/generators/html5/partial/templates/_head.html.erb +25 -0
  40. data/lib/generators/html5/partial/templates/_head.html.haml +28 -0
  41. data/lib/generators/html5/partial/templates/_header.html.erb +3 -0
  42. data/lib/generators/html5/partial/templates/_header.html.haml +2 -0
  43. data/lib/generators/html5/partial/templates/_javascripts.html.erb +24 -0
  44. data/lib/generators/html5/partial/templates/_javascripts.html.haml +19 -0
  45. data/lib/generators/html5/partial/templates/_stylesheets.html.erb +4 -0
  46. data/lib/generators/html5/partial/templates/_stylesheets.html.haml +4 -0
  47. data/lib/html5/rails.rb +1 -1
  48. data/lib/html5/rails/engine.rb +1 -1
  49. data/lib/html5/rails/{boilerplate_helper.rb → helpers.rb} +12 -10
  50. data/lib/html5/rails/version.rb +3 -5
  51. data/test/dummy/.gitignore +15 -5
  52. data/test/dummy/app/assets/javascripts/application.js +9 -2
  53. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  54. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  55. data/test/dummy/app/views/pages/home.html.erb +1 -0
  56. data/test/dummy/config/application.rb +9 -4
  57. data/test/dummy/config/environments/development.rb +3 -0
  58. data/test/dummy/config/environments/production.rb +11 -2
  59. data/test/dummy/config/initializers/wrap_parameters.rb +5 -3
  60. data/test/dummy/config/routes.rb +1 -1
  61. data/test/dummy/db/seeds.rb +7 -0
  62. data/test/dummy/doc/README_FOR_APP +2 -0
  63. data/test/dummy/lib/assets/.gitkeep +0 -0
  64. data/test/generators/assets_generator_test.rb +60 -0
  65. data/test/generators/install_generator_test.rb +44 -3
  66. data/test/generators/layout_generator_test.rb +71 -0
  67. data/test/generators/partial_generator_test.rb +75 -0
  68. data/test/support/generator_test_helper.rb +18 -0
  69. data/test/test_helper.rb +4 -8
  70. data/{app/assets/javascripts/html5/boilerplate → vendor/assets/javascripts/h5bp}/index.js +0 -0
  71. data/vendor/assets/javascripts/h5bp/plugins.js +15 -0
  72. data/vendor/assets/javascripts/modernizr.min.js +3 -3
  73. metadata +115 -72
  74. data/LICENSE.rb +0 -3
  75. data/app/assets/javascripts/html5/boilerplate/plugins.js +0 -16
  76. data/app/assets/javascripts/html5/boilerplate/polyfills.js +0 -2
  77. data/app/views/application/_flashes.html.haml +0 -4
  78. data/app/views/application/_footer.html.haml +0 -2
  79. data/app/views/application/_head.html.haml +0 -24
  80. data/app/views/application/_header.html.haml +0 -1
  81. data/app/views/application/_javascripts.html.haml +0 -27
  82. data/app/views/application/_stylesheets.html.haml +0 -5
  83. data/app/views/layouts/application.html.haml +0 -20
  84. data/test/dummy/app/assets/stylesheets/application.css.scss +0 -19
  85. data/test/dummy/app/assets/stylesheets/partials/_media.css.scss +0 -22
  86. data/test/dummy/app/views/pages/home.html.haml +0 -2
  87. data/test/dummy/config/initializers/sass.rb +0 -3
  88. data/vendor/assets/javascripts/respond.min.js +0 -2
@@ -0,0 +1,71 @@
1
+ require "test_helper"
2
+ require "generators/html5/layout/layout_generator"
3
+
4
+ class LayoutGeneratorTest < Rails::Generators::TestCase
5
+ include GeneratorTestHelper
6
+ tests Html5::Generators::LayoutGenerator
7
+
8
+ %w(erb haml).each do |engine|
9
+ defaults = ["--template-engine=#{ engine }"]
10
+
11
+ test "html5:layout --template-engine=#{ engine }" do
12
+ run_generator defaults
13
+
14
+ assert_no_file "app/views/layouts/application.html.erb" if engine != 'erb'
15
+ assert_file "app/views/layouts/application.html.#{ engine }"
16
+ end
17
+
18
+ test "html5:layout application --template-engine=#{ engine }" do
19
+ run_generator %w(application) + defaults
20
+ assert_file "app/views/layouts/application.html.#{ engine }"
21
+ end
22
+
23
+ test "html5:layout pancakes --template-engine=#{ engine }" do
24
+ run_generator %w(pancakes) + defaults
25
+ assert_file "app/views/layouts/pancakes.html.#{ engine }"
26
+ end
27
+
28
+ test "html5:layout admin/pancakes --template-engine=#{ engine }" do
29
+ run_generator %w(admin/pancakes) + defaults
30
+ assert_file "app/views/layouts/admin/pancakes.html.#{ engine }"
31
+ end
32
+
33
+ test "html5:layout Admin::Pancakes --template-engine=#{ engine }" do
34
+ run_generator %w(Admin::Pancakes) + defaults
35
+ assert_file "app/views/layouts/admin/pancakes.html.#{ engine }"
36
+ end
37
+
38
+ test "html5:layout --template-engine=#{ engine } (without --all-partials)" do
39
+ run_generator defaults
40
+ assert_no_directory "app/views/application"
41
+ end
42
+
43
+ test "html5:layout --all-partials --template-engine=#{ engine }" do
44
+ run_generator ["--all-partials"] + defaults
45
+
46
+ assert_file "app/views/layouts/application.html.#{ engine }"
47
+ %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
48
+ assert_file "app/views/application/#{ file }.html.#{ engine }"
49
+ end
50
+ end
51
+
52
+ test "html5:layout pancakes --all-partials --template-engine=#{ engine }" do
53
+ run_generator ["pancakes", "--all-partials"] + defaults
54
+
55
+ assert_file "app/views/layouts/pancakes.html.#{ engine }"
56
+ %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
57
+ assert_file "app/views/pancakes/#{ file }.html.#{ engine }"
58
+ end
59
+ end
60
+
61
+ test "html5:layout admin/pancakes --all-partials --template-engine=#{ engine }" do
62
+ run_generator ["admin/pancakes", "--all-partials"] + defaults
63
+
64
+ assert_file "app/views/layouts/admin/pancakes.html.#{ engine }"
65
+ %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
66
+ assert_file "app/views/admin/pancakes/#{ file }.html.#{ engine }"
67
+ end
68
+ end
69
+ end
70
+
71
+ end
@@ -0,0 +1,75 @@
1
+ require "test_helper"
2
+ require "generators/html5/partial/partial_generator"
3
+
4
+ class PartialGeneratorTest < Rails::Generators::TestCase
5
+ include GeneratorTestHelper
6
+ tests Html5::Generators::PartialGenerator
7
+
8
+ %w(erb haml).each do |engine|
9
+ defaults = ["--template-engine=#{ engine }"]
10
+
11
+ test "html5:partial --template-engine=#{ engine }" do
12
+ run_generator defaults
13
+ assert_no_directory "app/views/application"
14
+ end
15
+
16
+ test "html5:partial _header --template-engine=#{ engine }" do
17
+ run_generator %w(_header) + defaults
18
+ assert_file "app/views/application/_header.html.#{ engine }"
19
+ end
20
+
21
+ test "html:partial waffles/_footer --template-engine=#{ engine }" do
22
+ run_generator %w(waffles/_footer) + defaults
23
+ assert_file "app/views/waffles/_footer.html.#{ engine }"
24
+ end
25
+
26
+ test "html5:partial --minimal --template-engine=#{ engine }" do
27
+ run_generator %w(--minimal) + defaults
28
+
29
+ %w(_footer _head _header).each do |file|
30
+ assert_file "app/views/application/#{ file }.html.#{ engine }"
31
+ end
32
+ %w(_flashes _javascripts _stylesheets).each do |file|
33
+ assert_no_file "app/views/application/#{ file }.html.#{ engine }"
34
+ end
35
+ end
36
+
37
+ test "html5:partial --all --template-engine=#{ engine }" do
38
+ run_generator %w(--all) + defaults
39
+
40
+ %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
41
+ assert_file "app/views/application/#{ file }.html.#{ engine }"
42
+ end
43
+ end
44
+
45
+ test "html5:partial --minimal --path=waffles --template-engine=#{ engine }" do
46
+ run_generator ["--minimal", "--path=waffles"] + defaults
47
+
48
+ %w(_footer _head _header).each do |file|
49
+ assert_file "app/views/waffles/#{ file }.html.#{ engine }"
50
+ end
51
+ %w(_flashes _javascripts _stylesheets).each do |file|
52
+ assert_no_file "app/views/waffles/#{ file }.html.#{ engine }"
53
+ end
54
+ end
55
+
56
+ test "html5:partial --all --path=admin/waffles --template-engine=#{ engine }" do
57
+ run_generator ["--all", "--path=admin/waffles"] + defaults
58
+
59
+ %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
60
+ assert_file "app/views/admin/waffles/#{ file }.html.#{ engine }"
61
+ end
62
+ end
63
+
64
+ test "header should contain app title in #{ engine } template" do
65
+ run_generator %w(_header) + defaults
66
+ assert_file "app/views/application/_header.html.#{ engine }", /h1(>| )Dummy/
67
+ end
68
+
69
+ test "footer should contain app title in #{ engine } template" do
70
+ run_generator %w(_footer) + defaults
71
+ assert_file "app/views/application/_footer.html.#{ engine }", /Dummy, Copyright/
72
+ end
73
+ end
74
+
75
+ end
@@ -0,0 +1,18 @@
1
+ module GeneratorTestHelper
2
+ def self.included(base)
3
+ base.class_eval do
4
+ destination File.expand_path("../../tmp", __FILE__)
5
+ setup :prepare_destination
6
+ end
7
+ end
8
+
9
+ protected
10
+
11
+ def prepare_destination
12
+ rm_rf(destination_root)
13
+ mkdir_p(destination_root + "/app")
14
+ dummy_app = File.expand_path("../../dummy", __FILE__)
15
+ FileUtils.cp_r(dummy_app + "/app/views", destination_root + "/app")
16
+ FileUtils.cp_r(dummy_app + "/app/assets", destination_root + "/app")
17
+ end
18
+ end
data/test/test_helper.rb CHANGED
@@ -11,16 +11,12 @@ ActionMailer::Base.default_url_options[:host] = "test.com"
11
11
  Rails.backtrace_cleaner.remove_silencers!
12
12
 
13
13
  # Configure capybara for integration testing
14
- require "capybara/rails"
15
- Capybara.default_driver = :rack_test
16
- Capybara.default_selector = :css
17
-
18
- # Run any available migration
19
- ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
14
+ # require "capybara/rails"
15
+ # Capybara.default_driver = :rack_test
16
+ # Capybara.default_selector = :css
20
17
 
21
18
  # Load support files
22
19
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
23
20
 
24
21
  # For generators
25
- require "rails/generators/test_case"
26
- require "generators/html5/install/install_generator"
22
+ require 'rails/generators/test_case'
@@ -0,0 +1,15 @@
1
+ // usage: log('inside coolFunc', this, arguments);
2
+ // paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
3
+ window.log = function(){
4
+ log.history = log.history || []; // store logs to an array for reference
5
+ log.history.push(arguments);
6
+ if(this.console) {
7
+ arguments.callee = arguments.callee.caller;
8
+ var newarr = [].slice.call(arguments);
9
+ (typeof console.log === 'object' ? log.apply.call(console.log, console, newarr) : console.log.apply(console, newarr));
10
+ }
11
+ };
12
+
13
+ // make it safe to use console.log always
14
+ (function(b){function c(){}for(var d="assert,clear,count,debug,dir,dirxml,error,exception,firebug,group,groupCollapsed,groupEnd,info,log,memoryProfile,memoryProfileEnd,profile,profileEnd,table,time,timeEnd,timeStamp,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
15
+ {console.log();return window.console;}catch(err){return window.console={};}})());
@@ -1,4 +1,4 @@
1
- /* Modernizr 2.0 (Custom Build) | MIT & BSD
2
- * Contains: fontface | backgroundsize | borderimage | borderradius | boxshadow | flexbox | hsla | multiplebgs | opacity | rgba | textshadow | cssanimations | csscolumns | generatedcontent | cssgradients | cssreflections | csstransforms | csstransforms3d | csstransitions | applicationcache | canvas | canvastext | draganddrop | hashchange | history | audio | video | indexeddb | input | inputtypes | localstorage | postmessage | sessionstorage | websockets | websqldatabase | webworkers | geolocation | inlinesvg | smil | svg | svgclippaths | touch | webgl | iepp | mq | cssclasses | teststyles | testprop | testallprops | hasevent | prefixes | domprefixes | load
1
+ /* Modernizr 2.0.6 (Custom Build) | MIT & BSD
2
+ * Build: http://www.modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-iepp-respond-mq-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
3
3
  */
4
- ;window.Modernizr=function(a,b,c){function I(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=a[b]in l;return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function G(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return F(d,b)}function F(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function E(a,b){return!!~(""+a).indexOf(b)}function D(a,b){return typeof a===b}function C(a,b){return B(o.join(a+";")+(b||""))}function B(a){k.cssText=a}var d="2.0",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},w=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;v("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=D(e[d],"function"),D(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y,z={}.hasOwnProperty,A;!D(z,c)&&!D(z.call,c)?A=function(a,b){return z.call(a,b)}:A=function(a,b){return b in a&&D(a.constructor.prototype[b],c)};var H=function(c,d){var f=c.join(""),g=d.length;v(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssText||f.cssRules[0].cssText,i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9,e.csstransforms3d=j.csstransforms3d.offsetLeft===9,e.generatedcontent=j.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("//:")}',["@media (",o.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'"}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!D(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return e.touch},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b].toLowerCase()+"IndexedDB"])return!0;return!!a.indexedDB},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},r.rgba=function(){B("background-color:rgba(150,255,150,.5)");return E(k.backgroundColor,"rgba")},r.hsla=function(){B("background-color:hsla(120,40%,100%,.5)");return E(k.backgroundColor,"rgba")||E(k.backgroundColor,"hsla")},r.multiplebgs=function(){B("background:url(//:),url(//:),red url(//:)");return/(url\s*\(.*?){3}/.test(k.background)},r.backgroundsize=function(){return G("backgroundSize")},r.borderimage=function(){return G("borderImage")},r.borderradius=function(){return G("borderRadius")},r.boxshadow=function(){return G("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){C("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return G("animationName")},r.csscolumns=function(){return G("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";B((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return E(k.backgroundImage,"gradient")},r.cssreflections=function(){return G("boxReflect")},r.csstransforms=function(){return!!F(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!F(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d);return a},r.csstransitions=function(){return G("transitionProperty")},r.fontface=function(){return e.fontface},r.generatedcontent=function(){return e.generatedcontent},r.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}}catch(e){}return c},r.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}catch(d){}return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var J in r)A(r,J)&&(y=J.toLowerCase(),e[y]=r[J](),u.push((e[y]?"":"no-")+y));e.input||I(),B(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=o,e._domPrefixes=p,e.mq=w,e.hasEvent=x,e.testProp=function(a){return F([a])},e.testAllProps=G,e.testStyles=v,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+u.join(" "):"");return e}(this,this.document),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css",!a.e&&(w||r)?function a(b){m(function(){if(!d)try{b.sheet.cssRules.length?(d=1,j()):a(b)}catch(c){c.code==1e3||c.message=="security"||c.message=="denied"?(d=1,m(function(){j()},0)):a(b)}},0)}(c):(c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload()),m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return typeof a=="object"},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
4
+ ;window.Modernizr=function(a,b,c){function I(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=a[b]in l;return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function G(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return F(d,b)}function F(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function E(a,b){return!!~(""+a).indexOf(b)}function D(a,b){return typeof a===b}function C(a,b){return B(o.join(a+";")+(b||""))}function B(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},w=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;v("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=D(e[d],"function"),D(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y,z={}.hasOwnProperty,A;!D(z,c)&&!D(z.call,c)?A=function(a,b){return z.call(a,b)}:A=function(a,b){return b in a&&D(a.constructor.prototype[b],c)};var H=function(c,d){var f=c.join(""),g=d.length;v(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9,e.csstransforms3d=j.csstransforms3d.offsetLeft===9,e.generatedcontent=j.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",o.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'";visibility:hidden}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!D(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return e.touch},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b].toLowerCase()+"IndexedDB"])return!0;return!!a.indexedDB},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},r.rgba=function(){B("background-color:rgba(150,255,150,.5)");return E(k.backgroundColor,"rgba")},r.hsla=function(){B("background-color:hsla(120,40%,100%,.5)");return E(k.backgroundColor,"rgba")||E(k.backgroundColor,"hsla")},r.multiplebgs=function(){B("background:url(https://),url(https://),red url(https://)");return/(url\s*\(.*?){3}/.test(k.background)},r.backgroundsize=function(){return G("backgroundSize")},r.borderimage=function(){return G("borderImage")},r.borderradius=function(){return G("borderRadius")},r.boxshadow=function(){return G("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){C("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return G("animationName")},r.csscolumns=function(){return G("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";B((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return E(k.backgroundImage,"gradient")},r.cssreflections=function(){return G("boxReflect")},r.csstransforms=function(){return!!F(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!F(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d);return a},r.csstransitions=function(){return G("transitionProperty")},r.fontface=function(){return e.fontface},r.generatedcontent=function(){return e.generatedcontent},r.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}}catch(e){}return c},r.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}catch(d){}return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var J in r)A(r,J)&&(y=J.toLowerCase(),e[y]=r[J](),u.push((e[y]?"":"no-")+y));e.input||I(),B(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=o,e._domPrefixes=p,e.mq=w,e.hasEvent=x,e.testProp=function(a){return F([a])},e.testAllProps=G,e.testStyles=v,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+u.join(" "):"");return e}(this,this.document),function(a,b){function u(){r(!0)}a.respond={},respond.update=function(){},respond.mediaQueriesSupported=b;if(!b){var c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=j.getElementsByTagName("link"),l=[],m=function(){var b=k,c=b.length,d=0,e,f,g,i;for(;d<c;d++)e=b[d],f=e.href,g=e.media,i=e.rel&&e.rel.toLowerCase()==="stylesheet",!!f&&i&&!h[f]&&(!/^([a-zA-Z]+?:(\/\/)?(www\.)?)/.test(f)||f.replace(RegExp.$1,"").split("/")[0]===a.location.host?l.push({href:f,media:g}):h[f]=!0);n()},n=function(){if(l.length){var a=l.shift();s(a.href,function(b){o(b,a.href,a.media),h[a.href]=!0,n()})}},o=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),g=d&&d.length||0,b=b.substring(0,b.lastIndexOf("/")),h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c,j=0,k,l,m,n,o;b.length&&(b+="/"),i&&(g=1);for(;j<g;j++){k=0,i?(l=c,f.push(h(a))):(l=d[j].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),n=l.split(","),o=n.length;for(;k<o;k++)m=n[k],e.push({media:m.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:f.length-1,minw:m.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:m.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}r()},p,q,r=function(a){var b="clientWidth",h=d[b],l=c.compatMode==="CSS1Compat"&&h||c.body[b]||h,m={},n=c.createDocumentFragment(),o=k[k.length-1],s=(new Date).getTime();if(a&&p&&s-p<i)clearTimeout(q),q=setTimeout(r,i);else{p=s;for(var t in e){var u=e[t];if(!u.minw&&!u.maxw||(!u.minw||u.minw&&l>=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement("style"),w=m[t].join("\n");v.type="text/css",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open("GET",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener("resize",u,!1):a.attachEvent&&a.attachEvent("onresize",u)}}(this,Modernizr.mq("only all")),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
metadata CHANGED
@@ -1,102 +1,135 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: html5-rails
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
4
5
  prerelease:
5
- version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Peter Gumeson
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-09-21 00:00:00 -07:00
12
+ date: 2012-01-11 00:00:00.000000000 -08:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: compass-html5
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: jquery-rails
17
+ requirement: &2156774160 !ruby/object:Gem::Requirement
20
18
  none: false
21
- requirements:
19
+ requirements:
22
20
  - - ~>
23
- - !ruby/object:Gem::Version
24
- version: 0.0.1
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.19
25
23
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: railties
29
24
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2156774160
26
+ - !ruby/object:Gem::Dependency
27
+ name: railties
28
+ requirement: &2156773660 !ruby/object:Gem::Requirement
31
29
  none: false
32
- requirements:
30
+ requirements:
33
31
  - - ~>
34
- - !ruby/object:Gem::Version
32
+ - !ruby/object:Gem::Version
35
33
  version: 3.1.0
36
34
  type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: thor
40
35
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *2156773660
37
+ - !ruby/object:Gem::Dependency
38
+ name: thor
39
+ requirement: &2156773160 !ruby/object:Gem::Requirement
42
40
  none: false
43
- requirements:
41
+ requirements:
44
42
  - - ~>
45
- - !ruby/object:Gem::Version
46
- version: "0.14"
43
+ - !ruby/object:Gem::Version
44
+ version: '0.14'
47
45
  type: :runtime
48
- version_requirements: *id003
49
- description: ""
50
- email:
46
+ prerelease: false
47
+ version_requirements: *2156773160
48
+ - !ruby/object:Gem::Dependency
49
+ name: compass-h5bp
50
+ requirement: &2156772660 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 0.0.1
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *2156772660
59
+ description: ''
60
+ email:
51
61
  - gumeson@gmail.com
52
62
  executables: []
53
-
54
63
  extensions: []
55
-
56
64
  extra_rdoc_files: []
57
-
58
- files:
65
+ files:
59
66
  - .gitignore
60
67
  - Gemfile
61
- - LICENSE.rb
68
+ - LICENSE
62
69
  - README.md
63
70
  - Rakefile
64
71
  - app/assets/javascripts/application.js
65
- - app/assets/javascripts/html5/boilerplate/index.js
66
- - app/assets/javascripts/html5/boilerplate/plugins.js
67
- - app/assets/javascripts/html5/boilerplate/polyfills.js
68
72
  - app/assets/javascripts/polyfills.js
69
- - app/views/application/_flashes.html.haml
70
- - app/views/application/_footer.html.haml
71
- - app/views/application/_head.html.haml
72
- - app/views/application/_header.html.haml
73
- - app/views/application/_javascripts.html.haml
74
- - app/views/application/_stylesheets.html.haml
75
- - app/views/layouts/application.html.haml
73
+ - app/views/application/_flashes.html.erb
74
+ - app/views/application/_footer.html.erb
75
+ - app/views/application/_head.html.erb
76
+ - app/views/application/_header.html.erb
77
+ - app/views/application/_javascripts.html.erb
78
+ - app/views/application/_stylesheets.html.erb
79
+ - app/views/layouts/application.html.erb
76
80
  - html5-rails.gemspec
81
+ - lib/generators/html5/assets/USAGE
82
+ - lib/generators/html5/assets/assets_generator.rb
83
+ - lib/generators/html5/assets/templates/javascripts/application.js
84
+ - lib/generators/html5/assets/templates/javascripts/polyfills.js
85
+ - lib/generators/html5/assets/templates/stylesheets/_defaults.css.scss
86
+ - lib/generators/html5/assets/templates/stylesheets/application.css.scss
87
+ - lib/generators/html5/assets/templates/stylesheets/application/_defaults.css.scss
88
+ - lib/generators/html5/assets/templates/stylesheets/application/document.css.scss
89
+ - lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss
90
+ - lib/generators/html5/generator_helpers.rb
77
91
  - lib/generators/html5/install/USAGE
78
92
  - lib/generators/html5/install/install_generator.rb
79
93
  - lib/generators/html5/install/templates/README
80
- - lib/generators/html5/install/templates/compass.rb
94
+ - lib/generators/html5/install/templates/config/compass.rb
95
+ - lib/generators/html5/install/templates/config/html5_rails.yml
96
+ - lib/generators/html5/layout/USAGE
97
+ - lib/generators/html5/layout/layout_generator.rb
98
+ - lib/generators/html5/layout/templates/application.html.erb
99
+ - lib/generators/html5/layout/templates/application.html.haml
100
+ - lib/generators/html5/partial/USAGE
101
+ - lib/generators/html5/partial/partial_generator.rb
102
+ - lib/generators/html5/partial/templates/_flashes.html.erb
103
+ - lib/generators/html5/partial/templates/_flashes.html.haml
104
+ - lib/generators/html5/partial/templates/_footer.html.erb
105
+ - lib/generators/html5/partial/templates/_footer.html.haml
106
+ - lib/generators/html5/partial/templates/_head.html.erb
107
+ - lib/generators/html5/partial/templates/_head.html.haml
108
+ - lib/generators/html5/partial/templates/_header.html.erb
109
+ - lib/generators/html5/partial/templates/_header.html.haml
110
+ - lib/generators/html5/partial/templates/_javascripts.html.erb
111
+ - lib/generators/html5/partial/templates/_javascripts.html.haml
112
+ - lib/generators/html5/partial/templates/_stylesheets.html.erb
113
+ - lib/generators/html5/partial/templates/_stylesheets.html.haml
81
114
  - lib/html5-rails.rb
82
115
  - lib/html5/rails.rb
83
- - lib/html5/rails/boilerplate_helper.rb
84
116
  - lib/html5/rails/engine.rb
117
+ - lib/html5/rails/helpers.rb
85
118
  - lib/html5/rails/version.rb
86
119
  - test/dummy/.gitignore
87
120
  - test/dummy/Rakefile
88
121
  - test/dummy/app/assets/images/rails.png
89
122
  - test/dummy/app/assets/javascripts/application.js
90
123
  - test/dummy/app/assets/javascripts/pages.js.coffee
91
- - test/dummy/app/assets/stylesheets/application.css.scss
92
- - test/dummy/app/assets/stylesheets/partials/_media.css.scss
124
+ - test/dummy/app/assets/stylesheets/application.css
93
125
  - test/dummy/app/controllers/application_controller.rb
94
126
  - test/dummy/app/controllers/pages_controller.rb
95
127
  - test/dummy/app/helpers/application_helper.rb
96
128
  - test/dummy/app/helpers/pages_helper.rb
97
129
  - test/dummy/app/mailers/.gitkeep
98
130
  - test/dummy/app/models/.gitkeep
99
- - test/dummy/app/views/pages/home.html.haml
131
+ - test/dummy/app/views/layouts/application.html.erb
132
+ - test/dummy/app/views/pages/home.html.erb
100
133
  - test/dummy/config.ru
101
134
  - test/dummy/config/application.rb
102
135
  - test/dummy/config/boot.rb
@@ -108,12 +141,14 @@ files:
108
141
  - test/dummy/config/initializers/backtrace_silencers.rb
109
142
  - test/dummy/config/initializers/inflections.rb
110
143
  - test/dummy/config/initializers/mime_types.rb
111
- - test/dummy/config/initializers/sass.rb
112
144
  - test/dummy/config/initializers/secret_token.rb
113
145
  - test/dummy/config/initializers/session_store.rb
114
146
  - test/dummy/config/initializers/wrap_parameters.rb
115
147
  - test/dummy/config/locales/en.yml
116
148
  - test/dummy/config/routes.rb
149
+ - test/dummy/db/seeds.rb
150
+ - test/dummy/doc/README_FOR_APP
151
+ - test/dummy/lib/assets/.gitkeep
117
152
  - test/dummy/lib/tasks/.gitkeep
118
153
  - test/dummy/log/.gitkeep
119
154
  - test/dummy/public/404.html
@@ -124,56 +159,58 @@ files:
124
159
  - test/dummy/script/rails
125
160
  - test/dummy/vendor/assets/stylesheets/.gitkeep
126
161
  - test/dummy/vendor/plugins/.gitkeep
162
+ - test/generators/assets_generator_test.rb
127
163
  - test/generators/install_generator_test.rb
164
+ - test/generators/layout_generator_test.rb
165
+ - test/generators/partial_generator_test.rb
128
166
  - test/html5_rails_test.rb
129
167
  - test/integration/navigation_test.rb
168
+ - test/support/generator_test_helper.rb
130
169
  - test/support/integration_case.rb
131
170
  - test/test_helper.rb
171
+ - vendor/assets/javascripts/h5bp/index.js
172
+ - vendor/assets/javascripts/h5bp/plugins.js
132
173
  - vendor/assets/javascripts/modernizr.min.js
133
- - vendor/assets/javascripts/respond.min.js
134
174
  has_rdoc: true
135
175
  homepage: http://rubygems.org/gems/html5-rails
136
176
  licenses: []
137
-
138
177
  post_install_message:
139
178
  rdoc_options: []
140
-
141
- require_paths:
179
+ require_paths:
142
180
  - lib
143
- required_ruby_version: !ruby/object:Gem::Requirement
181
+ required_ruby_version: !ruby/object:Gem::Requirement
144
182
  none: false
145
- requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: "0"
149
- required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
188
  none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: "0"
189
+ requirements:
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
155
193
  requirements: []
156
-
157
194
  rubyforge_project: html5-rails
158
195
  rubygems_version: 1.6.2
159
196
  signing_key:
160
197
  specification_version: 3
161
- summary: Rails support for the compass-html5 gem.
162
- test_files:
198
+ summary: Rails support for the compass-h5bp gem
199
+ test_files:
163
200
  - test/dummy/.gitignore
164
201
  - test/dummy/Rakefile
165
202
  - test/dummy/app/assets/images/rails.png
166
203
  - test/dummy/app/assets/javascripts/application.js
167
204
  - test/dummy/app/assets/javascripts/pages.js.coffee
168
- - test/dummy/app/assets/stylesheets/application.css.scss
169
- - test/dummy/app/assets/stylesheets/partials/_media.css.scss
205
+ - test/dummy/app/assets/stylesheets/application.css
170
206
  - test/dummy/app/controllers/application_controller.rb
171
207
  - test/dummy/app/controllers/pages_controller.rb
172
208
  - test/dummy/app/helpers/application_helper.rb
173
209
  - test/dummy/app/helpers/pages_helper.rb
174
210
  - test/dummy/app/mailers/.gitkeep
175
211
  - test/dummy/app/models/.gitkeep
176
- - test/dummy/app/views/pages/home.html.haml
212
+ - test/dummy/app/views/layouts/application.html.erb
213
+ - test/dummy/app/views/pages/home.html.erb
177
214
  - test/dummy/config.ru
178
215
  - test/dummy/config/application.rb
179
216
  - test/dummy/config/boot.rb
@@ -185,12 +222,14 @@ test_files:
185
222
  - test/dummy/config/initializers/backtrace_silencers.rb
186
223
  - test/dummy/config/initializers/inflections.rb
187
224
  - test/dummy/config/initializers/mime_types.rb
188
- - test/dummy/config/initializers/sass.rb
189
225
  - test/dummy/config/initializers/secret_token.rb
190
226
  - test/dummy/config/initializers/session_store.rb
191
227
  - test/dummy/config/initializers/wrap_parameters.rb
192
228
  - test/dummy/config/locales/en.yml
193
229
  - test/dummy/config/routes.rb
230
+ - test/dummy/db/seeds.rb
231
+ - test/dummy/doc/README_FOR_APP
232
+ - test/dummy/lib/assets/.gitkeep
194
233
  - test/dummy/lib/tasks/.gitkeep
195
234
  - test/dummy/log/.gitkeep
196
235
  - test/dummy/public/404.html
@@ -201,8 +240,12 @@ test_files:
201
240
  - test/dummy/script/rails
202
241
  - test/dummy/vendor/assets/stylesheets/.gitkeep
203
242
  - test/dummy/vendor/plugins/.gitkeep
243
+ - test/generators/assets_generator_test.rb
204
244
  - test/generators/install_generator_test.rb
245
+ - test/generators/layout_generator_test.rb
246
+ - test/generators/partial_generator_test.rb
205
247
  - test/html5_rails_test.rb
206
248
  - test/integration/navigation_test.rb
249
+ - test/support/generator_test_helper.rb
207
250
  - test/support/integration_case.rb
208
251
  - test/test_helper.rb