html5-rails 0.0.7 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +23 -22
- data/app/assets/javascripts/application.js +1 -1
- data/app/assets/javascripts/polyfills.js +1 -1
- data/app/views/application/_flashes.html.erb +2 -4
- data/app/views/application/_footer.html.erb +1 -1
- data/app/views/application/_head.html.erb +3 -11
- data/app/views/application/_header.html.erb +1 -1
- data/app/views/application/_javascripts.html.erb +2 -2
- data/app/views/application/_stylesheets.html.erb +1 -1
- data/app/views/layouts/application.html.erb +4 -7
- data/html5-rails.gemspec +1 -1
- data/lib/generators/html5/assets/USAGE +7 -4
- data/lib/generators/html5/assets/assets_generator.rb +26 -25
- data/lib/generators/html5/assets/templates/javascripts/application.js +1 -1
- data/lib/generators/html5/assets/templates/javascripts/polyfills.js +1 -1
- data/lib/generators/html5/assets/templates/stylesheets/{application.css.scss → application/index.css.scss} +12 -16
- data/lib/generators/html5/assets/templates/stylesheets/application/{document.css.scss → layout.css.scss} +2 -2
- data/lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss +15 -1
- data/lib/generators/html5/assets/templates/stylesheets/{_variables.css.scss → application/variables.css.scss} +1 -1
- data/lib/generators/html5/install/USAGE +14 -0
- data/lib/generators/html5/install/install_generator.rb +1 -1
- data/lib/generators/html5/install/templates/README +2 -2
- data/lib/generators/html5/install/templates/config/compass.rb +1 -1
- data/lib/generators/html5/install/templates/config/html5_rails.yml +2 -2
- data/lib/generators/html5/layout/USAGE +3 -3
- data/lib/generators/html5/layout/layout_generator.rb +5 -5
- data/lib/generators/html5/layout/templates/application.html.erb +3 -6
- data/lib/generators/html5/layout/templates/application.html.haml +8 -10
- data/lib/generators/html5/layout/templates/application.html.slim +18 -11
- data/lib/generators/html5/partial/USAGE +13 -3
- data/lib/generators/html5/partial/partial_generator.rb +9 -9
- data/lib/generators/html5/partial/templates/_chromeframe.html.haml +1 -1
- data/lib/generators/html5/partial/templates/_chromeframe.html.slim +1 -1
- data/lib/generators/html5/partial/templates/_flashes.html.erb +2 -4
- data/lib/generators/html5/partial/templates/_flashes.html.haml +2 -3
- data/lib/generators/html5/partial/templates/_flashes.html.slim +2 -3
- data/lib/generators/html5/partial/templates/_footer.html.erb +1 -1
- data/lib/generators/html5/partial/templates/_footer.html.haml +1 -1
- data/lib/generators/html5/partial/templates/_footer.html.slim +1 -1
- data/lib/generators/html5/partial/templates/_head.html.erb +3 -11
- data/lib/generators/html5/partial/templates/_head.html.haml +6 -17
- data/lib/generators/html5/partial/templates/_head.html.slim +6 -17
- data/lib/generators/html5/partial/templates/_header.html.erb +1 -1
- data/lib/generators/html5/partial/templates/_header.html.haml +1 -1
- data/lib/generators/html5/partial/templates/_javascripts.html.erb +2 -2
- data/lib/generators/html5/partial/templates/_javascripts.html.haml +3 -3
- data/lib/generators/html5/partial/templates/_javascripts.html.slim +4 -4
- data/lib/generators/html5/partial/templates/_stylesheets.html.erb +1 -1
- data/lib/generators/html5/partial/templates/_stylesheets.html.haml +1 -1
- data/lib/html5-rails.rb +1 -1
- data/lib/html5/rails/helpers.rb +1 -7
- data/lib/html5/rails/version.rb +2 -2
- data/test/generators/assets_generator_test.rb +18 -22
- data/test/generators/install_generator_test.rb +6 -7
- data/test/generators/layout_generator_test.rb +1 -2
- data/test/generators/partial_generator_test.rb +2 -3
- data/test/html5_rails_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- data/vendor/assets/javascripts/h5bp.js +22 -0
- data/vendor/assets/javascripts/modernizr.min.js +3 -3
- metadata +16 -12
- data/lib/generators/html5/assets/templates/stylesheets/application/chromeframe.css.scss +0 -14
- data/vendor/assets/javascripts/h5bp/index.js +0 -1
- data/vendor/assets/javascripts/h5bp/plugins.js +0 -7
@@ -10,8 +10,8 @@
|
|
10
10
|
# e.g. ENV['google_account_id'] || yml[:google_account_id]
|
11
11
|
|
12
12
|
defaults: &defaults
|
13
|
-
:google_account_id:
|
14
|
-
:google_api_key:
|
13
|
+
:google_account_id: '' # Google Analytics
|
14
|
+
:google_api_key: '' # Google APIs
|
15
15
|
|
16
16
|
:development:
|
17
17
|
<<: *defaults
|
@@ -1,8 +1,8 @@
|
|
1
1
|
Description:
|
2
|
-
|
2
|
+
Installs a new html5-rails layout in /app/views/layouts
|
3
3
|
|
4
4
|
Example:
|
5
|
-
rails generate html5:layout
|
5
|
+
rails generate html5:layout my_new_layout
|
6
6
|
|
7
7
|
This will create:
|
8
|
-
app/views/layouts/
|
8
|
+
app/views/layouts/my_new_layout.html.(erb|haml|slim)
|
@@ -9,21 +9,21 @@ module Html5
|
|
9
9
|
|
10
10
|
argument :name, :type => :string,
|
11
11
|
:required => false,
|
12
|
-
:default =>
|
12
|
+
:default => 'application'
|
13
13
|
|
14
14
|
class_option :all_partials, :type => :boolean,
|
15
15
|
:default => false,
|
16
|
-
:desc =>
|
16
|
+
:desc => 'Generate all partials for this layout'
|
17
17
|
|
18
18
|
class_option :minimal_partials, :type => :boolean,
|
19
19
|
:default => false,
|
20
|
-
:desc =>
|
20
|
+
:desc => 'Generate minimal partials for this layout'
|
21
21
|
|
22
22
|
class_option :template_engine
|
23
23
|
|
24
24
|
def generate_layout
|
25
|
-
if file_path ==
|
26
|
-
remove_file
|
25
|
+
if file_path == 'application' && options[:template_engine].to_s != 'erb'
|
26
|
+
remove_file "app/views/layouts/application.html.erb"
|
27
27
|
end
|
28
28
|
template filename_with_extensions("application"), File.join("app/views/layouts", class_path, filename_with_extensions(file_name))
|
29
29
|
end
|
@@ -1,20 +1,17 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<%%# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither %>
|
3
2
|
<%%= html_tag :class => "no-js" %>
|
4
3
|
<%%= render "head" %>
|
5
4
|
|
6
5
|
<body class="<%%= controller.controller_name %>">
|
7
6
|
<%%= render "chromeframe" %>
|
8
7
|
<%%= render "header" %>
|
8
|
+
<%%= render "flashes" %>
|
9
9
|
|
10
|
-
|
11
|
-
<%%= render "flashes" %>
|
12
|
-
<%%= yield %>
|
13
|
-
</div>
|
10
|
+
<%%= yield %>
|
14
11
|
|
15
12
|
<%%= render "footer" %>
|
16
13
|
|
17
14
|
<%%# Javascript at the bottom for fast page loading %>
|
18
15
|
<%%= render "javascripts" %>
|
19
16
|
</body>
|
20
|
-
</html>
|
17
|
+
</html>
|
@@ -1,17 +1,15 @@
|
|
1
1
|
!!! 5
|
2
|
-
|
3
|
-
|
4
|
-
= render "head"
|
2
|
+
- html_tag :class => 'no-js' do
|
3
|
+
= render 'head'
|
5
4
|
|
6
5
|
%body{ :class => "#{ controller.controller_name }" }
|
7
|
-
= render
|
8
|
-
= render
|
6
|
+
= render 'chromeframe'
|
7
|
+
= render 'header'
|
8
|
+
= render 'flashes'
|
9
9
|
|
10
|
-
|
11
|
-
= render "flashes"
|
12
|
-
= yield
|
10
|
+
= yield
|
13
11
|
|
14
|
-
= render
|
12
|
+
= render 'footer'
|
15
13
|
|
16
14
|
-# Javascript at the bottom for fast page loading
|
17
|
-
= render
|
15
|
+
= render 'javascripts'
|
@@ -1,17 +1,24 @@
|
|
1
|
-
doctype
|
2
|
-
/
|
3
|
-
|
4
|
-
|
1
|
+
doctype html
|
2
|
+
/[if lt IE 7]
|
3
|
+
|<html class='no-js lt-ie9 lt-ie8 lt-ie7'>
|
4
|
+
/[if IE 7]
|
5
|
+
|<html class='no-js lt-ie9 lt-ie8'>
|
6
|
+
/[if IE 8]
|
7
|
+
|<html class='no-js lt-ie9'>
|
8
|
+
/![if gt IE 8]><!
|
9
|
+
html.no-js
|
10
|
+
/!<![endif]
|
11
|
+
|
12
|
+
= render 'head'
|
5
13
|
|
6
14
|
body class=controller.controller_name
|
7
|
-
= render
|
8
|
-
= render
|
15
|
+
= render 'chromeframe'
|
16
|
+
= render 'header'
|
9
17
|
|
10
|
-
|
11
|
-
|
12
|
-
= yield
|
18
|
+
= render 'flashes'
|
19
|
+
= yield
|
13
20
|
|
14
|
-
= render
|
21
|
+
= render 'footer'
|
15
22
|
|
16
23
|
/ Javascript at the bottom for fast page loading
|
17
|
-
= render
|
24
|
+
= render 'javascripts'
|
@@ -1,8 +1,18 @@
|
|
1
1
|
Description:
|
2
|
-
|
2
|
+
Copies an existing html5-rails partial to the views folder so it can be editied.
|
3
3
|
|
4
4
|
Example:
|
5
|
-
rails generate html5:partial
|
5
|
+
rails generate html5:partial _javascripts
|
6
6
|
|
7
7
|
This will create:
|
8
|
-
app/views/application/_partial_name.html.haml
|
8
|
+
app/views/application/_partial_name.html.(erb|haml|slim)
|
9
|
+
|
10
|
+
Choices include:
|
11
|
+
_head
|
12
|
+
_chromeframe
|
13
|
+
_flashes
|
14
|
+
_header
|
15
|
+
_footer
|
16
|
+
_javascripts
|
17
|
+
_stylesheets
|
18
|
+
|
@@ -9,27 +9,27 @@ module Html5
|
|
9
9
|
|
10
10
|
argument :name, :type => :string,
|
11
11
|
:required => false,
|
12
|
-
:default =>
|
12
|
+
:default => ''
|
13
13
|
|
14
14
|
class_option :all, :type => :boolean,
|
15
15
|
:default => false,
|
16
|
-
:desc =>
|
16
|
+
:desc => 'Generate all partials'
|
17
17
|
|
18
18
|
class_option :minimal, :type => :boolean,
|
19
19
|
:default => false,
|
20
|
-
:desc =>
|
20
|
+
:desc => 'Generate minimal partials (_head, _header, _footer)'
|
21
21
|
|
22
22
|
class_option :path, :type => :string,
|
23
23
|
:default => nil,
|
24
24
|
:required => false,
|
25
|
-
:desc =>
|
25
|
+
:desc => 'resource path to generate partials in'
|
26
26
|
|
27
27
|
class_option :template_engine
|
28
28
|
|
29
29
|
# def validate_name
|
30
30
|
# if options[:all] || options[:minimal]
|
31
31
|
# if partials.include?(file_name)
|
32
|
-
# path = class_path.join(
|
32
|
+
# path = class_path.join('/')
|
33
33
|
# message = "Argument '#{ file_path }' not allowed with --all or --minimal options."
|
34
34
|
# message << " Try using '#{ path }' instead." if !path.blank?
|
35
35
|
# raise Error, message
|
@@ -39,7 +39,7 @@ module Html5
|
|
39
39
|
|
40
40
|
def generate_partials
|
41
41
|
if partials.any?
|
42
|
-
empty_directory File.join(
|
42
|
+
empty_directory File.join('app/views', partial_path)
|
43
43
|
end
|
44
44
|
partials.each do |partial|
|
45
45
|
generate_partial(partial)
|
@@ -64,13 +64,13 @@ module Html5
|
|
64
64
|
if !options.path.blank?
|
65
65
|
path = options.path
|
66
66
|
else
|
67
|
-
path =
|
67
|
+
path = File.join(class_path)
|
68
68
|
end
|
69
|
-
path.blank? ?
|
69
|
+
path.blank? ? 'application' : path
|
70
70
|
end
|
71
71
|
|
72
72
|
def generate_partial(partial_name)
|
73
|
-
template filename_with_extensions(partial_name), File.join(
|
73
|
+
template filename_with_extensions(partial_name), File.join('app/views', partial_path, filename_with_extensions(partial_name))
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/[if lt IE 7 ]
|
2
2
|
%p.chromeframe
|
3
3
|
You are using an <strong>outdated</strong> browser.
|
4
|
-
Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience
|
4
|
+
Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/[if lt IE 7 ]
|
2
2
|
p.chromeframe
|
3
3
|
| You are using an <strong>outdated</strong> browser.
|
4
|
-
| Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience
|
4
|
+
| Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.
|
@@ -1,9 +1,7 @@
|
|
1
1
|
<div id="flash">
|
2
2
|
<%% flash.each do |key, value| %>
|
3
|
-
<div class="
|
4
|
-
<
|
5
|
-
<p><%%= value %></p>
|
6
|
-
</div>
|
3
|
+
<div title="<%%= key.to_s.humanize %>" class="<%%= key %>">
|
4
|
+
<p><%%= value %></p>
|
7
5
|
</div>
|
8
6
|
<%% end %>
|
9
7
|
</div>
|
@@ -1,22 +1,14 @@
|
|
1
1
|
<head>
|
2
2
|
<meta charset="utf-8">
|
3
|
-
|
4
|
-
<%%# Use the .htaccess and remove these lines to avoid edge case issues. %>
|
5
|
-
<%%# More info: h5bp.com/b/378 %>
|
6
3
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
7
4
|
|
8
|
-
<title
|
9
|
-
<meta name="description" content="">
|
5
|
+
<title><%%= "#{ controller.controller_name.titleize } - #{ controller.action_name.titleize }" %></title>
|
10
6
|
|
11
|
-
|
7
|
+
<meta name="description" content="">
|
12
8
|
<meta name="viewport" content="width=device-width">
|
13
9
|
|
14
10
|
<%%= render "stylesheets" %>
|
15
|
-
|
16
|
-
<%%# More ideas for your <head> here: h5bp.com/d/head-Tips %>
|
17
|
-
|
18
|
-
<%%# All JavaScript at the bottom, except polyfills %>
|
19
11
|
<%%= javascript_include_tag "polyfills" %>
|
20
12
|
|
21
13
|
<%%= csrf_meta_tag %>
|
22
|
-
</head>
|
14
|
+
</head>
|
@@ -1,25 +1,14 @@
|
|
1
1
|
%head
|
2
|
-
%meta{ :charset =>
|
3
|
-
|
4
|
-
-# Use the .htaccess and remove these lines to avoid edge case issues.
|
5
|
-
-# More info: h5bp.com/b/378
|
2
|
+
%meta{ :charset => 'utf-8' }/
|
6
3
|
%meta{ 'http-equiv' => 'X-UA-Compatible', :content => 'IE=edge,chrome=1' }/
|
7
4
|
|
8
5
|
%title
|
9
6
|
== #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
|
10
7
|
|
11
|
-
%meta{ :name =>
|
12
|
-
|
13
|
-
-# Mobile viewport optimized: h5bp.com/viewport
|
14
|
-
%meta{ :name => "viewport", :content => "width=device-width" }/
|
15
|
-
|
16
|
-
-# Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons
|
17
|
-
|
18
|
-
= render "stylesheets"
|
19
|
-
|
20
|
-
-# More ideas for your <head> here: h5bp.com/d/head-Tips
|
8
|
+
%meta{ :name => 'description', :content => '' }/
|
9
|
+
%meta{ :name => 'viewport', :content => 'width=device-width' }/
|
21
10
|
|
22
|
-
|
23
|
-
= javascript_include_tag
|
11
|
+
= render 'stylesheets'
|
12
|
+
= javascript_include_tag 'polyfills'
|
24
13
|
|
25
|
-
= csrf_meta_tag
|
14
|
+
= csrf_meta_tag
|
@@ -1,25 +1,14 @@
|
|
1
1
|
head
|
2
|
-
meta
|
3
|
-
|
4
|
-
/ Use the .htaccess and remove these lines to avoid edge case issues.
|
5
|
-
/ More info: h5bp.com/b/378
|
6
|
-
meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'
|
7
|
-
|
2
|
+
meta charset='utf-8'
|
3
|
+
meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'
|
8
4
|
title
|
9
5
|
| #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
|
6
|
+
meta content='' name='description'
|
7
|
+
meta content='width=device-width' name='viewport'
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
/ Mobile viewport optimized: h5bp.com/viewport
|
14
|
-
meta name="viewport" content="width=device-width"
|
15
|
-
|
16
|
-
/ Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons
|
17
|
-
|
18
|
-
= render "stylesheets"
|
19
|
-
|
20
|
-
/ More ideas for your <head> here: h5bp.com/d/head-Tips
|
9
|
+
= render 'stylesheets'
|
21
10
|
|
22
11
|
/ All JavaScript at the bottom, except polyfills
|
23
|
-
= javascript_include_tag
|
12
|
+
= javascript_include_tag 'polyfills'
|
24
13
|
|
25
14
|
= csrf_meta_tag
|
@@ -1,2 +1,2 @@
|
|
1
1
|
%header#header
|
2
|
-
%h1 <%= application_title %>
|
2
|
+
%h1 <%= application_title %>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<%%# Append your own using content_for :javascripts %>
|
4
4
|
<%%= yield :javascripts %>
|
5
5
|
|
6
|
-
<%%#
|
6
|
+
<%%# Google Analytics %>
|
7
7
|
<%%# Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/html5_rails.yml %>
|
8
8
|
<%% if !google_account_id.blank? %>
|
9
9
|
<script>
|
@@ -14,4 +14,4 @@
|
|
14
14
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|
15
15
|
//]]>
|
16
16
|
</script>
|
17
|
-
<%% end %>
|
17
|
+
<%% end %>
|
@@ -1,13 +1,13 @@
|
|
1
|
-
= javascript_include_tag
|
1
|
+
= javascript_include_tag 'application'
|
2
2
|
|
3
3
|
-# Append your own using content_for :javascripts
|
4
4
|
= yield :javascripts
|
5
5
|
|
6
|
-
-#
|
6
|
+
-# Google Analytics
|
7
7
|
-# Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/html5_rails.yml
|
8
8
|
- if !google_account_id.blank?
|
9
9
|
:javascript
|
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'));
|
13
|
+
s.parentNode.insertBefore(g,s)}(document,'script'));
|
@@ -1,13 +1,13 @@
|
|
1
|
-
= javascript_include_tag
|
1
|
+
= javascript_include_tag 'application'
|
2
2
|
|
3
3
|
/ Append your own using content_for :javascripts
|
4
4
|
= yield :javascripts
|
5
5
|
|
6
|
-
/
|
6
|
+
/ Google Analytics
|
7
7
|
/ Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/html5_rails.yml
|
8
8
|
- if !google_account_id.blank?
|
9
|
-
:
|
10
|
-
var _gaq=[['_setAccount','
|
9
|
+
javascript:
|
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
13
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|