twitter-bootstrap-rails 2.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of twitter-bootstrap-rails might be problematic. Click here for more details.

Files changed (69) hide show
  1. data/README.md +27 -27
  2. data/Rakefile +1 -1
  3. data/lib/generators/bootstrap/install/install_generator.rb +1 -1
  4. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +5 -15
  5. data/lib/generators/bootstrap/install/templates/bootstrap.less +4 -3
  6. data/lib/generators/bootstrap/layout/layout_generator.rb +14 -4
  7. data/lib/generators/bootstrap/layout/templates/layout.html.erb +112 -49
  8. data/lib/generators/bootstrap/layout/templates/layout.html.haml +90 -0
  9. data/lib/generators/bootstrap/layout/templates/layout.html.slim +77 -0
  10. data/lib/generators/bootstrap/themed/templates/_form.html.erb +1 -1
  11. data/lib/generators/bootstrap/themed/templates/_form.html.haml +11 -0
  12. data/lib/generators/bootstrap/themed/templates/_form.html.slim +11 -0
  13. data/lib/generators/bootstrap/themed/templates/edit.html.haml +3 -0
  14. data/lib/generators/bootstrap/themed/templates/edit.html.slim +3 -0
  15. data/lib/generators/bootstrap/themed/templates/index.html.erb +2 -2
  16. data/lib/generators/bootstrap/themed/templates/index.html.haml +25 -0
  17. data/lib/generators/bootstrap/themed/templates/index.html.slim +25 -0
  18. data/lib/generators/bootstrap/themed/templates/new.html.haml +2 -0
  19. data/lib/generators/bootstrap/themed/templates/new.html.slim +2 -0
  20. data/lib/generators/bootstrap/themed/templates/show.html.erb +5 -4
  21. data/lib/generators/bootstrap/themed/templates/show.html.haml +9 -0
  22. data/lib/generators/bootstrap/themed/templates/show.html.slim +9 -0
  23. data/lib/generators/bootstrap/themed/themed_generator.rb +13 -13
  24. data/lib/twitter/bootstrap/rails/version.rb +1 -1
  25. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  26. data/vendor/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  27. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-alert.js +9 -3
  28. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-button.js +1 -1
  29. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-carousel.js +3 -3
  30. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-collapse.js +6 -4
  31. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-dropdown.js +15 -6
  32. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-modal.js +7 -3
  33. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js +3 -3
  34. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-scrollspy.js +3 -2
  35. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-tab.js +10 -5
  36. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-transition.js +1 -1
  37. data/vendor/assets/javascripts/twitter/bootstrap/bootstrap-typeahead.js +39 -20
  38. data/vendor/toolkit/twitter/bootstrap/accordion.less +5 -4
  39. data/vendor/toolkit/twitter/bootstrap/alerts.less +1 -0
  40. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +10 -8
  41. data/vendor/toolkit/twitter/bootstrap/button-groups.less +48 -18
  42. data/vendor/toolkit/twitter/bootstrap/buttons.less +137 -88
  43. data/vendor/toolkit/twitter/bootstrap/carousel.less +12 -5
  44. data/vendor/toolkit/twitter/bootstrap/code.less +44 -0
  45. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +23 -2
  46. data/vendor/toolkit/twitter/bootstrap/forms.less +83 -64
  47. data/vendor/toolkit/twitter/bootstrap/grid.less +8 -0
  48. data/vendor/toolkit/twitter/bootstrap/hero-unit.less +20 -0
  49. data/vendor/toolkit/twitter/bootstrap/labels.less +4 -4
  50. data/vendor/toolkit/twitter/bootstrap/layouts.less +17 -0
  51. data/vendor/toolkit/twitter/bootstrap/mixins.less +202 -38
  52. data/vendor/toolkit/twitter/bootstrap/modals.less +9 -2
  53. data/vendor/toolkit/twitter/bootstrap/navbar.less +70 -29
  54. data/vendor/toolkit/twitter/bootstrap/navs.less +70 -64
  55. data/vendor/toolkit/twitter/bootstrap/pager.less +7 -2
  56. data/vendor/toolkit/twitter/bootstrap/pagination.less +1 -0
  57. data/vendor/toolkit/twitter/bootstrap/popovers.less +25 -25
  58. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +14 -18
  59. data/vendor/toolkit/twitter/bootstrap/reset.less +2 -3
  60. data/vendor/toolkit/twitter/bootstrap/responsive.less +219 -164
  61. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +6 -89
  62. data/vendor/toolkit/twitter/bootstrap/sprites.less +137 -99
  63. data/vendor/toolkit/twitter/bootstrap/tables.less +1 -54
  64. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +2 -0
  65. data/vendor/toolkit/twitter/bootstrap/type.less +12 -42
  66. data/vendor/toolkit/twitter/bootstrap/variables.less +23 -14
  67. metadata +34 -18
  68. data/vendor/toolkit/twitter/bootstrap/patterns.less +0 -30
  69. data/vendor/toolkit/twitter/bootstrap/print.less +0 -18
data/README.md CHANGED
@@ -1,15 +1,15 @@
1
- # Twitter Bootstrap for Rails 3.2 Asset Pipeline
1
+ # Twitter Bootstrap for Rails 3.1 Asset Pipeline
2
2
  Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.
3
3
 
4
4
 
5
- twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.2 Asset Pipeline
5
+ twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline (Rails 3.2 supported)
6
6
 
7
7
 
8
8
  ## Installing Gem
9
9
 
10
10
  Include Bootstrap in Gemfile;
11
11
 
12
- gem 'twitter-bootstrap-rails'
12
+ gem 'twitter-bootstrap-rails', :group => :assets
13
13
 
14
14
  or you can install from latest build;
15
15
 
@@ -34,13 +34,13 @@ Usage:
34
34
  rails g bootstrap:install
35
35
 
36
36
 
37
- Layout (generates Twitter Bootstrap compatible layout.)
37
+ Layout (generates Twitter Bootstrap compatible layout with flash messages) - (Haml and Slim supported)
38
38
 
39
39
 
40
40
  Usage:
41
41
 
42
42
 
43
- rails g bootstrap:layout [LAYOUT_NAME] [*fixed or fluid] [options]
43
+ rails g bootstrap:layout [LAYOUT_NAME] [*fixed or fluid]
44
44
 
45
45
 
46
46
  Example:
@@ -49,19 +49,20 @@ Example:
49
49
  rails g bootstrap:layout application fixed
50
50
 
51
51
 
52
- Themed (generates Twitter Bootstrap compatible scaffold views.)
52
+ Themed (generates Twitter Bootstrap compatible scaffold views.) - (Haml and Slim supported)
53
53
 
54
54
 
55
55
  Usage:
56
56
 
57
57
 
58
- rails g bootstrap:themed [RESOURCE_NAME] [LAYOUT] [options]
58
+ rails g bootstrap:themed [RESOURCE_NAME]
59
59
 
60
60
 
61
61
  Example:
62
62
 
63
63
 
64
64
  rails g scaffold post title:string description:text
65
+ rake db:migrate
65
66
  rails g bootstrap:themed posts
66
67
 
67
68
 
@@ -82,12 +83,14 @@ You have to require Bootstrap LESS (bootstrap.less) in your application.css
82
83
 
83
84
 
84
85
  Now, you can override LESS files provided by Twitter Bootstrap
86
+ Also, you can import additional files (.ie responsive)
85
87
 
86
- @import "twitter/bootstrap";
88
+ @import "twitter/bootstrap";
87
89
 
88
- // Baseline grid
89
- @basefont: 13px;
90
- @baseline: 18px;
90
+ // import responsive layout
91
+ @import "twitter/bootstrap/responsive";
92
+
93
+ // Your custom stylesheets goes here (override Less here)
91
94
 
92
95
 
93
96
  ## Using Javascripts
@@ -107,27 +110,17 @@ Using Twitter Bootstrap with the CoffeeScript is easy.
107
110
  twitter-bootstrap-rails generates a "bootstrap.js.coffee" file for you
108
111
  to /app/assets/javascripts/ folder.
109
112
 
110
- $ ->
113
+ jQuery ->
111
114
  $(".alert-message").alert()
112
- $ ->
113
115
  $(".tabs").button()
114
- $ ->
115
116
  $(".carousel").carousel()
116
- $ ->
117
117
  $(".collapse").collapse()
118
- $ ->
119
118
  $(".dropdown-toggle").dropdown()
120
- $ ->
121
- $("#myModal").modal options
122
- $ ->
123
- $("#example").popover options
124
- $ ->
125
- $("#navbar").scrollspy()
126
- $ ->
127
- $("#myTab").tab "show"
128
- $ ->
129
- $("#example").tooltip options
130
- $ ->
119
+ $(".modal").modal()
120
+ $("a[rel]").popover()
121
+ $(".navbar").scrollspy()
122
+ $(".tab").tab "show"
123
+ $(".tooltip").tooltip()
131
124
  $(".typeahead").typeahead()
132
125
 
133
126
 
@@ -159,6 +152,11 @@ twitter-bootstrap-rails has seperate branch (w/o Less) that just serves latest s
159
152
  <li>Added new generators (install, layout and themed)</li>
160
153
  <li>Compability to Rails 3.2</li>
161
154
  <li>Transitioning to 2.0</li>
155
+ <li>Released gem v.2.0rc0</li>
156
+ <li>Added Haml and Slim support</li>
157
+ <li>Added Twitter Bootstrap compatible flash messages</li>
158
+ <li>Added Responsive layout support</li>
159
+ <li>Fixes and release 2.0.0</li>
162
160
  </ul>
163
161
 
164
162
 
@@ -173,6 +171,8 @@ twitter-bootstrap-rails has seperate branch (w/o Less) that just serves latest s
173
171
  <li>Colin Warren</li>
174
172
  <li>Giovanni Cappellotto</li>
175
173
  <li>Masakuni Kato</li>
174
+ <li>Gudleik Rasch</li>
175
+ <li>Thomas Volkmar Worm</li>
176
176
  </ul>
177
177
 
178
178
 
data/Rakefile CHANGED
@@ -1,3 +1,3 @@
1
+ #!/usr/bin/env rake
1
2
  require 'bundler'
2
3
  Bundler::GemHelper.install_tasks
3
-
@@ -2,7 +2,7 @@ require 'rails/generators'
2
2
 
3
3
  module Bootstrap
4
4
  module Generators
5
- class InstallGenerator < Rails::Generators::Base
5
+ class InstallGenerator < ::Rails::Generators::Base
6
6
  source_root File.expand_path("../templates", __FILE__)
7
7
  desc "This generator installs Twitter Bootstrap to Asset Pipeline"
8
8
 
@@ -1,22 +1,12 @@
1
- $ ->
1
+ jQuery ->
2
2
  $(".alert-message").alert()
3
- $ ->
4
3
  $(".tabs").button()
5
- $ ->
6
4
  $(".carousel").carousel()
7
- $ ->
8
5
  $(".collapse").collapse()
9
- $ ->
10
6
  $(".dropdown-toggle").dropdown()
11
- $ ->
12
- $(".modal").modal
13
- $ ->
14
- $("a[rel]").popover
15
- $ ->
7
+ $(".modal").modal()
8
+ $("a[rel]").popover()
16
9
  $(".navbar").scrollspy()
17
- $ ->
18
10
  $(".tab").tab "show"
19
- $ ->
20
- $(".tooltip").tooltip
21
- $ ->
22
- $(".typeahead").typeahead()
11
+ $(".tooltip").tooltip()
12
+ $(".typeahead").typeahead()
@@ -1,5 +1,6 @@
1
1
  @import "twitter/bootstrap";
2
2
 
3
- // Baseline grid
4
- @basefont: 13px;
5
- @baseline: 18px;
3
+ // import responsive layout
4
+ @import "twitter/bootstrap/responsive";
5
+
6
+ // Your custom stylesheets goes here (override Less here)
@@ -2,21 +2,31 @@ require 'rails/generators'
2
2
 
3
3
  module Bootstrap
4
4
  module Generators
5
- class LayoutGenerator < Rails::Generators::Base
5
+ class LayoutGenerator < ::Rails::Generators::Base
6
6
  source_root File.expand_path("../templates", __FILE__)
7
- desc "This generator creates layout file with navigation."
7
+ desc "This generator generates layout file with navigation."
8
8
  argument :layout_name, :type => :string, :default => "application"
9
9
  argument :layout_type, :type => :string, :default => "fixed",
10
10
  :banner => "*fixed or fluid"
11
11
 
12
12
  attr_reader :app_name, :container_class
13
13
 
14
+ def add_helper
15
+ if File.exists?(Rails.root.join("app/helpers/application_helper.rb"))
16
+ say "Bootstrap helpers installs to application_helper..."
17
+ insert_into_file "app/helpers/application_helper.rb",
18
+ " def flash_class(level)\n case level\n when :notice then 'info'\n when :error then 'error'\n when :alert then 'warning'\n end\n end\n", :after => "module ApplicationHelper\n"
19
+ else
20
+ say "Already installed"
21
+ end
22
+ end
23
+
14
24
  def generate_layout
15
- app = Rails.application
25
+ app = ::Rails.application
16
26
  @app_name = app.class.to_s.split("::").first
17
27
  @container_class = layout_type == "fluid" ? "container-fluid" : "container"
18
28
  ext = app.config.generators.options[:rails][:template_engine] || :erb
19
- template "layout.html.erb", "app/views/layouts/#{layout_name}.html.erb"
29
+ template "layout.html.#{ext}", "app/views/layouts/#{layout_name}.html.#{ext}"
20
30
  end
21
31
  end
22
32
  end
@@ -1,57 +1,120 @@
1
1
  <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title><%= app_name %></title>
5
- <%%= stylesheet_link_tag "application" %>
6
- <%%= javascript_include_tag "application" %>
7
- <%%= csrf_meta_tags %>
8
- </head>
9
- <body style="padding-top: 60px">
10
- <div class="topbar">
11
- <div class="topbar-inner">
12
- <div class="<%= container_class %>">
13
- <h3><%%= link_to "<%= app_name %>", "/" %></h3>
14
- <ul class="nav">
15
- <%- (1..3).each do |i| -%>
16
- <li><%%= link_to "Link<%= i %>", "/path<%= i %>" %></li>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title><%= app_name %></title>
6
+ <%%= csrf_meta_tags %>
7
+
8
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
9
+ <!--[if lt IE 9]>
10
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
11
+ <![endif]-->
12
+
13
+ <!-- Le styles -->
14
+ <%%= stylesheet_link_tag "application", :media => "all" %>
15
+ <style>
16
+ body {
17
+ padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
18
+ }
19
+ </style>
20
+
21
+ <!-- Le fav and touch icons -->
22
+ <link href="images/favicon.ico" rel="shortcut icon">
23
+ <link href="images/apple-touch-icon.png" rel="apple-touch-icon">
24
+ <link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
25
+ <link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
26
+ </head>
27
+ <body>
28
+
29
+ <div class="navbar navbar-fixed-top">
30
+ <div class="navbar-inner">
31
+ <%- if layout_type == "fluid" -%>
32
+ <div class="container-fluid">
33
+ <%- else -%>
34
+ <div class="container">
17
35
  <%- end -%>
18
- </ul>
19
- </div>
20
- </div>
21
- </div>
22
- <div class="<%= container_class %>">
23
- <%- if layout_type == "fluid" -%>
24
- <div class="sidebar">
25
- <div class="well">
26
- <h5>Sidebar</h5>
27
- <ul>
28
- <%- (1..3).each do |i| -%>
29
- <li><%%= link_to "Link<%= i %>", "/path<%= i %>" %></li>
30
- <%- end -%>
31
- </ul>
36
+ <a class="btn btn-navbar" data-target=".nav-collapse" data-toggle="collapse">
37
+ <span class="i-bar"></span>
38
+ <span class="i-bar"></span>
39
+ <span class="i-bar"></span>
40
+ </a>
41
+ <a class="brand" href="#"><%= app_name %></a>
42
+ <div class="<%= container_class %> nav-collapse">
43
+ <ul class="nav">
44
+ <%- (1..3).each do |i| -%>
45
+ <li><%%= link_to "Link<%= i %>", "/path<%= i %>" %></li>
46
+ <%- end -%>
47
+ </ul>
48
+ </div><!--/.nav-collapse -->
49
+ </div>
32
50
  </div>
33
51
  </div>
34
- <div class="content">
35
- <%%= yield %>
36
- </div>
37
- <%- else -%>
38
- <div class="content">
39
- <div class="row">
40
- <div class="span11">
52
+
53
+ <div class="<%= container_class %>">
54
+ <%- if layout_type == "fluid" -%>
55
+ <div class="row-fluid">
56
+ <div class="span3">
57
+ <div class="well sidebar-nav">
58
+ <ul class="nav nav-list">
59
+ <li class="nav-header">Sidebar</li>
60
+ <%- (1..3).each do |i| -%>
61
+ <li><%%= link_to "Link<%= i %>", "/path<%= i %>" %></li>
62
+ <%- end -%>
63
+ </ul>
64
+ </div><!--/.well -->
65
+ </div><!--/span-->
66
+ <div class="span9">
67
+ <%% [:notice, :error, :alert].each do |level| %>
68
+ <%% unless flash[level].blank? %>
69
+ <div data-alert="alert" class="alert alert-<%%= flash_class(level) %> fade in">
70
+ <a class="close" data-dismiss="alert" href="#">&times;</a>
71
+ <%%= content_tag :p, flash[level] %>
72
+ </div>
73
+ <%% end %>
74
+ <%% end %>
41
75
  <%%= yield %>
42
76
  </div>
43
- <div class="span1">&nbsp;</div>
44
- <div class="span4">
45
- <h3>Sidebar</h3>
46
- <ul>
47
- <%- (1..3).each do |i| -%>
48
- <li><%%= link_to "Link<%= i %>", "/path<%= i %>" %></li>
49
- <%- end -%>
50
- </ul>
77
+ </div><!--/row-->
78
+ <%- else -%>
79
+ <div class="content">
80
+ <div class="row">
81
+ <div class="span9">
82
+ <%% [:notice, :error, :alert].each do |level| %>
83
+ <%% unless flash[level].blank? %>
84
+ <div data-alert="alert" class="alert alert-<%%= flash_class(level) %> fade in">
85
+ <a class="close" data-dismiss="alert" href="#">&times;</a>
86
+ <%%= content_tag :p, flash[level] %>
87
+ </div>
88
+ <%% end %>
89
+ <%% end %>
90
+ <%%= yield %>
91
+ </div>
92
+ <div class="span1">&nbsp;</div>
93
+ <div class="span3">
94
+ <div class="well sidebar-nav">
95
+ <h3>Sidebar</h3>
96
+ <ul class="nav nav-list">
97
+ <li class="nav-header">Sidebar</li>
98
+ <%- (1..3).each do |i| -%>
99
+ <li><%%= link_to "Link<%= i %>", "/path<%= i %>" %></li>
100
+ <%- end -%>
101
+ </ul>
102
+ </div>
103
+ </div>
104
+ </div>
51
105
  </div>
52
- </div>
53
- </div>
54
- <%- end -%>
55
- </div>
56
- </body>
106
+ <%- end -%>
107
+
108
+ <footer>
109
+ <p>&copy; Company 2012</p>
110
+ </footer>
111
+
112
+ </div> <!-- /container -->
113
+
114
+ <!-- Le javascript
115
+ ================================================== -->
116
+ <!-- Placed at the end of the document so the pages load faster -->
117
+ <%%= javascript_include_tag "application" %>
118
+
119
+ </body>
57
120
  </html>
@@ -0,0 +1,90 @@
1
+ !!! 5
2
+ %html{:lang => "en"}
3
+ %head
4
+ %meta{:charset => "utf-8"}/
5
+ %title= content_for?(:title) ? yield(:title) : "<%= app_name %>"
6
+ = csrf_meta_tags
7
+ / Le HTML5 shim, for IE6-8 support of HTML elements
8
+ /[if lt IE 9]
9
+ = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js"
10
+ / Le styles
11
+ = stylesheet_link_tag "application"
12
+ :css
13
+ body {
14
+ padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
15
+ }
16
+ / Le fav and touch icons
17
+ %link{:href => "images/favicon.ico", :rel => "shortcut icon"}/
18
+ %link{:href => "images/apple-touch-icon.png", :rel => "apple-touch-icon"}/
19
+ %link{:href => "images/apple-touch-icon-72x72.png", :rel => "apple-touch-icon", :sizes => "72x72"}/
20
+ %link{:href => "images/apple-touch-icon-114x114.png", :rel => "apple-touch-icon", :sizes => "114x114"}/
21
+
22
+
23
+ %body
24
+ .navbar.navbar-fixed-top
25
+ .navbar-inner
26
+ <%- if layout_type == "fluid" -%>
27
+ .container-fluid
28
+ <%- else -%>
29
+ .container
30
+ <%- end -%>
31
+ %a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"}
32
+ %span.i-bar
33
+ %span.i-bar
34
+ %span.i-bar
35
+ %a.brand{:href => "#"}<%= app_name %>
36
+ .<%=container_class%>.nav-collapse
37
+ %ul.nav
38
+ %li= link_to "Link 1", "/path1"
39
+ %li= link_to "Link 2", "/path2"
40
+ %li= link_to "Link 3", "/path3"
41
+
42
+ .<%= container_class %>
43
+ <%- if layout_type == "fluid" -%>
44
+
45
+ .row-fluid
46
+ .span3
47
+ .well.sidebar-nav
48
+ %ul.nav.nav-list
49
+ %li.nav-header Sidebar
50
+ %li= link_to "Link 1", "/path1"
51
+ %li= link_to "Link 2", "/path2"
52
+ %li= link_to "Link 3", "/path3"
53
+ .span9
54
+ <% [:notice, :error, :alert].each do |level| %>
55
+ <% unless flash[level].blank? %>
56
+ .alert.fade.in{:class => "alert-<%= flash_class(level) %>", "data-alert" => "alert"}
57
+ %a.close{"data-dismiss" => "alert", :href => "#"} ×
58
+ <%= content_tag :p, flash[level] %>
59
+ <% end %>
60
+ <% end %>
61
+ = yield
62
+ <% else %>
63
+ .content
64
+ .row
65
+ .span9
66
+ <% [:notice, :error, :alert].each do |level| %>
67
+ <% unless flash[level].blank? %>
68
+ .alert.fade.in{:class => "alert-<%= flash_class(level) %>", "data-alert" => "alert"}
69
+ %a.close{"data-dismiss" => "alert", :href => "#"} ×
70
+ <%= content_tag :p, flash[level] %>
71
+ <% end %>
72
+ <% end %>
73
+ = yield
74
+ .span1 &nbsp;
75
+ .span3
76
+ .well.sidebar-nav
77
+ %h3 Sidebar
78
+ %ul.nav.nav-list
79
+ %li.nav-header Sidebar
80
+ %li= link_to "Link 1", "/path1"
81
+ %li= link_to "Link 2", "/path2"
82
+ %li= link_to "Link 3", "/path3"
83
+ <% end %>
84
+ %footer
85
+ %p &copy; Company 2012
86
+ /
87
+ Le javascript
88
+ \==================================================
89
+ / Placed at the end of the document so the pages load faster
90
+ = javascript_include_tag "application"