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.
- 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
|