html5-rails 0.0.2 → 0.0.3
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 +13 -12
- data/LICENSE +20 -0
- data/README.md +58 -3
- data/app/assets/javascripts/application.js +9 -1
- data/app/assets/javascripts/polyfills.js +9 -1
- data/app/views/application/_flashes.html.erb +9 -0
- data/app/views/application/_footer.html.erb +5 -0
- data/app/views/application/_head.html.erb +25 -0
- data/app/views/application/_header.html.erb +3 -0
- data/app/views/application/_javascripts.html.erb +24 -0
- data/app/views/application/_stylesheets.html.erb +4 -0
- data/app/views/layouts/application.html.erb +25 -0
- data/html5-rails.gemspec +4 -2
- data/lib/generators/html5/assets/USAGE +11 -0
- data/lib/generators/html5/assets/assets_generator.rb +63 -0
- data/lib/generators/html5/assets/templates/javascripts/application.js +9 -0
- data/lib/generators/html5/assets/templates/javascripts/polyfills.js +10 -0
- data/lib/generators/html5/assets/templates/stylesheets/_defaults.css.scss +18 -0
- data/lib/generators/html5/assets/templates/stylesheets/application.css.scss +42 -0
- data/lib/generators/html5/assets/templates/stylesheets/application/_defaults.css.scss +7 -0
- data/lib/generators/html5/assets/templates/stylesheets/application/document.css.scss +9 -0
- data/lib/generators/html5/assets/templates/stylesheets/application/media_queries.css.scss +17 -0
- data/lib/generators/html5/generator_helpers.rb +37 -0
- data/lib/generators/html5/install/USAGE +1 -0
- data/lib/generators/html5/install/install_generator.rb +18 -3
- data/lib/generators/html5/install/templates/README +10 -2
- data/lib/generators/html5/install/templates/{compass.rb → config/compass.rb} +1 -1
- data/lib/generators/html5/install/templates/config/html5_rails.yml +26 -0
- data/lib/generators/html5/layout/USAGE +8 -0
- data/lib/generators/html5/layout/layout_generator.rb +44 -0
- data/lib/generators/html5/layout/templates/application.html.erb +25 -0
- data/lib/generators/html5/layout/templates/application.html.haml +16 -0
- data/lib/generators/html5/partial/USAGE +8 -0
- data/lib/generators/html5/partial/partial_generator.rb +77 -0
- data/lib/generators/html5/partial/templates/_flashes.html.erb +9 -0
- data/lib/generators/html5/partial/templates/_flashes.html.haml +5 -0
- data/lib/generators/html5/partial/templates/_footer.html.erb +5 -0
- data/lib/generators/html5/partial/templates/_footer.html.haml +3 -0
- data/lib/generators/html5/partial/templates/_head.html.erb +25 -0
- data/lib/generators/html5/partial/templates/_head.html.haml +28 -0
- data/lib/generators/html5/partial/templates/_header.html.erb +3 -0
- data/lib/generators/html5/partial/templates/_header.html.haml +2 -0
- data/lib/generators/html5/partial/templates/_javascripts.html.erb +24 -0
- data/lib/generators/html5/partial/templates/_javascripts.html.haml +19 -0
- data/lib/generators/html5/partial/templates/_stylesheets.html.erb +4 -0
- data/lib/generators/html5/partial/templates/_stylesheets.html.haml +4 -0
- data/lib/html5/rails.rb +1 -1
- data/lib/html5/rails/engine.rb +1 -1
- data/lib/html5/rails/{boilerplate_helper.rb → helpers.rb} +12 -10
- data/lib/html5/rails/version.rb +3 -5
- data/test/dummy/.gitignore +15 -5
- data/test/dummy/app/assets/javascripts/application.js +9 -2
- data/test/dummy/app/assets/stylesheets/application.css +7 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/pages/home.html.erb +1 -0
- data/test/dummy/config/application.rb +9 -4
- data/test/dummy/config/environments/development.rb +3 -0
- data/test/dummy/config/environments/production.rb +11 -2
- data/test/dummy/config/initializers/wrap_parameters.rb +5 -3
- data/test/dummy/config/routes.rb +1 -1
- data/test/dummy/db/seeds.rb +7 -0
- data/test/dummy/doc/README_FOR_APP +2 -0
- data/test/dummy/lib/assets/.gitkeep +0 -0
- data/test/generators/assets_generator_test.rb +60 -0
- data/test/generators/install_generator_test.rb +44 -3
- data/test/generators/layout_generator_test.rb +71 -0
- data/test/generators/partial_generator_test.rb +75 -0
- data/test/support/generator_test_helper.rb +18 -0
- data/test/test_helper.rb +4 -8
- data/{app/assets/javascripts/html5/boilerplate → vendor/assets/javascripts/h5bp}/index.js +0 -0
- data/vendor/assets/javascripts/h5bp/plugins.js +15 -0
- data/vendor/assets/javascripts/modernizr.min.js +3 -3
- metadata +115 -72
- data/LICENSE.rb +0 -3
- data/app/assets/javascripts/html5/boilerplate/plugins.js +0 -16
- data/app/assets/javascripts/html5/boilerplate/polyfills.js +0 -2
- data/app/views/application/_flashes.html.haml +0 -4
- data/app/views/application/_footer.html.haml +0 -2
- data/app/views/application/_head.html.haml +0 -24
- data/app/views/application/_header.html.haml +0 -1
- data/app/views/application/_javascripts.html.haml +0 -27
- data/app/views/application/_stylesheets.html.haml +0 -5
- data/app/views/layouts/application.html.haml +0 -20
- data/test/dummy/app/assets/stylesheets/application.css.scss +0 -19
- data/test/dummy/app/assets/stylesheets/partials/_media.css.scss +0 -22
- data/test/dummy/app/views/pages/home.html.haml +0 -2
- data/test/dummy/config/initializers/sass.rb +0 -3
- data/vendor/assets/javascripts/respond.min.js +0 -2
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
// Document styles
|
|
7
|
+
//-----------------------------------------
|
|
8
|
+
html {}
|
|
9
|
+
body {}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// This file was generated by html5-rails
|
|
2
|
+
// https://github.com/sporkd/html5-rails
|
|
3
|
+
// Upgrade with: $ rails generate html5:install
|
|
4
|
+
//
|
|
5
|
+
// PLACEHOLDER Media Queries for Responsive Design.
|
|
6
|
+
// These override the primary ('mobile first') styles
|
|
7
|
+
// Modify as content requires.
|
|
8
|
+
|
|
9
|
+
@media only screen and (min-width: 480px) {
|
|
10
|
+
// Style adjustments for viewports 480px and over go here
|
|
11
|
+
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@media only screen and (min-width: 768px) {
|
|
15
|
+
// Style adjustments for viewports 768px and over go here
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module Html5
|
|
2
|
+
module Generators
|
|
3
|
+
module GeneratorHelpers
|
|
4
|
+
|
|
5
|
+
def application_name
|
|
6
|
+
if defined?(::Rails) && ::Rails.application
|
|
7
|
+
::Rails.application.class.name.split('::').first
|
|
8
|
+
else
|
|
9
|
+
"application"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def application_title
|
|
14
|
+
if defined?(::Rails) && ::Rails.application
|
|
15
|
+
::Rails.application.class.name.split('::').first.titleize
|
|
16
|
+
else
|
|
17
|
+
"My App"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
protected
|
|
22
|
+
|
|
23
|
+
def format
|
|
24
|
+
:html
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def handler
|
|
28
|
+
# Rails.configuration.generators.rails[:template_engine] ||
|
|
29
|
+
options[:template_engine] || :erb
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def filename_with_extensions(name)
|
|
33
|
+
[name, format, handler].compact.join(".")
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -1,17 +1,32 @@
|
|
|
1
|
+
require "generators/html5/generator_helpers"
|
|
2
|
+
|
|
1
3
|
module Html5
|
|
2
4
|
module Generators
|
|
3
5
|
class InstallGenerator < ::Rails::Generators::Base
|
|
6
|
+
include Html5::Generators::GeneratorHelpers
|
|
7
|
+
|
|
4
8
|
source_root File.expand_path('../templates', __FILE__)
|
|
5
9
|
|
|
10
|
+
class_option :template_engine
|
|
11
|
+
|
|
6
12
|
# def run_config
|
|
7
13
|
# inside do
|
|
8
14
|
# # Needs more work
|
|
9
|
-
# run("bundle exec compass config --app rails -r compass-
|
|
15
|
+
# run("bundle exec compass config --app rails -r compass-h5bp -q")
|
|
10
16
|
# end
|
|
11
17
|
# end
|
|
12
18
|
|
|
13
|
-
def
|
|
14
|
-
|
|
19
|
+
def copy_configs
|
|
20
|
+
template "config/compass.rb"
|
|
21
|
+
template "config/html5_rails.yml"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def generate_layout
|
|
25
|
+
invoke "html5:layout", ["application"], { :minimal_partials => true, :template_engine => options[:template_engine] }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def generate_assets
|
|
29
|
+
invoke "html5:assets", ["application"]
|
|
15
30
|
end
|
|
16
31
|
|
|
17
32
|
def show_readme
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
==================
|
|
1
|
+
===============================================================================
|
|
3
2
|
|
|
3
|
+
You are now on html5-rails. Really, that's it for now.
|
|
4
|
+
|
|
5
|
+
If want to genrate additional layouts, just run:
|
|
6
|
+
$ rails g html5:layout my_new_layout
|
|
7
|
+
|
|
8
|
+
Or if want to customize your other shared partials:
|
|
9
|
+
$ rails g html5:partial --all
|
|
10
|
+
|
|
11
|
+
===============================================================================
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# This file stores config values that html5-rails uses
|
|
2
|
+
# to render various code blocks and features.
|
|
3
|
+
# (i.e. Google Analytics)
|
|
4
|
+
#
|
|
5
|
+
# Leaving a value blank will result in that code block
|
|
6
|
+
# or feature not rendering.
|
|
7
|
+
#
|
|
8
|
+
# You can also define any key/value pair in you ENV and
|
|
9
|
+
# it will take precidence over the yml value.
|
|
10
|
+
# e.g. ENV['google_account_id'] || yml[:google_account_id]
|
|
11
|
+
|
|
12
|
+
defaults: &defaults
|
|
13
|
+
:google_account_id: "" # Google Analytics
|
|
14
|
+
:google_api_key: "" # Google APIs
|
|
15
|
+
|
|
16
|
+
:development:
|
|
17
|
+
<<: *defaults
|
|
18
|
+
|
|
19
|
+
:test:
|
|
20
|
+
<<: *defaults
|
|
21
|
+
|
|
22
|
+
:staging:
|
|
23
|
+
<<: *defaults
|
|
24
|
+
|
|
25
|
+
:production:
|
|
26
|
+
<<: *defaults
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require "generators/html5/generator_helpers"
|
|
2
|
+
|
|
3
|
+
module Html5
|
|
4
|
+
module Generators
|
|
5
|
+
class LayoutGenerator < ::Rails::Generators::NamedBase
|
|
6
|
+
include Html5::Generators::GeneratorHelpers
|
|
7
|
+
|
|
8
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
9
|
+
|
|
10
|
+
argument :name, :type => :string,
|
|
11
|
+
:required => false,
|
|
12
|
+
:default => "application"
|
|
13
|
+
|
|
14
|
+
class_option :all_partials, :type => :boolean,
|
|
15
|
+
:default => false,
|
|
16
|
+
:desc => "Generate all partials for this layout"
|
|
17
|
+
|
|
18
|
+
class_option :minimal_partials, :type => :boolean,
|
|
19
|
+
:default => false,
|
|
20
|
+
:desc => "Generate minimal partials for this layout"
|
|
21
|
+
|
|
22
|
+
class_option :template_engine
|
|
23
|
+
|
|
24
|
+
def generate_layout
|
|
25
|
+
if file_path == "application" && options[:template_engine].to_s != "erb"
|
|
26
|
+
remove_file File.join("app/views/layouts/application.html.erb")
|
|
27
|
+
end
|
|
28
|
+
template filename_with_extensions("application"), File.join("app/views/layouts", class_path, filename_with_extensions(file_name))
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def generate_partials
|
|
32
|
+
if options.all_partials?
|
|
33
|
+
invoke "html5:partial", [], { :all => true, :path => file_path,
|
|
34
|
+
:template_engine => options[:template_engine] }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if options.minimal_partials?
|
|
38
|
+
invoke "html5:partial", [], { :minimal => true, :path => file_path,
|
|
39
|
+
:template_engine => options[:template_engine] }
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<%%# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither %>
|
|
3
|
+
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7 no-js" lang="en"> <![endif]-->
|
|
4
|
+
<!--[if IE 7]> <html class="lt-ie9 lt-ie8 no-js" lang="en"> <![endif]-->
|
|
5
|
+
<!--[if IE 8]> <html class="lt-ie9 no-js" lang="en"> <![endif]-->
|
|
6
|
+
<!--[if gt IE 8]><!-->
|
|
7
|
+
<html class='no-js' lang='en'>
|
|
8
|
+
<!--<![endif]-->
|
|
9
|
+
|
|
10
|
+
<%%= render "head" %>
|
|
11
|
+
|
|
12
|
+
<body class='pages'>
|
|
13
|
+
<%%= render "header" %>
|
|
14
|
+
|
|
15
|
+
<div id='main' role='main'>
|
|
16
|
+
<%%= render "flashes" %>
|
|
17
|
+
<%%= yield %>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<%%= render "footer" %>
|
|
21
|
+
|
|
22
|
+
<%%# Javascript at the bottom for fast page loading %>
|
|
23
|
+
<%%= render "javascripts" %>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
!!! 5
|
|
2
|
+
-# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
|
|
3
|
+
- ie_html :class => "no-js", :lang => "en" do
|
|
4
|
+
= render "head"
|
|
5
|
+
|
|
6
|
+
%body{ :class => "#{ controller.controller_name }" }
|
|
7
|
+
= render "header"
|
|
8
|
+
|
|
9
|
+
#main{ :role => "main" }
|
|
10
|
+
= render "flashes"
|
|
11
|
+
= yield
|
|
12
|
+
|
|
13
|
+
= render "footer"
|
|
14
|
+
|
|
15
|
+
-# Javascript at the bottom for fast page loading
|
|
16
|
+
= render "javascripts"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
require "generators/html5/generator_helpers"
|
|
2
|
+
|
|
3
|
+
module Html5
|
|
4
|
+
module Generators
|
|
5
|
+
class PartialGenerator < ::Rails::Generators::NamedBase
|
|
6
|
+
include Html5::Generators::GeneratorHelpers
|
|
7
|
+
|
|
8
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
9
|
+
|
|
10
|
+
argument :name, :type => :string,
|
|
11
|
+
:required => false,
|
|
12
|
+
:default => ""
|
|
13
|
+
|
|
14
|
+
class_option :all, :type => :boolean,
|
|
15
|
+
:default => false,
|
|
16
|
+
:desc => "Generate all partials"
|
|
17
|
+
|
|
18
|
+
class_option :minimal, :type => :boolean,
|
|
19
|
+
:default => false,
|
|
20
|
+
:desc => "Generate minimal partials (_head, _header, _footer)"
|
|
21
|
+
|
|
22
|
+
class_option :path, :type => :string,
|
|
23
|
+
:default => nil,
|
|
24
|
+
:required => false,
|
|
25
|
+
:desc => "resource path to generate partials in"
|
|
26
|
+
|
|
27
|
+
class_option :template_engine
|
|
28
|
+
|
|
29
|
+
# def validate_name
|
|
30
|
+
# if options[:all] || options[:minimal]
|
|
31
|
+
# if partials.include?(file_name)
|
|
32
|
+
# path = class_path.join("/")
|
|
33
|
+
# message = "Argument '#{ file_path }' not allowed with --all or --minimal options."
|
|
34
|
+
# message << " Try using '#{ path }' instead." if !path.blank?
|
|
35
|
+
# raise Error, message
|
|
36
|
+
# end
|
|
37
|
+
# end
|
|
38
|
+
# end
|
|
39
|
+
|
|
40
|
+
def generate_partials
|
|
41
|
+
if partials.any?
|
|
42
|
+
empty_directory File.join("app/views", partial_path)
|
|
43
|
+
end
|
|
44
|
+
partials.each do |partial|
|
|
45
|
+
generate_partial(partial)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
protected
|
|
50
|
+
|
|
51
|
+
def partials
|
|
52
|
+
if options[:all]
|
|
53
|
+
%w(_flashes _footer _head _header _javascripts _stylesheets)
|
|
54
|
+
elsif options.minimal?
|
|
55
|
+
%w(_footer _head _header)
|
|
56
|
+
elsif file_name
|
|
57
|
+
[file_name]
|
|
58
|
+
else
|
|
59
|
+
[]
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def partial_path
|
|
64
|
+
if !options.path.blank?
|
|
65
|
+
path = options.path
|
|
66
|
+
else
|
|
67
|
+
path = class_path.join("/")
|
|
68
|
+
end
|
|
69
|
+
path.blank? ? "application" : path
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def generate_partial(partial_name)
|
|
73
|
+
template filename_with_extensions(partial_name), File.join("app/views", partial_path, filename_with_extensions(partial_name))
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<head>
|
|
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
|
+
<meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
|
|
7
|
+
|
|
8
|
+
<title></title>
|
|
9
|
+
<meta content='' name='description'>
|
|
10
|
+
<meta content='' name='author'>
|
|
11
|
+
|
|
12
|
+
<%%# Mobile viewport optimized: h5bp.com/viewport %>
|
|
13
|
+
<meta content='width=device-width,initial-scale=1' name='viewport'>
|
|
14
|
+
|
|
15
|
+
<%%= render "stylesheets" %>
|
|
16
|
+
|
|
17
|
+
<%%# More ideas for your <head> here: h5bp.com/d/head-Tips %>
|
|
18
|
+
|
|
19
|
+
<%%# All JavaScript at the bottom, except this Modernizr build incl. Respond.js %>
|
|
20
|
+
<%%# Respond is a polyfill for min/max-width media queries. Modernizr enables HTML5 elements & feature detects; %>
|
|
21
|
+
<%%# for optimal performance, create your own custom Modernizr build: www.modernizr.com/download/ %>
|
|
22
|
+
<%%= javascript_include_tag "polyfills" %>
|
|
23
|
+
|
|
24
|
+
<%%= csrf_meta_tag %>
|
|
25
|
+
</head>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
%head
|
|
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
|
+
%meta{ 'http-equiv' => 'X-UA-Compatible', :content => 'IE=edge,chrome=1' }/
|
|
7
|
+
|
|
8
|
+
%title
|
|
9
|
+
== #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
|
|
10
|
+
|
|
11
|
+
%meta{ :name => "description", :content => "" }/
|
|
12
|
+
%meta{ :name => "author", :content => "" }/
|
|
13
|
+
|
|
14
|
+
-# Mobile viewport optimized: h5bp.com/viewport
|
|
15
|
+
%meta{ :name => "viewport", :content => "width=device-width,initial-scale=1" }/
|
|
16
|
+
|
|
17
|
+
-# Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons
|
|
18
|
+
|
|
19
|
+
= render "stylesheets"
|
|
20
|
+
|
|
21
|
+
-# More ideas for your <head> here: h5bp.com/d/head-Tips
|
|
22
|
+
|
|
23
|
+
-# All JavaScript at the bottom, except this Modernizr build incl. Respond.js
|
|
24
|
+
-# Respond is a polyfill for min/max-width media queries. Modernizr enables HTML5 elements & feature detects;
|
|
25
|
+
-# for optimal performance, create your own custom Modernizr build: www.modernizr.com/download/
|
|
26
|
+
= javascript_include_tag "polyfills"
|
|
27
|
+
|
|
28
|
+
= csrf_meta_tag
|