html5-rails 0.0.7 → 0.1.0
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/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'));
|