Jason Charnes 7 лет назад
Родитель
Сommit
ce968d581a

+ 19 - 2
template.rb

@@ -1,5 +1,8 @@
+current_path = File.expand_path(File.dirname(__FILE__))
+
 # Add Devise to Gemfile
 gem "devise", "~> 4.2.1"
+gem "bootstrap-sass", "~> 3.3.6"
 
 # Install Devise
 rails_command "generate devise:install"
@@ -8,8 +11,8 @@ rails_command "generate devise:install"
 environment "config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }",
             env: 'development'
 route "root to: 'home#index'"
-# TODO: Install notices
-rails_command "generate devise:views"
+# Devise notices are installed via Bootstrap
+rails_command "generate devise:views User"
 
 # Create Devise User
 generate :devise, "User",
@@ -17,6 +20,20 @@ generate :devise, "User",
          "last_name",
          "announcements_last_read_at:datetime"
 
+# Rename Application SCSS
+run "mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss"
+
+# Insert Bootstrap Styling
+insert_into_file(
+  "app/assets/stylesheets/application.scss",
+  "@import 'bootstrap-sprockets';\n@import 'bootstrap'\n",
+  before: "/*"
+)
+
+# Import Templates
+run "cp #{current_path}/views/layouts/application.html.erb app/views/layouts/application.html.erb"
+run "cp -R #{current_path}/views/shared app/views/shared"
+
 # Migrate
 rails_command "db:migrate"
 

BIN
views/.DS_Store


+ 16 - 0
views/layouts/application.html.erb

@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <%= render 'shared/head' %>
+  </head>
+
+  <body>
+    <%= render 'shared/navbar' %>
+    <%= render 'shared/notices' %>
+    <div class="container">
+      <%= yield %>
+    </div>
+    <hr>
+    <%= render 'shared/footer' %>
+  </body>
+</html>

+ 3 - 0
views/shared/_footer.html.erb

@@ -0,0 +1,3 @@
+<div class="container">
+  <p>Footer</p>
+</div>

+ 4 - 0
views/shared/_head.html.erb

@@ -0,0 +1,4 @@
+<title>Hey</title>
+<%= csrf_meta_tags %>
+<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
+<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

+ 31 - 0
views/shared/_navbar.html.erb

@@ -0,0 +1,31 @@
+<nav class="navbar navbar-default">
+  <div class="container-fluid">
+    <!-- Brand and toggle get grouped for better mobile display -->
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="#">Spork</a>
+    </div>
+
+    <!-- Collect the nav links, forms, and other content for toggling -->
+    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+      <ul class="nav navbar-nav navbar-right">
+        <li><a href="#">Link</a></li>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="#">Action</a></li>
+            <li><a href="#">Another action</a></li>
+            <li><a href="#">Something else here</a></li>
+            <li role="separator" class="divider"></li>
+            <li><a href="#">Separated link</a></li>
+          </ul>
+        </li>
+      </ul>
+    </div><!-- /.navbar-collapse -->
+  </div><!-- /.container-fluid -->
+</nav>

+ 6 - 0
views/shared/_notices.html.erb

@@ -0,0 +1,6 @@
+<% if notice %>
+  <p class="notice"><%= notice %></p>
+<% end %>
+<% if alert %>
+  <p class="alert"><%= alert %></p>
+<% end %>