Skip to content

Commit 8e101af

Browse files
committed
add Bootstrap 4
1 parent 2a9eece commit 8e101af

12 files changed

+199
-0
lines changed

lib/generators/layout/install/install_generator.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ def install_framework
3737
copy_file 'bootstrap-application.js', 'app/assets/javascripts/application.js'
3838
remove_file 'app/assets/stylesheets/simple.css'
3939
remove_file 'app/assets/stylesheets/foundation_and_overrides.css.scss'
40+
when 'bootstrap4'
41+
copy_file 'bootstrap4_and_overrides.css.scss', 'app/assets/stylesheets/1st_load_framework.css.scss'
42+
copy_file 'bootstrap-application.js', 'app/assets/javascripts/application.js'
43+
remove_file 'app/assets/stylesheets/simple.css'
44+
remove_file 'app/assets/stylesheets/foundation_and_overrides.css.scss'
4045
when 'foundation4'
4146
copy_file 'foundation4_and_overrides.css.scss', 'app/assets/stylesheets/1st_load_framework.css.scss'
4247
copy_file 'foundation4-application.js', 'app/assets/javascripts/application.js'
@@ -66,6 +71,8 @@ def add_forms_stylesheet
6671
# TODO
6772
when 'bootstrap3'
6873
append_file 'app/assets/stylesheets/1st_load_framework.css.scss', File.read("#{dir}/bootstrap3-forms.css.scss")
74+
when 'bootstrap4'
75+
append_file 'app/assets/stylesheets/1st_load_framework.css.scss', File.read("#{dir}/bootstrap4-forms.css.scss")
6976
when 'foundation4'
7077
# TODO
7178
when 'foundation5'
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
5+
<title><%%= content_for?(:title) ? yield(:title) : "<%= app_name.underscore.titleize %>" %></title>
6+
<meta name="description" content="<%%= content_for?(:description) ? yield(:description) : "<%= app_name.underscore.titleize %>" %>">
7+
<%%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
8+
<%%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
9+
<%%= csrf_meta_tags %>
10+
</head>
11+
<body>
12+
<header>
13+
<%%= render 'layouts/navigation' %>
14+
</header>
15+
<main role="main">
16+
<%%= render 'layouts/messages' %>
17+
<%%= yield %>
18+
</main>
19+
</body>
20+
</html>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
!!!
2+
%html
3+
%head
4+
%meta{:name => "viewport", :content => "width=device-width, initial-scale=1.0"}
5+
%title= content_for?(:title) ? yield(:title) : '<%= app_name.underscore.titleize %>'
6+
%meta{:name => "description", :content => "#{content_for?(:description) ? yield(:description) : '<%= app_name.underscore.titleize %>'}"}
7+
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
8+
= javascript_include_tag 'application', 'data-turbolinks-track' => true
9+
= csrf_meta_tags
10+
%body
11+
%header
12+
= render 'layouts/navigation'
13+
%main{:role => "main"}
14+
= render 'layouts/messages'
15+
= yield
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
doctype html
2+
html
3+
head
4+
meta[name="viewport" content="width=device-width, initial-scale=1.0"]
5+
title
6+
= content_for?(:title) ? yield(:title) : '<%= app_name.underscore.titleize %>'
7+
meta name="description" content="#{content_for?(:description) ? yield(:description) : '<%= app_name.underscore.titleize %>'}"
8+
== stylesheet_link_tag "application", :media => 'all', 'data-turbolinks-track' => true
9+
== javascript_include_tag 'application', 'data-turbolinks-track' => true
10+
== csrf_meta_tags
11+
body
12+
header
13+
== render 'layouts/navigation'
14+
main[role="main"]
15+
== render 'layouts/messages'
16+
== yield
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
// Styles for form views
3+
// using Bootstrap
4+
// generated by the rails_layout gem
5+
.authform {
6+
padding-top: 30px;
7+
max-width: 320px;
8+
margin: 0 auto;
9+
}
10+
.authform form {
11+
@extend .well;
12+
@extend .well-lg;
13+
padding-bottom: 40px;
14+
}
15+
.authform .right {
16+
float: right !important;
17+
}
18+
.authform .button {
19+
@extend .btn;
20+
@extend .btn-primary;
21+
}
22+
.authform fieldset {
23+
@extend .well;
24+
}
25+
#error_explanation:not(:empty) {
26+
@extend .alert;
27+
@extend .alert-danger;
28+
}
29+
#error_explanation h2 {
30+
font-size: 16px;
31+
}
32+
.button-xs {
33+
@extend .btn;
34+
@extend .btn-primary;
35+
@extend .btn-xs;
36+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<%# Rails flash messages styled for Bootstrap 4.0 %>
2+
<% flash.each do |name, msg| %>
3+
<% if msg.is_a?(String) %>
4+
<div class="alert alert-<%= name.to_s == 'notice' ? 'success' : 'danger' %>" role="alert">
5+
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
6+
<%= content_tag :div, msg, :id => "flash_#{name}" %>
7+
</div>
8+
<% end %>
9+
<% end %>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-# Rails flash messages styled for Bootstrap 4.0
2+
- flash.each do |name, msg|
3+
- if msg.is_a?(String)
4+
%div{:class => "alert alert-#{name.to_s == 'notice' ? 'success' : 'danger'}", :role => "alert"}
5+
%button.close{"aria-hidden" => "true", "data-dismiss" => "alert", :type => "button"} &times;
6+
= content_tag :div, msg, :id => "flash_#{name}"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/ Rails flash messages styled for Bootstrap 4.0
2+
- flash.each do |name, msg|
3+
- if msg.is_a?(String)
4+
div class="alert alert-#{name.to_s == 'notice' ? 'success' : 'danger'}"
5+
button.close[type="button" data-dismiss="alert" aria-hidden="true"] ×
6+
= content_tag :div, msg, :id => "flash_#{name}"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<%# navigation styled for Bootstrap 4.0 %>
2+
<div class="container">
3+
<nav class="navbar navbar-dark bg-inverse">
4+
<ul class="nav navbar-nav clearfix">
5+
<li class="nav-item">
6+
<button class="navbar-toggler hidden-sm-up nav-link" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar2" aria-controls="exCollapsingNavbar2" aria-expanded="false" aria-label="Toggle navigation">
7+
&#9776;
8+
</button>
9+
</li>
10+
</ul>
11+
<div class="collapse navbar-toggleable-xs" id="exCollapsingNavbar2">
12+
<%= link_to "Rails bootstrap", root_path, class: 'navbar-brand' %>
13+
<ul class="nav navbar-nav">
14+
<%= render 'layouts/navigation_links' %>
15+
</ul>
16+
</div>
17+
</nav>
18+
</div>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-# navigation styled for Bootstrap 3.0
2+
.container
3+
%nav.navbar.navbar-dark.bg-inverse
4+
%ul.nav.navbar-nav.clearfix
5+
%li.nav-item
6+
%button.navbar-toggler.hidden-sm-up.nav-link{"aria-controls" => "exCollapsingNavbar2", "aria-expanded" => "false", "aria-label" => "Toggle navigation", "data-target" => "#exCollapsingNavbar2", "data-toggle" => "collapse", :type => "button"}
7+
\ &#9776;
8+
#exCollapsingNavbar2.collapse.navbar-toggleable-xs
9+
= link_to "Rails bootstrap", root_path, class: 'navbar-brand'
10+
%ul.nav.navbar-nav= render 'layouts/navigation_links'

0 commit comments

Comments
 (0)