html5-rails 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. data/Gemfile +4 -13
  2. data/README.md +6 -6
  3. data/app/assets/javascripts/polyfills.js +2 -5
  4. data/app/views/application/_chromeframe.html.erb +3 -0
  5. data/app/views/application/_flashes.html.erb +1 -1
  6. data/app/views/application/_head.html.erb +5 -8
  7. data/app/views/application/_javascripts.html.erb +1 -8
  8. data/app/views/layouts/application.html.erb +4 -9
  9. data/html5-rails.gemspec +1 -1
  10. data/lib/generators/html5/assets/assets_generator.rb +2 -2
  11. data/lib/generators/html5/assets/templates/stylesheets/{_defaults.css.scss → _variables.css.scss} +3 -1
  12. data/lib/generators/html5/assets/templates/stylesheets/application.css.scss +10 -20
  13. data/lib/generators/html5/assets/templates/stylesheets/application/chromeframe.css.scss +14 -0
  14. data/lib/generators/html5/assets/templates/stylesheets/application/document.css.scss +1 -0
  15. data/lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss +5 -11
  16. data/lib/generators/html5/layout/templates/application.html.erb +4 -9
  17. data/lib/generators/html5/layout/templates/application.html.haml +2 -1
  18. data/lib/generators/html5/partial/partial_generator.rb +2 -2
  19. data/lib/generators/html5/partial/templates/_chromeframe.html.erb +3 -0
  20. data/lib/generators/html5/partial/templates/_chromeframe.html.haml +6 -0
  21. data/lib/generators/html5/partial/templates/_head.html.erb +5 -8
  22. data/lib/generators/html5/partial/templates/_head.html.haml +2 -5
  23. data/lib/generators/html5/partial/templates/_javascripts.html.erb +1 -8
  24. data/lib/generators/html5/partial/templates/_javascripts.html.haml +1 -7
  25. data/lib/html5/rails/helpers.rb +23 -34
  26. data/lib/html5/rails/version.rb +2 -3
  27. data/test/dummy/app/assets/javascripts/application.js +9 -3
  28. data/test/dummy/app/assets/stylesheets/application.css +11 -5
  29. data/test/dummy/app/views/layouts/application.html.erb +1 -1
  30. data/test/dummy/config/application.rb +11 -0
  31. data/test/dummy/config/environments/development.rb +7 -0
  32. data/test/dummy/config/environments/production.rb +8 -1
  33. data/test/dummy/config/environments/test.rb +4 -6
  34. data/test/dummy/config/initializers/inflections.rb +5 -0
  35. data/test/dummy/config/routes.rb +1 -1
  36. data/test/dummy/public/500.html +0 -1
  37. data/test/generators/assets_generator_test.rb +16 -8
  38. data/test/generators/install_generator_test.rb +5 -3
  39. data/test/generators/layout_generator_test.rb +3 -3
  40. data/test/generators/partial_generator_test.rb +4 -4
  41. data/vendor/assets/javascripts/h5bp/plugins.js +3 -11
  42. data/vendor/assets/javascripts/modernizr.min.js +3 -3
  43. metadata +16 -13
  44. data/lib/generators/html5/assets/templates/stylesheets/application/_defaults.css.scss +0 -7
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'rails', '3.1.3'
5
+ gem 'rails', '3.2.1'
6
6
 
7
7
  # Bundle edge Rails instead:
8
8
  # gem 'rails', :git => 'git://github.com/rails/rails.git'
@@ -12,25 +12,16 @@ gem 'sqlite3'
12
12
  # Gems used only for assets and not required
13
13
  # in production environments by default.
14
14
  group :assets do
15
- gem 'sass-rails', '~> 3.1.5'
16
- gem 'coffee-rails', '~> 3.1.1'
15
+ gem 'sass-rails', '~> 3.2.3'
16
+ gem 'coffee-rails', '~> 3.2.1'
17
17
  gem 'uglifier', '>= 1.0.3'
18
- gem 'compass', '0.12.alpha.4'
18
+ gem 'compass-rails'
19
19
  gem 'compass-h5bp', :path => '../compass-h5bp'
20
20
  end
21
21
 
22
22
  gem 'jquery-rails'
23
23
  gem 'haml-rails'
24
24
 
25
- # To use ActiveModel has_secure_password
26
- # gem 'bcrypt-ruby', '~> 3.0.0'
27
-
28
- # Use unicorn as the web server
29
- # gem 'unicorn'
30
-
31
- # Deploy with Capistrano
32
- # gem 'capistrano'
33
-
34
25
  # To use debugger
35
26
  # gem 'ruby-debug19', :require => 'ruby-debug'
36
27
 
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  Html5 for Rails
2
2
  =========================
3
3
 
4
- Sensible Html5 defaults for Rails projects based on [Html5 Boilerplate](http://html5boilerplate.com)
4
+ Html5 for Rails projects based on [Html5 Boilerplate](http://html5boilerplate.com)
5
5
  by Paul Irish, Divya Manian and many other [fine folks](https://github.com/h5bp/html5-boilerplate/contributors).
6
6
 
7
7
  (Also, a rewrite of compass-html5-boilerplate that adds Rails asset pipeline integration).
@@ -16,7 +16,7 @@ group :assets do
16
16
  gem 'sass-rails'
17
17
  gem 'coffee-rails'
18
18
  gem 'uglifier'
19
- gem 'compass', '0.12.alpha.4'
19
+ gem 'compass-rails'
20
20
  gem 'compass-h5bp'
21
21
  end
22
22
 
@@ -53,15 +53,15 @@ $ rails generate html5:assets --help
53
53
  Notes
54
54
  ==========
55
55
 
56
- [1] The `compass-h5bp` gem is not actually a dependency but it does need to be
56
+ [1] The `compass-h5bp` gem is not a runtime dependency, but it does need to be
57
57
  included in your assets group for development and asset precompiling to work.
58
58
 
59
59
  [2] If you use `--template-engine=haml` (or `haml-rails`), the install
60
60
  generator will remove your application.html.erb layout so that
61
- application.html.haml.can be seen.
61
+ application.html.haml will be used instead.
62
62
 
63
- [3] If you're upgrading from compass-html5-boilerplate you may need to
64
- remove config/compass.rb before you can run the generators.
63
+ [3] If you're upgrading from compass-html5-boilerplate you need to
64
+ remove config/compass.rb before you run the generators.
65
65
 
66
66
  [4] For the time being, you will want to add the following line to
67
67
  config/production.rb so that polyfills are precompiled on deploy:
@@ -1,9 +1,6 @@
1
- // This manifest is for javascript polyfills that will get included
1
+ // This is a manifest for javascript polyfills that will be included
2
2
  // in the head section of your layouts.
3
3
  //
4
4
  // polyfill (n): a JavaScript shim that replicates the standard API for older browsers.
5
5
  //
6
- // Html5 Boilerplate polyfills
7
- //= require modernizr.min
8
- //
9
- // Add your own polyfills below
6
+ //= require modernizr.min
@@ -0,0 +1,3 @@
1
+ <%# Prompt IE 6 users to install Chrome Frame. Remove this if you support IE 6. %>
2
+ <%# chromium.org/developers/how-tos/chrome-frame-getting-started %>
3
+ <!--[if lt IE 7]><p class=chromeframe>Your browser is <em>ancient!</em> <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.</p><![endif]-->
@@ -1,7 +1,7 @@
1
1
  <div id="flash">
2
2
  <% flash.each do |key, value| %>
3
3
  <div class="wrapper">
4
- <div title="<%= key.to_s.humanize %>" class="<%= key %>">
4
+ <div title="<%= key.to_s.humanize %>" class="<%= key %>"></div>
5
5
  <p><%= value %></p>
6
6
  </div>
7
7
  </div>
@@ -1,24 +1,21 @@
1
1
  <head>
2
- <meta charset='utf-8'>
2
+ <meta charset="utf-8">
3
3
 
4
4
  <%# Use the .htaccess and remove these lines to avoid edge case issues. %>
5
5
  <%# More info: h5bp.com/b/378 %>
6
- <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7
7
 
8
8
  <title></title>
9
- <meta content='' name='description'>
10
- <meta content='' name='author'>
9
+ <meta name="description" content="">
11
10
 
12
11
  <%# Mobile viewport optimized: h5bp.com/viewport %>
13
- <meta content='width=device-width,initial-scale=1' name='viewport'>
12
+ <meta name="viewport" content="width=device-width">
14
13
 
15
14
  <%= render "stylesheets" %>
16
15
 
17
16
  <%# More ideas for your <head> here: h5bp.com/d/head-Tips %>
18
17
 
19
- <%# All JavaScript at the bottom, except this Modernizr build incl. Respond.js %>
20
- <%# Respond is a polyfill for min/max-width media queries. Modernizr enables HTML5 elements & feature detects; %>
21
- <%# for optimal performance, create your own custom Modernizr build: www.modernizr.com/download/ %>
18
+ <%# All JavaScript at the bottom, except polyfills %>
22
19
  <%= javascript_include_tag "polyfills" %>
23
20
 
24
21
  <%= csrf_meta_tag %>
@@ -14,11 +14,4 @@
14
14
  s.parentNode.insertBefore(g,s)}(document,'script'));
15
15
  //]]>
16
16
  </script>
17
- <% end %>
18
-
19
- <%# Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6. %>
20
- <%# chromium.org/developers/how-tos/chrome-frame-getting-started %>
21
- <!--[if lt IE 7 ]>
22
- <script defer src='//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js'></script>
23
- <script defer>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
24
- <![endif]-->
17
+ <% end %>
@@ -1,18 +1,13 @@
1
1
  <!DOCTYPE html>
2
2
  <%# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither %>
3
- <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7 no-js" lang="en"> <![endif]-->
4
- <!--[if IE 7]> <html class="lt-ie9 lt-ie8 no-js" lang="en"> <![endif]-->
5
- <!--[if IE 8]> <html class="lt-ie9 no-js" lang="en"> <![endif]-->
6
- <!--[if gt IE 8]><!-->
7
- <html class='no-js' lang='en'>
8
- <!--<![endif]-->
9
-
3
+ <%= html_tag :class => "no-js", :lang => "en" %>
10
4
  <%= render "head" %>
11
5
 
12
- <body class='pages'>
6
+ <body class="pages">
7
+ <%= render "chromeframe" %>
13
8
  <%= render "header" %>
14
9
 
15
- <div id='main' role='main'>
10
+ <div id="main" role="main">
16
11
  <%= render "flashes" %>
17
12
  <%= yield %>
18
13
  </div>
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_dependency "railties", "~> 3.1"
19
19
  s.add_dependency "thor", "~> 0.14"
20
20
 
21
- s.add_development_dependency "compass-h5bp", "~> 0.0.1"
21
+ s.add_development_dependency "compass-h5bp", "~> 0.0.5"
22
22
 
23
23
  s.files = `git ls-files`.split("\n")
24
24
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -30,7 +30,7 @@ module Html5
30
30
  end
31
31
 
32
32
  file_ext = ".css.scss"
33
- copy_file "stylesheets/_defaults#{ file_ext }", "app/assets/stylesheets/_defaults#{ file_ext }"
33
+ copy_file "stylesheets/_variables#{ file_ext }", "app/assets/stylesheets/_variables#{ file_ext }"
34
34
  template "stylesheets/application#{ file_ext }", File.join("app/assets/stylesheets", asset_name + file_ext)
35
35
  end
36
36
 
@@ -56,7 +56,7 @@ module Html5
56
56
  end
57
57
 
58
58
  def stylesheet_partials
59
- %w(_defaults document media_queries)
59
+ %w(chromeframe document media_queries)
60
60
  end
61
61
  end
62
62
  end
@@ -10,9 +10,11 @@
10
10
  //----------------------------------------------
11
11
  $line-height: 1.4; // 1.4 for true normalization
12
12
  $font-color: #222;
13
+ $font-family: sans-serif;
14
+ $font-size: 1em;
13
15
  $link-color: #00e;
14
16
  $link-hover-color: #06e;
15
17
  $link-visited-color: #551a8b;
16
18
  $selected-font-color: #fff;
17
19
  $selected-background-color: #ff5e99;
18
- $invalid-background-color: #f0dddd;
20
+ $invalid-background-color: #f0dddd;
@@ -3,40 +3,30 @@
3
3
  // Upgrade with: $ rails generate html5:install
4
4
 
5
5
  //-----------------------------------------
6
- // Define some variables first
6
+ // Variables come first
7
7
  //-----------------------------------------
8
- @import "defaults";
9
- @import "<%= file_path %>/defaults";
8
+ @import "variables";
10
9
 
11
10
  //-----------------------------------------
12
- // Compass libraries and extensions
11
+ // Imports
13
12
  //-----------------------------------------
14
- // @import "compass/**/*";
13
+ // @import "compass/css3"
15
14
  @import "h5bp";
16
15
 
17
16
  //-----------------------------------------
18
- // Html5 Boilerplate normalize.css
17
+ // Prepend includes
19
18
  //-----------------------------------------
20
19
  @include h5bp-normalize;
21
20
 
22
21
  //-----------------------------------------
23
- // Import all your custom partials below
22
+ // Custom <%= file_path %> partials
24
23
  //-----------------------------------------
24
+ @import "<%= file_path %>/chromeframe";
25
25
  @import "<%= file_path %>/document";
26
-
27
-
28
-
29
- //-----------------------------------------
30
- // Your media queries come last
31
- //-----------------------------------------
32
- @import "<%= file_path %>/media_queries";
26
+ @import "<%= file_path %>/media_queries"; // Media queries last
33
27
 
34
28
  //-----------------------------------------
35
- // Html5 Boilerplate helpers
29
+ // Append includes
36
30
  //-----------------------------------------
37
31
  @include h5bp-helpers;
38
-
39
- //-----------------------------------------
40
- // Html5 Boilerplate media
41
- //-----------------------------------------
42
- @include h5bp-media;
32
+ @include h5bp-media;
@@ -0,0 +1,14 @@
1
+ // This file was generated by html5-rails
2
+ // https://github.com/sporkd/html5-rails
3
+ // Upgrade with: $ rails generate html5:install
4
+
5
+ //-----------------------------------------
6
+ // Chrome Frame prompt
7
+ //-----------------------------------------
8
+
9
+ .chromeframe {
10
+ margin: 0.2em 0;
11
+ background: #ccc;
12
+ color: black;
13
+ padding: 0.2em 0;
14
+ }
@@ -5,5 +5,6 @@
5
5
  //-----------------------------------------
6
6
  // Document styles
7
7
  //-----------------------------------------
8
+
8
9
  html {}
9
10
  body {}
@@ -2,16 +2,10 @@
2
2
  // https://github.com/sporkd/html5-rails
3
3
  // Upgrade with: $ rails generate html5:install
4
4
  //
5
- // PLACEHOLDER Media Queries for Responsive Design.
6
- // These override the primary ('mobile first') styles
5
+ // EXAMPLE Media Query for Responsive Design.
6
+ // This example overrides the primary ('mobile first') styles
7
7
  // Modify as content requires.
8
8
 
9
- @media only screen and (min-width: 480px) {
10
- // Style adjustments for viewports 480px and over go here
11
-
12
- }
13
-
14
- @media only screen and (min-width: 768px) {
15
- // Style adjustments for viewports 768px and over go here
16
-
17
- }
9
+ @media only screen and (min-width: 35em) {
10
+ // Style adjustments for viewports that meet the condition
11
+ }
@@ -1,18 +1,13 @@
1
1
  <!DOCTYPE html>
2
2
  <%%# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither %>
3
- <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7 no-js" lang="en"> <![endif]-->
4
- <!--[if IE 7]> <html class="lt-ie9 lt-ie8 no-js" lang="en"> <![endif]-->
5
- <!--[if IE 8]> <html class="lt-ie9 no-js" lang="en"> <![endif]-->
6
- <!--[if gt IE 8]><!-->
7
- <html class='no-js' lang='en'>
8
- <!--<![endif]-->
9
-
3
+ <%%= html_tag :class => "no-js", :lang => "en" %>
10
4
  <%%= render "head" %>
11
5
 
12
- <body class='pages'>
6
+ <body class="pages">
7
+ <%%= render "chromeframe" %>
13
8
  <%%= render "header" %>
14
9
 
15
- <div id='main' role='main'>
10
+ <div id="main" role="main">
16
11
  <%%= render "flashes" %>
17
12
  <%%= yield %>
18
13
  </div>
@@ -1,9 +1,10 @@
1
1
  !!! 5
2
2
  -# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
3
- - ie_html :class => "no-js", :lang => "en" do
3
+ - html_tag :class => "no-js", :lang => "en" do
4
4
  = render "head"
5
5
 
6
6
  %body{ :class => "#{ controller.controller_name }" }
7
+ = render "chromeframe"
7
8
  = render "header"
8
9
 
9
10
  #main{ :role => "main" }
@@ -50,9 +50,9 @@ module Html5
50
50
 
51
51
  def partials
52
52
  if options[:all]
53
- %w(_flashes _footer _head _header _javascripts _stylesheets)
53
+ %w(_flashes _footer _head _header _javascripts _stylesheets _chromeframe)
54
54
  elsif options.minimal?
55
- %w(_footer _head _header)
55
+ %w(_footer _head _header _chromeframe)
56
56
  elsif file_name
57
57
  [file_name]
58
58
  else
@@ -0,0 +1,3 @@
1
+ <%%# Prompt IE 6 users to install Chrome Frame. Remove this if you support IE 6. %>
2
+ <%%# chromium.org/developers/how-tos/chrome-frame-getting-started %>
3
+ <!--[if lt IE 7]><p class=chromeframe>Your browser is <em>ancient!</em> <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.</p><![endif]-->
@@ -0,0 +1,6 @@
1
+ -# Prompt IE 6 users to install Chrome Frame. Remove this if you support IE 6.
2
+ -# chromium.org/developers/how-tos/chrome-frame-getting-started
3
+ /[if lt IE 7 ]
4
+ %p.chromeframe
5
+ Your browser is <em>ancient!</em>
6
+ <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.
@@ -1,24 +1,21 @@
1
1
  <head>
2
- <meta charset='utf-8'>
2
+ <meta charset="utf-8">
3
3
 
4
4
  <%%# Use the .htaccess and remove these lines to avoid edge case issues. %>
5
5
  <%%# More info: h5bp.com/b/378 %>
6
- <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7
7
 
8
8
  <title></title>
9
- <meta content='' name='description'>
10
- <meta content='' name='author'>
9
+ <meta name="description" content="">
11
10
 
12
11
  <%%# Mobile viewport optimized: h5bp.com/viewport %>
13
- <meta content='width=device-width,initial-scale=1' name='viewport'>
12
+ <meta name="viewport" content="width=device-width">
14
13
 
15
14
  <%%= render "stylesheets" %>
16
15
 
17
16
  <%%# More ideas for your <head> here: h5bp.com/d/head-Tips %>
18
17
 
19
- <%%# All JavaScript at the bottom, except this Modernizr build incl. Respond.js %>
20
- <%%# Respond is a polyfill for min/max-width media queries. Modernizr enables HTML5 elements & feature detects; %>
21
- <%%# for optimal performance, create your own custom Modernizr build: www.modernizr.com/download/ %>
18
+ <%%# All JavaScript at the bottom, except polyfills %>
22
19
  <%%= javascript_include_tag "polyfills" %>
23
20
 
24
21
  <%%= csrf_meta_tag %>
@@ -9,10 +9,9 @@
9
9
  == #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
10
10
 
11
11
  %meta{ :name => "description", :content => "" }/
12
- %meta{ :name => "author", :content => "" }/
13
12
 
14
13
  -# Mobile viewport optimized: h5bp.com/viewport
15
- %meta{ :name => "viewport", :content => "width=device-width,initial-scale=1" }/
14
+ %meta{ :name => "viewport", :content => "width=device-width" }/
16
15
 
17
16
  -# Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons
18
17
 
@@ -20,9 +19,7 @@
20
19
 
21
20
  -# More ideas for your <head> here: h5bp.com/d/head-Tips
22
21
 
23
- -# All JavaScript at the bottom, except this Modernizr build incl. Respond.js
24
- -# Respond is a polyfill for min/max-width media queries. Modernizr enables HTML5 elements & feature detects;
25
- -# for optimal performance, create your own custom Modernizr build: www.modernizr.com/download/
22
+ -# All JavaScript at the bottom, except polyfills
26
23
  = javascript_include_tag "polyfills"
27
24
 
28
25
  = csrf_meta_tag
@@ -14,11 +14,4 @@
14
14
  s.parentNode.insertBefore(g,s)}(document,'script'));
15
15
  //]]>
16
16
  </script>
17
- <%% end %>
18
-
19
- <%%# Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6. %>
20
- <%%# chromium.org/developers/how-tos/chrome-frame-getting-started %>
21
- <!--[if lt IE 7 ]>
22
- <script defer src='//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js'></script>
23
- <script defer>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
24
- <![endif]-->
17
+ <%% end %>
@@ -10,10 +10,4 @@
10
10
  var _gaq=[['_setAccount','#{ google_account_id }'],['_trackPageview']];
11
11
  (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
12
12
  g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
13
- s.parentNode.insertBefore(g,s)}(document,'script'));
14
-
15
- -# Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
16
- -# chromium.org/developers/how-tos/chrome-frame-getting-started
17
- /[if lt IE 7 ]
18
- %script{ :defer => true, :src => "//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js" }
19
- %script{ :defer => true } window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})
13
+ s.parentNode.insertBefore(g,s)}(document,'script'));
@@ -2,26 +2,33 @@ module Html5
2
2
  module Rails
3
3
  module Helpers
4
4
 
5
- # Create a named haml tag to wrap IE conditional around a block
5
+ # Helper to display conditional html tags for IE
6
6
  # http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
7
- def ie_tag(name=:body, attrs={}, &block)
7
+ def html_tag(attrs={})
8
8
  attrs.symbolize_keys!
9
- haml_concat("<!--[if lt IE 7]> #{ tag(name, add_class('lt-ie9 lt-ie8 lt-ie7', attrs), true) } <![endif]-->".html_safe)
10
- haml_concat("<!--[if IE 7]> #{ tag(name, add_class('lt-ie9 lt-ie8', attrs), true) } <![endif]-->".html_safe)
11
- haml_concat("<!--[if IE 8]> #{ tag(name, add_class('lt-ie9', attrs), true) } <![endif]-->".html_safe)
12
- haml_concat("<!--[if gt IE 8]><!-->".html_safe)
13
- haml_tag name, attrs do
14
- haml_concat("<!--<![endif]-->".html_safe)
15
- block.call
9
+ html = ""
10
+ html << "<!--[if lt IE 7]> #{ tag(:html, add_class('lt-ie9 lt-ie8 lt-ie7', attrs), true) } <![endif]-->\n"
11
+ html << "<!--[if IE 7]> #{ tag(:html, add_class('lt-ie9 lt-ie8', attrs), true) } <![endif]-->\n"
12
+ html << "<!--[if IE 8]> #{ tag(:html, add_class('lt-ie9', attrs), true) } <![endif]-->\n"
13
+ html << "<!--[if gt IE 8]><!--> "
14
+
15
+ if block_given? && defined? Haml
16
+ haml_concat(html.html_safe)
17
+ haml_tag :html, attrs do
18
+ haml_concat("<!--<![endif]-->".html_safe)
19
+ yield
20
+ end
21
+ else
22
+ html = html.html_safe
23
+ html << tag(:html, attrs, true)
24
+ html << " <!--<![endif]-->\n".html_safe
25
+ html
16
26
  end
17
27
  end
18
28
 
19
29
  def ie_html(attrs={}, &block)
20
- ie_tag(:html, attrs, &block)
21
- end
22
-
23
- def ie_body(attrs={}, &block)
24
- ie_tag(:body, attrs, &block)
30
+ warn "[DEPRECATION] 'ie_html' is deprecated. Use html_tag instead."
31
+ html_tag(attrs, &block)
25
32
  end
26
33
 
27
34
  def google_account_id
@@ -32,25 +39,7 @@ module Html5
32
39
  ENV['GOOGLE_API_KEY'] || html5_rails_config(:google_api_key)
33
40
  end
34
41
 
35
- def remote_jquery(version)
36
- warn "[DEPRECATION] 'remote_jquery' is deprecated."
37
- if ::Rails.env == 'development'
38
- "'jquery', '#{version}', {uncompressed:true}"
39
- else
40
- "'jquery', '#{version}'"
41
- end
42
- end
43
-
44
- def local_jquery(version)
45
- warn "[DEPRECATION] 'local_jquery' is deprecated."
46
- if ::Rails.env == 'development'
47
- "#{version}/jquery.js"
48
- else
49
- "#{version}/jquery.min.js"
50
- end
51
- end
52
-
53
- private
42
+ private
54
43
 
55
44
  def add_class(name, attrs)
56
45
  classes = attrs[:class] || ""
@@ -67,4 +56,4 @@ module Html5
67
56
 
68
57
  end
69
58
  end
70
- end
59
+ end
@@ -1,7 +1,6 @@
1
1
  module Html5
2
2
  module Rails
3
- VERSION = "0.0.4"
4
- COMPASS_H5BP_VERSION = "0.0.2"
5
- MODERNIZER_VERSION = "2.0.6"
3
+ VERSION = "0.0.5"
4
+ COMPASS_H5BP_VERSION = "0.0.5"
6
5
  end
7
6
  end
@@ -1,9 +1,15 @@
1
- // This is a manifest file that'll be compiled into including all the files listed below.
2
- // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
- // be included in the compiled file accessible from http://example.com/assets/application.js
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
4
7
  // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
8
  // the compiled file.
6
9
  //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
7
13
  //= require jquery
8
14
  //= require jquery_ujs
9
15
  //= require_tree .
@@ -1,7 +1,13 @@
1
1
  /*
2
- * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
- * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
- * the top of the compiled file, but it's generally better to create a new file per style scope.
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
5
11
  *= require_self
6
- *= require_tree .
7
- */
12
+ *= require_tree .
13
+ */
@@ -2,7 +2,7 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>Dummy</title>
5
- <%= stylesheet_link_tag "application" %>
5
+ <%= stylesheet_link_tag "application", :media => "all" %>
6
6
  <%= javascript_include_tag "application" %>
7
7
  <%= csrf_meta_tags %>
8
8
  </head>
@@ -41,6 +41,17 @@ module Dummy
41
41
  # Configure sensitive parameters which will be filtered from the log file.
42
42
  config.filter_parameters += [:password]
43
43
 
44
+ # Use SQL instead of Active Record's schema dumper when creating the database.
45
+ # This is necessary if your schema can't be completely dumped by the schema dumper,
46
+ # like if you have constraints or database-specific column types
47
+ # config.active_record.schema_format = :sql
48
+
49
+ # Enforce whitelist mode for mass assignment.
50
+ # This will create an empty whitelist of attributes available for mass-assignment for all models
51
+ # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
52
+ # parameters by using an attr_accessible or attr_protected declaration.
53
+ # config.active_record.whitelist_attributes = true
54
+
44
55
  # Enable the asset pipeline
45
56
  config.assets.enabled = true
46
57
 
@@ -22,6 +22,13 @@ Dummy::Application.configure do
22
22
  # Only use best-standards-support built into browsers
23
23
  config.action_dispatch.best_standards_support = :builtin
24
24
 
25
+ # Raise exception on mass assignment protection for Active Record models
26
+ config.active_record.mass_assignment_sanitizer = :strict
27
+
28
+ # Log the query plan for queries taking more than this (works
29
+ # with SQLite, MySQL, and PostgreSQL)
30
+ config.active_record.auto_explain_threshold_in_seconds = 0.5
31
+
25
32
  # Do not compress assets
26
33
  config.assets.compress = false
27
34
 
@@ -33,8 +33,11 @@ Dummy::Application.configure do
33
33
  # See everything in the log (default is :info)
34
34
  # config.log_level = :debug
35
35
 
36
+ # Prepend all log lines with the following tags
37
+ # config.log_tags = [ :subdomain, :uuid ]
38
+
36
39
  # Use a different logger for distributed setups
37
- # config.logger = SyslogLogger.new
40
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
38
41
 
39
42
  # Use a different cache store in production
40
43
  # config.cache_store = :mem_cache_store
@@ -57,4 +60,8 @@ Dummy::Application.configure do
57
60
 
58
61
  # Send deprecation notices to registered listeners
59
62
  config.active_support.deprecation = :notify
63
+
64
+ # Log the query plan for queries taking more than this (works
65
+ # with SQLite, MySQL, and PostgreSQL)
66
+ # config.active_record.auto_explain_threshold_in_seconds = 0.5
60
67
  end
@@ -2,9 +2,9 @@ Dummy::Application.configure do
2
2
  # Settings specified here will take precedence over those in config/application.rb
3
3
 
4
4
  # The test environment is used exclusively to run your application's
5
- # test suite. You never need to work with it otherwise. Remember that
5
+ # test suite. You never need to work with it otherwise. Remember that
6
6
  # your test database is "scratch space" for the test suite and is wiped
7
- # and recreated between test runs. Don't rely on the data there!
7
+ # and recreated between test runs. Don't rely on the data there!
8
8
  config.cache_classes = true
9
9
 
10
10
  # Configure static asset server for tests with Cache-Control for performance
@@ -29,10 +29,8 @@ Dummy::Application.configure do
29
29
  # ActionMailer::Base.deliveries array.
30
30
  config.action_mailer.delivery_method = :test
31
31
 
32
- # Use SQL instead of Active Record's schema dumper when creating the test database.
33
- # This is necessary if your schema can't be completely dumped by the schema dumper,
34
- # like if you have constraints or database-specific column types
35
- # config.active_record.schema_format = :sql
32
+ # Raise exception on mass assignment protection for Active Record models
33
+ config.active_record.mass_assignment_sanitizer = :strict
36
34
 
37
35
  # Print deprecation notices to the stderr
38
36
  config.active_support.deprecation = :stderr
@@ -8,3 +8,8 @@
8
8
  # inflect.irregular 'person', 'people'
9
9
  # inflect.uncountable %w( fish sheep )
10
10
  # end
11
+ #
12
+ # These inflection rules are supported but not enabled by default:
13
+ # ActiveSupport::Inflector.inflections do |inflect|
14
+ # inflect.acronym 'RESTful'
15
+ # end
@@ -54,5 +54,5 @@ Dummy::Application.routes.draw do
54
54
 
55
55
  # This is a legacy wild controller route that's not recommended for RESTful applications.
56
56
  # Note: This route will make all actions in every controller accessible via GET requests.
57
- # match ':controller(/:action(/:id(.:format)))'
57
+ # match ':controller(/:action(/:id))(.:format)'
58
58
  end
@@ -20,7 +20,6 @@
20
20
  <!-- This file lives in public/500.html -->
21
21
  <div class="dialog">
22
22
  <h1>We're sorry, but something went wrong.</h1>
23
- <p>We've been notified about this issue and we'll take a look at it shortly.</p>
24
23
  </div>
25
24
  </body>
26
25
  </html>
@@ -21,9 +21,11 @@ class AssetsGeneratorTest < Rails::Generators::TestCase
21
21
  test "html5:assets" do
22
22
  run_generator
23
23
 
24
- assert_file "app/assets/stylesheets/_defaults.css.scss"
24
+ assert_file "app/assets/stylesheets/_variables.css.scss"
25
25
  assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/document";/
26
- %w(_defaults document media_queries).each do |file|
26
+ assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/chromeframe";/
27
+ assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/media_queries";/
28
+ %w(chromeframe document media_queries).each do |file|
27
29
  assert_file "app/assets/stylesheets/application/#{ file }.css.scss"
28
30
  end
29
31
  end
@@ -31,9 +33,11 @@ class AssetsGeneratorTest < Rails::Generators::TestCase
31
33
  test "html5:assets application" do
32
34
  run_generator %w(application)
33
35
 
34
- assert_file "app/assets/stylesheets/_defaults.css.scss"
36
+ assert_file "app/assets/stylesheets/_variables.css.scss"
37
+ assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/chromeframe";/
35
38
  assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/document";/
36
- %w(_defaults document media_queries).each do |file|
39
+ assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/media_queries";/
40
+ %w(chromeframe document media_queries).each do |file|
37
41
  assert_file "app/assets/stylesheets/application/#{ file }.css.scss"
38
42
  end
39
43
  end
@@ -41,9 +45,11 @@ class AssetsGeneratorTest < Rails::Generators::TestCase
41
45
  test "html5:assets pancakes" do
42
46
  run_generator %w(pancakes)
43
47
 
44
- assert_file "app/assets/stylesheets/_defaults.css.scss"
48
+ assert_file "app/assets/stylesheets/_variables.css.scss"
49
+ assert_file "app/assets/stylesheets/pancakes.css.scss", /@import "pancakes\/chromeframe";/
45
50
  assert_file "app/assets/stylesheets/pancakes.css.scss", /@import "pancakes\/document";/
46
- %w(_defaults document media_queries).each do |file|
51
+ assert_file "app/assets/stylesheets/pancakes.css.scss", /@import "pancakes\/media_queries";/
52
+ %w(chromeframe document media_queries).each do |file|
47
53
  assert_file "app/assets/stylesheets/pancakes/#{ file }.css.scss"
48
54
  end
49
55
  end
@@ -51,9 +57,11 @@ class AssetsGeneratorTest < Rails::Generators::TestCase
51
57
  test "html5:assets admin/pancakes" do
52
58
  run_generator %w(admin/pancakes)
53
59
 
54
- assert_file "app/assets/stylesheets/_defaults.css.scss"
60
+ assert_file "app/assets/stylesheets/_variables.css.scss"
61
+ assert_file "app/assets/stylesheets/admin_pancakes.css.scss", /@import "admin\/pancakes\/chromeframe";/
55
62
  assert_file "app/assets/stylesheets/admin_pancakes.css.scss", /@import "admin\/pancakes\/document";/
56
- %w(_defaults document media_queries).each do |file|
63
+ assert_file "app/assets/stylesheets/admin_pancakes.css.scss", /@import "admin\/pancakes\/media_queries";/
64
+ %w(chromeframe document media_queries).each do |file|
57
65
  assert_file "app/assets/stylesheets/admin_pancakes/#{ file }.css.scss"
58
66
  end
59
67
  end
@@ -28,7 +28,7 @@ class InstallGeneratorTest < Rails::Generators::TestCase
28
28
 
29
29
  test "minimal application partials should be generated" do
30
30
  run_generator
31
- %w(_footer _head _header).each do |file|
31
+ %w(_footer _head _header _chromeframe).each do |file|
32
32
  assert_file "app/views/application/#{ file }.html.erb"
33
33
  end
34
34
  %w(_flashes _javascripts _stylesheets).each do |file|
@@ -39,9 +39,11 @@ class InstallGeneratorTest < Rails::Generators::TestCase
39
39
  test "assets should be generated" do
40
40
  run_generator
41
41
 
42
- assert_file "app/assets/stylesheets/_defaults.css.scss"
42
+ assert_file "app/assets/stylesheets/_variables.css.scss"
43
+ assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/chromeframe";/
43
44
  assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/document";/
44
- %w(_defaults document media_queries).each do |file|
45
+ assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/media_queries";/
46
+ %w(chromeframe document media_queries).each do |file|
45
47
  assert_file "app/assets/stylesheets/application/#{ file }.css.scss"
46
48
  end
47
49
  end
@@ -44,7 +44,7 @@ class LayoutGeneratorTest < Rails::Generators::TestCase
44
44
  run_generator ["--all-partials"] + defaults
45
45
 
46
46
  assert_file "app/views/layouts/application.html.#{ engine }"
47
- %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
47
+ %w(_flashes _footer _head _header _javascripts _stylesheets _chromeframe).each do |file|
48
48
  assert_file "app/views/application/#{ file }.html.#{ engine }"
49
49
  end
50
50
  end
@@ -53,7 +53,7 @@ class LayoutGeneratorTest < Rails::Generators::TestCase
53
53
  run_generator ["pancakes", "--all-partials"] + defaults
54
54
 
55
55
  assert_file "app/views/layouts/pancakes.html.#{ engine }"
56
- %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
56
+ %w(_flashes _footer _head _header _javascripts _stylesheets _chromeframe).each do |file|
57
57
  assert_file "app/views/pancakes/#{ file }.html.#{ engine }"
58
58
  end
59
59
  end
@@ -62,7 +62,7 @@ class LayoutGeneratorTest < Rails::Generators::TestCase
62
62
  run_generator ["admin/pancakes", "--all-partials"] + defaults
63
63
 
64
64
  assert_file "app/views/layouts/admin/pancakes.html.#{ engine }"
65
- %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
65
+ %w(_flashes _footer _head _header _javascripts _stylesheets _chromeframe).each do |file|
66
66
  assert_file "app/views/admin/pancakes/#{ file }.html.#{ engine }"
67
67
  end
68
68
  end
@@ -26,7 +26,7 @@ class PartialGeneratorTest < Rails::Generators::TestCase
26
26
  test "html5:partial --minimal --template-engine=#{ engine }" do
27
27
  run_generator %w(--minimal) + defaults
28
28
 
29
- %w(_footer _head _header).each do |file|
29
+ %w(_footer _head _header _chromeframe).each do |file|
30
30
  assert_file "app/views/application/#{ file }.html.#{ engine }"
31
31
  end
32
32
  %w(_flashes _javascripts _stylesheets).each do |file|
@@ -37,7 +37,7 @@ class PartialGeneratorTest < Rails::Generators::TestCase
37
37
  test "html5:partial --all --template-engine=#{ engine }" do
38
38
  run_generator %w(--all) + defaults
39
39
 
40
- %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
40
+ %w(_flashes _footer _head _header _javascripts _stylesheets _chromeframe).each do |file|
41
41
  assert_file "app/views/application/#{ file }.html.#{ engine }"
42
42
  end
43
43
  end
@@ -45,7 +45,7 @@ class PartialGeneratorTest < Rails::Generators::TestCase
45
45
  test "html5:partial --minimal --path=waffles --template-engine=#{ engine }" do
46
46
  run_generator ["--minimal", "--path=waffles"] + defaults
47
47
 
48
- %w(_footer _head _header).each do |file|
48
+ %w(_footer _head _header _chromeframe).each do |file|
49
49
  assert_file "app/views/waffles/#{ file }.html.#{ engine }"
50
50
  end
51
51
  %w(_flashes _javascripts _stylesheets).each do |file|
@@ -56,7 +56,7 @@ class PartialGeneratorTest < Rails::Generators::TestCase
56
56
  test "html5:partial --all --path=admin/waffles --template-engine=#{ engine }" do
57
57
  run_generator ["--all", "--path=admin/waffles"] + defaults
58
58
 
59
- %w(_flashes _footer _head _header _javascripts _stylesheets).each do |file|
59
+ %w(_flashes _footer _head _header _javascripts _stylesheets _chromeframe).each do |file|
60
60
  assert_file "app/views/admin/waffles/#{ file }.html.#{ engine }"
61
61
  end
62
62
  end
@@ -1,15 +1,7 @@
1
1
  // usage: log('inside coolFunc', this, arguments);
2
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
- };
3
+ 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);}};
12
4
 
13
5
  // 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={};}})());
6
+ (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;}})
7
+ (function(){try{console.log();return window.console;}catch(a){return (window.console={});}}());
@@ -1,4 +1,4 @@
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
1
+ /* Modernizr 2.5.3 (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-shiv-mq-cssclasses-addtest-prefixed-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.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))};
4
+ ;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function L(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("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++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(k),g.offsetWidth,e=k.value!=l,g.removeChild(k)):e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.5.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["&#173;","<style>",a,"</style>"].join(""),k.id=h,m.innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e});var K=function(c,d){var f=c.join(""),g=d.length;y(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f?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||a.DocumentTouch&&b instanceof DocumentTouch||(j.touch&&j.touch.offsetTop)===9,e.csstransforms3d=(j.csstransforms3d&&j.csstransforms3d.offsetLeft)===9&&j.csstransforms3d.offsetHeight===3,e.generatedcontent=(j.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 (",n.join("touch-enabled),("),h,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",n.join("transform-3d),("),h,")","{#csstransforms3d{left:9px;position:absolute;height:3px;}}"].join(""),['#generatedcontent:after{content:"',l,'";visibility:hidden}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);s.flexbox=function(){return J("flexOrder")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){try{var d=b.createElement("canvas"),e;e=!(!a.WebGLRenderingContext||!d.getContext("experimental-webgl")&&!d.getContext("webgl")),d=c}catch(f){e=!1}return e},s.touch=function(){return e.touch},s.geolocation=function(){return!!navigator.geolocation},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){return e.fontface},s.generatedcontent=function(){return e.generatedcontent},s.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"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.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"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var M in s)C(s,M)&&(x=M.toLowerCase(),e[x]=s[M](),v.push((e[x]?"":"no-")+x));return e.input||L(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},D(""),i=k=null,function(a,b){function g(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){var b={},c=a.createElement,e=a.createDocumentFragment,f=e();a.createElement=function(a){var e=(b[a]||(b[a]=c(a))).cloneNode();return k.shivMethods&&e.canHaveChildren&&!d.test(a)?f.appendChild(e):e},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/\w+/g,function(a){return b[a]=c(a),f.createElement(a),'c("'+a+'")'})+");return n}")(k,f)}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),f||(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea)$/i,e,f;(function(){var a=b.createElement("a");a.innerHTML="<xyz></xyz>",e="hidden"in a,f=a.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},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=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html5-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-27 00:00:00.000000000 -08:00
12
+ date: 2012-02-26 00:00:00.000000000 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: jquery-rails
17
- requirement: &2164916260 !ruby/object:Gem::Requirement
17
+ requirement: &2169835220 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.0.19
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2164916260
25
+ version_requirements: *2169835220
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: railties
28
- requirement: &2164915760 !ruby/object:Gem::Requirement
28
+ requirement: &2169834720 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '3.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2164915760
36
+ version_requirements: *2169834720
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: thor
39
- requirement: &2164915160 !ruby/object:Gem::Requirement
39
+ requirement: &2169834260 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,18 +44,18 @@ dependencies:
44
44
  version: '0.14'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2164915160
47
+ version_requirements: *2169834260
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: compass-h5bp
50
- requirement: &2164914560 !ruby/object:Gem::Requirement
50
+ requirement: &2169833800 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 0.0.1
55
+ version: 0.0.5
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2164914560
58
+ version_requirements: *2169833800
59
59
  description: ''
60
60
  email:
61
61
  - gumeson@gmail.com
@@ -70,6 +70,7 @@ files:
70
70
  - Rakefile
71
71
  - app/assets/javascripts/application.js
72
72
  - app/assets/javascripts/polyfills.js
73
+ - app/views/application/_chromeframe.html.erb
73
74
  - app/views/application/_flashes.html.erb
74
75
  - app/views/application/_footer.html.erb
75
76
  - app/views/application/_head.html.erb
@@ -82,9 +83,9 @@ files:
82
83
  - lib/generators/html5/assets/assets_generator.rb
83
84
  - lib/generators/html5/assets/templates/javascripts/application.js
84
85
  - 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/_variables.css.scss
86
87
  - 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/chromeframe.css.scss
88
89
  - lib/generators/html5/assets/templates/stylesheets/application/document.css.scss
89
90
  - lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss
90
91
  - lib/generators/html5/generator_helpers.rb
@@ -99,6 +100,8 @@ files:
99
100
  - lib/generators/html5/layout/templates/application.html.haml
100
101
  - lib/generators/html5/partial/USAGE
101
102
  - lib/generators/html5/partial/partial_generator.rb
103
+ - lib/generators/html5/partial/templates/_chromeframe.html.erb
104
+ - lib/generators/html5/partial/templates/_chromeframe.html.haml
102
105
  - lib/generators/html5/partial/templates/_flashes.html.erb
103
106
  - lib/generators/html5/partial/templates/_flashes.html.haml
104
107
  - lib/generators/html5/partial/templates/_footer.html.erb
@@ -1,7 +0,0 @@
1
- // This file was generated by html5-rails
2
- // https://github.com/sporkd/html5-rails
3
- // Upgrade with: $ rails generate html5:install
4
- //
5
- // These SCSS(SASS) variables will only be available
6
- // to <%= file_path %> stylesheets.
7
-