html5-rails 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -13
- data/README.md +6 -6
- data/app/assets/javascripts/polyfills.js +2 -5
- data/app/views/application/_chromeframe.html.erb +3 -0
- data/app/views/application/_flashes.html.erb +1 -1
- data/app/views/application/_head.html.erb +5 -8
- data/app/views/application/_javascripts.html.erb +1 -8
- data/app/views/layouts/application.html.erb +4 -9
- data/html5-rails.gemspec +1 -1
- data/lib/generators/html5/assets/assets_generator.rb +2 -2
- data/lib/generators/html5/assets/templates/stylesheets/{_defaults.css.scss → _variables.css.scss} +3 -1
- data/lib/generators/html5/assets/templates/stylesheets/application.css.scss +10 -20
- data/lib/generators/html5/assets/templates/stylesheets/application/chromeframe.css.scss +14 -0
- data/lib/generators/html5/assets/templates/stylesheets/application/document.css.scss +1 -0
- data/lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss +5 -11
- data/lib/generators/html5/layout/templates/application.html.erb +4 -9
- data/lib/generators/html5/layout/templates/application.html.haml +2 -1
- data/lib/generators/html5/partial/partial_generator.rb +2 -2
- data/lib/generators/html5/partial/templates/_chromeframe.html.erb +3 -0
- data/lib/generators/html5/partial/templates/_chromeframe.html.haml +6 -0
- data/lib/generators/html5/partial/templates/_head.html.erb +5 -8
- data/lib/generators/html5/partial/templates/_head.html.haml +2 -5
- data/lib/generators/html5/partial/templates/_javascripts.html.erb +1 -8
- data/lib/generators/html5/partial/templates/_javascripts.html.haml +1 -7
- data/lib/html5/rails/helpers.rb +23 -34
- data/lib/html5/rails/version.rb +2 -3
- data/test/dummy/app/assets/javascripts/application.js +9 -3
- data/test/dummy/app/assets/stylesheets/application.css +11 -5
- data/test/dummy/app/views/layouts/application.html.erb +1 -1
- data/test/dummy/config/application.rb +11 -0
- data/test/dummy/config/environments/development.rb +7 -0
- data/test/dummy/config/environments/production.rb +8 -1
- data/test/dummy/config/environments/test.rb +4 -6
- data/test/dummy/config/initializers/inflections.rb +5 -0
- data/test/dummy/config/routes.rb +1 -1
- data/test/dummy/public/500.html +0 -1
- data/test/generators/assets_generator_test.rb +16 -8
- data/test/generators/install_generator_test.rb +5 -3
- data/test/generators/layout_generator_test.rb +3 -3
- data/test/generators/partial_generator_test.rb +4 -4
- data/vendor/assets/javascripts/h5bp/plugins.js +3 -11
- data/vendor/assets/javascripts/modernizr.min.js +3 -3
- metadata +16 -13
- 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
|
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.
|
16
|
-
gem 'coffee-rails', '~> 3.
|
15
|
+
gem 'sass-rails', '~> 3.2.3'
|
16
|
+
gem 'coffee-rails', '~> 3.2.1'
|
17
17
|
gem 'uglifier', '>= 1.0.3'
|
18
|
-
gem 'compass'
|
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
|
-
|
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'
|
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
|
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
|
61
|
+
application.html.haml will be used instead.
|
62
62
|
|
63
|
-
[3] If you're upgrading from compass-html5-boilerplate you
|
64
|
-
remove config/compass.rb before you
|
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
|
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
|
-
|
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,24 +1,21 @@
|
|
1
1
|
<head>
|
2
|
-
<meta charset=
|
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=
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
7
7
|
|
8
8
|
<title></title>
|
9
|
-
<meta
|
10
|
-
<meta content='' name='author'>
|
9
|
+
<meta name="description" content="">
|
11
10
|
|
12
11
|
<%# Mobile viewport optimized: h5bp.com/viewport %>
|
13
|
-
<meta content=
|
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
|
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
|
-
|
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=
|
6
|
+
<body class="pages">
|
7
|
+
<%= render "chromeframe" %>
|
13
8
|
<%= render "header" %>
|
14
9
|
|
15
|
-
<div id=
|
10
|
+
<div id="main" role="main">
|
16
11
|
<%= render "flashes" %>
|
17
12
|
<%= yield %>
|
18
13
|
</div>
|
data/html5-rails.gemspec
CHANGED
@@ -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.
|
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/
|
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(
|
59
|
+
%w(chromeframe document media_queries)
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
data/lib/generators/html5/assets/templates/stylesheets/{_defaults.css.scss → _variables.css.scss}
RENAMED
@@ -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
|
-
//
|
6
|
+
// Variables come first
|
7
7
|
//-----------------------------------------
|
8
|
-
@import "
|
9
|
-
@import "<%= file_path %>/defaults";
|
8
|
+
@import "variables";
|
10
9
|
|
11
10
|
//-----------------------------------------
|
12
|
-
//
|
11
|
+
// Imports
|
13
12
|
//-----------------------------------------
|
14
|
-
// @import "compass
|
13
|
+
// @import "compass/css3"
|
15
14
|
@import "h5bp";
|
16
15
|
|
17
16
|
//-----------------------------------------
|
18
|
-
//
|
17
|
+
// Prepend includes
|
19
18
|
//-----------------------------------------
|
20
19
|
@include h5bp-normalize;
|
21
20
|
|
22
21
|
//-----------------------------------------
|
23
|
-
//
|
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
|
-
//
|
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
|
+
}
|
@@ -2,16 +2,10 @@
|
|
2
2
|
// https://github.com/sporkd/html5-rails
|
3
3
|
// Upgrade with: $ rails generate html5:install
|
4
4
|
//
|
5
|
-
//
|
6
|
-
//
|
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:
|
10
|
-
// Style adjustments for viewports
|
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
|
-
|
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=
|
6
|
+
<body class="pages">
|
7
|
+
<%%= render "chromeframe" %>
|
13
8
|
<%%= render "header" %>
|
14
9
|
|
15
|
-
<div id=
|
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
|
-
-
|
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=
|
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=
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
7
7
|
|
8
8
|
<title></title>
|
9
|
-
<meta
|
10
|
-
<meta content='' name='author'>
|
9
|
+
<meta name="description" content="">
|
11
10
|
|
12
11
|
<%%# Mobile viewport optimized: h5bp.com/viewport %>
|
13
|
-
<meta content=
|
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
|
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
|
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
|
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'));
|
data/lib/html5/rails/helpers.rb
CHANGED
@@ -2,26 +2,33 @@ module Html5
|
|
2
2
|
module Rails
|
3
3
|
module Helpers
|
4
4
|
|
5
|
-
#
|
5
|
+
# Helper to display conditional html tags for IE
|
6
6
|
# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
|
7
|
-
def
|
7
|
+
def html_tag(attrs={})
|
8
8
|
attrs.symbolize_keys!
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
-
|
21
|
-
|
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
|
-
|
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
|
data/lib/html5/rails/version.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
|
-
// This is a manifest file that'll be compiled into
|
2
|
-
//
|
3
|
-
//
|
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
|
3
|
-
*
|
4
|
-
*
|
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
|
+
*/
|
@@ -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.
|
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.
|
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
|
-
#
|
33
|
-
|
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
|
data/test/dummy/config/routes.rb
CHANGED
@@ -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
|
data/test/dummy/public/500.html
CHANGED
@@ -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/
|
24
|
+
assert_file "app/assets/stylesheets/_variables.css.scss"
|
25
25
|
assert_file "app/assets/stylesheets/application.css.scss", /@import "application\/document";/
|
26
|
-
|
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/
|
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
|
-
|
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/
|
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
|
-
|
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/
|
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
|
-
|
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/
|
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
|
-
|
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(
|
15
|
-
{console.log();return window.console;}catch(
|
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.
|
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-
|
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=["­","<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=["­","<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
|
+
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-
|
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: &
|
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: *
|
25
|
+
version_requirements: *2169835220
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: railties
|
28
|
-
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: *
|
36
|
+
version_requirements: *2169834720
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: thor
|
39
|
-
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: *
|
47
|
+
version_requirements: *2169834260
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: compass-h5bp
|
50
|
-
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.
|
55
|
+
version: 0.0.5
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
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/
|
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/
|
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
|