Commit 4a27553c

mo k <mo@mokhan.ca>
2012-05-28 03:40:08
rip apart application layout into separate partials.
1 parent ec7ca40
app/helpers/application_helper.rb
@@ -4,4 +4,11 @@ module ApplicationHelper
       gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
       "http://gravatar.com/avatar/#{gravatar_id}.png?&d=#{CGI.escape(default_url)}"
   end
+  def full_title(title)
+    if( title.blank? )
+      "Welcome to CakeSide, a place for cake enthusiasts to share their proud creations!"
+    else
+      "#{title} - CakeSide"
+    end
+  end
 end
app/views/creations/index.html.erb
@@ -1,7 +1,3 @@
-<% content_for :title do %>
-  Welcome to CakeSide
-<% end %>
-
 <% if !user_signed_in? %>
   <div class="hero-unit">
     <h1>Welcome cake enthusiast!</h1>
@@ -18,17 +14,17 @@
   <div class="marketing">
     <div class="row">
       <div class="span4">
-        <img class="bs-icon" src="/assets/cupcake_share.png">
+        <img class="bs-icon" src="/assets/cupcake_share.png" alt="share your creativity">
         <h2>Share your creativity</h2>
         <p>Show off your originality and find interesting ideas with fellow passionate CakeSide artists.</p>
       </div>
       <div class="span4">
-        <img class="bs-icon" src="/assets/cupcake_promote.png">
+        <img class="bs-icon" src="/assets/cupcake_promote.png" alt="promote yourself">
         <h2>Promote yourself</h2>
         <p>Get recognized for your work and connect with other artists with unique styles. </p>
       </div>
       <div class="span4">
-        <img class="bs-icon" src="/assets/cupcake_inspire.png">
+        <img class="bs-icon" src="/assets/cupcake_inspire.png" alt="inspire a community">
         <h2>Inspire a community</h2>
         <p>Upload creations, teach with tutorials, and create a vibrant community for everything cake.</p>
       </div>
app/views/creations/show.html.erb
@@ -1,6 +1,4 @@
-<% content_for :title do %>
-  <%= @creation.name %> by <%= @creation.user.name %>
-<% end %>
+<% provide(:title, "#{@creation.name} by #{@creation.user.name}") -%>
 
 <div class="page-header">
   <h1>
app/views/layouts/application.html.erb
@@ -3,87 +3,27 @@
   <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
-    <title><%= yield(:title) || "CakeSide" %></title>
-    <title>Welcome to CakeSide, a place for cake enthusiasts to share their proud creations!</title>
-    <meta name="description" content="">
-    <meta name="author" content="">
-    <!--[if lt IE 9]>
-    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
+    <title><%= full_title(yield(:title)) %></title>
     <%= stylesheet_link_tag :application %>
     <style type="text/css">
-      body { 
-        padding-top: 60px; 
-        padding-bottom: 40px; 
-      }
+    body { 
+      padding-top: 60px; 
+      padding-bottom: 40px; 
+    }
     </style>
     <link rel="shortcut icon" href="/assets/favicon.ico">
     <link rel="apple-touch-icon" href="/assets/apple-touch-icon.png">
     <link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png">
     <link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png">
     <%= javascript_include_tag :application %>
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
     <%= yield :head %>
     <%= csrf_meta_tags %>
   </head>
   <body>
-    <div class="navbar navbar-fixed-top">
-      <div class="navbar-inner">
-        <div class="container">
-          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </a>
-          <a class="brand" style="color:hotpink;" href="/">Cake<em>Side</em></a>
-          <div class="nav-collapse">
-            <ul class="nav">
-              <li><a href="/">Home</a></li>
-              <li class="dropdown">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Categories<b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <% Category.all.each do |category| %>
-                    <li><a href="/categories/<%= category.slug %>"><%= category.name %></a></li>
-                  <% end %>
-                </ul>
-              </li>
-              <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Help<b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                  <li><a href="/privacy.html">Privacy Policy</a></li>
-                  <li class="divider"></li>
-                  <li><a href="/terms.html">Terms and Conditions</a></li>
-                </ul>
-              </li>
-            </ul>
-          </div><!--/ .nav-collapse -->
-          <%= form_tag(search_index_path, :method => "get", :name => "search", :class => "navbar-search pull-left") do %>
-            <input name="q" type="text" class="search-query" placeholder="Search" />
-            <%# <input type="submit" value="search" />%>
-          <% end %>
-          <ul class="nav pull-right">
-            <li><%= link_to "Add Creation", new_creation_path, :style => "color:#48ce62;" %></li>
-            <li class="divider-vertical"></li>
-          <% if user_signed_in? %>
-            <li class="dropdown">
-            <a class="dropdown-toggle" data-toggle="dropdown" href="#">
-                <%= current_user.name %>
-                <b class="caret"></b>
-              </a>
-              <ul class="dropdown-menu">
-                <li><%= link_to "My Profile", profiles_mine_path %></li>
-                <li><%= link_to "My Favorites", profiles_favorites_path %></li>
-                <li><%= link_to "My Settings", edit_user_registration_path %></li>
-                <li class="divider"></li>
-                <li> <%= link_to "Sign Out", destroy_user_session_path %> </li>
-              </ul>
-            </li>
-          <% else %>
-            <li> <a href="<%= url_for new_user_session_path %>">Sign In</a> </li>
-          <% end %>
-          </ul>
-        </div>
-      </div><!-- /navbar-inner -->
-    </div><!-- /navbar -->
+    <%= render "shared/header" %>
     <div class="container">
       <div class="content">
         <% if notice %>
@@ -103,50 +43,14 @@
         <%= yield %>
       </div>
     </div> <!-- /container -->
-    <footer>
-    <div class="container">
-      <div class="row">
-        <div class="span4">
-          <h3>CakeSide</h3>
-          <ul class="unstyled">
-            <li> <a href="/">Home</a> </li>
-            <% unless user_signed_in? %>
-              <li> <a href="<%= url_for new_user_session_path %>">Sign-Up</a> </li>
-            <% end %>
-            <li> <a href="/home/about_us">About Us</a> </li>
-            <li> <a href="/home/why_cakeside">Why CakeSide?</a> </li>
-          </ul>
-        </div>
-        <div class="span4">
-          <h3>Contact Us</h3>
-          <ul class="unstyled">
-            <li> <a href="http://cakeside.wufoo.com/forms/z7x3k1/" target="_blank">Send Feedback</a> </li>
-            <li> <a href="http://twitter.com/cakeside">Twitter</a> </li>
-            <li> <a href="https://www.facebook.com/pages/CakeSide/214607468615074">Facebook</a> </li>
-            <li> <a href="/"></a> </li>
-          </ul>
-        </div>
-        <div class="span8"></div>
-      </div>
-    </div>		
-    <div id="footer-floor">		
-      <div class="container">
-        <div class="row">
-          <div class="span12">
-            <p>Copyright &copy; 2012 CakeSide Inc. | <a href="/terms.html"> Terms</a> &amp; <a href="/privacy.html"> Privacy</a> | Contact Us <a href="http://twitter.com/cakeside">@cakeside</a> | <a href="https://www.facebook.com/pages/CakeSide/214607468615074">facebook</a></p>
-          </div>
-          <div class="span4"> </div>
-        </div>
-      </div>
-    </div>	
-    </footer>
-	<%= render "shared/uservoice_feedback"%>
-    <%= render "shared/google_analytics" %>
+    <%= render "shared/footer" %>
+    <%= render "shared/uservoice_feedback"%>
     <!--[if IE]>
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
     <script>
       CFInstall.check({ mode: "overlay" });
     </script>
     <![endif]-->
+    <%= render "shared/google_analytics" %>
   </body>
 </html>
app/views/shared/_creation_image_gallery.html.erb
@@ -1,24 +1,24 @@
-<ul class="thumbnails">
-  <% @creations.each do |creation| %>
-    <li class="span3">
-    <div class="thumbnail">
-      <div class="caption">
-        <h5><a href="<%= url_for creation %>"><%= short_name(creation, 20) %></a></h5>
-        <h6><a href="<%= url_for profile_path(creation.user) %>"><%= creation.user.name %></a></h6>
-        <a href="<%= url_for creation %>">
-          <img src="<%= creation.image.thumb.url %>" alt="<%= creation.name %>" width="260px" height="180px" />
-        </a>
-        <p>
-        <% if creation.favorites.count > 0 %>
-          <a href="<%= url_for creation_favorites_path(:creation_id => creation.id) %>"><%= creation.favorites.count %><i class="icon-heart"></i></a>
-        <% else %>
-          &nbsp;
-        <% end %>
-        </p>
+<div class="row">
+  <ul class="thumbnails">
+    <% @creations.each do |creation| %>
+      <li class="span3">
+      <div class="thumbnail">
+        <div class="caption">
+          <h5><a href="<%= url_for creation %>"><%= short_name(creation, 20) %></a></h5>
+          <h6><a href="<%= url_for profile_path(creation.user) %>"><%= creation.user.name %></a></h6>
+          <a href="<%= url_for creation %>"><img src="<%= creation.image.thumb.url %>" alt="<%= creation.name %>" width="260" height="180" /></a>
+          <p>
+          <% if creation.favorites.count > 0 %>
+            <a href="<%= url_for creation_favorites_path(:creation_id => creation.id) %>"><%= creation.favorites.count %><i class="icon-heart"></i></a>
+          <% else %>
+            &nbsp;
+          <% end %>
+          </p>
+        </div>
       </div>
-    </div>
-    </li>
-  <% end %>
-</ul>
+      </li>
+    <% end %>
+  </ul>
+</div>
 
 <%= render "shared/paging" %>
app/views/shared/_footer.html.erb
@@ -0,0 +1,36 @@
+<footer>
+<div class="container">
+  <div class="row">
+    <div class="span4">
+      <h3>CakeSide</h3>
+      <ul class="unstyled">
+        <li> <a href="/">Home</a> </li>
+        <% unless user_signed_in? %>
+          <li> <a href="<%= url_for new_user_session_path %>">Sign-Up</a> </li>
+        <% end %>
+        <li> <a href="/home/about_us">About Us</a> </li>
+        <li> <a href="/home/why_cakeside">Why CakeSide?</a> </li>
+      </ul>
+    </div>
+    <div class="span4">
+      <h3>Contact Us</h3>
+      <ul class="unstyled">
+        <li> <a href="http://cakeside.wufoo.com/forms/z7x3k1/" target="_blank">Send Feedback</a> </li>
+        <li> <a href="http://twitter.com/cakeside">Twitter</a> </li>
+        <li> <a href="https://www.facebook.com/pages/CakeSide/214607468615074">Facebook</a> </li>
+        <li> <a href="/"></a> </li>
+      </ul>
+    </div>
+    <div class="span8"></div>
+  </div>
+</div>		
+<div id="footer-floor">		
+  <div class="container">
+    <div class="row">
+      <div class="span12">
+        <p>Copyright &copy; 2012 CakeSide Inc. | <a href="/terms.html">Terms</a> &amp; <a href="/privacy.html">Privacy</a> | Contact Us <a href="http://twitter.com/cakeside">@cakeside</a> | <a href="https://www.facebook.com/pages/CakeSide/214607468615074">facebook</a></p>
+      </div>
+    </div>
+  </div>
+</div>	
+</footer>
app/views/shared/_header.html.erb
@@ -0,0 +1,58 @@
+<div class="navbar navbar-fixed-top">
+  <div class="navbar-inner">
+    <div class="container">
+      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </a>
+      <a class="brand" style="color:hotpink;" href="/">Cake<em>Side</em></a>
+      <div class="nav-collapse">
+        <ul class="nav">
+          <li><a href="/">Home</a></li>
+          <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Categories<b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <% Category.all.each do |category| %>
+              <li><a href="/categories/<%= category.slug %>"><%= category.name %></a></li>
+            <% end %>
+          </ul>
+          </li>
+          <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Help<b class="caret"></b></a>
+          <ul class="dropdown-menu">
+            <li><a href="/privacy.html">Privacy Policy</a></li>
+            <li class="divider"></li>
+            <li><a href="/terms.html">Terms and Conditions</a></li>
+          </ul>
+          </li>
+        </ul>
+      </div><!--/ .nav-collapse -->
+      <%= form_tag(search_index_path, :method => "get", :name => "search", :class => "navbar-search pull-left") do %>
+        <input name="q" type="text" class="search-query" placeholder="Search" />
+        <%# <input type="submit" value="search" />%>
+      <% end %>
+      <ul class="nav pull-right">
+        <li><%= link_to "Add Creation", new_creation_path, :style => "color:#48ce62;" %></li>
+        <li class="divider-vertical"></li>
+        <% if user_signed_in? %>
+          <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+            <%= current_user.name %>
+            <b class="caret"></b>
+          </a>
+          <ul class="dropdown-menu">
+            <li><%= link_to "My Profile", profiles_mine_path %></li>
+            <li><%= link_to "My Favorites", profiles_favorites_path %></li>
+            <li><%= link_to "My Settings", edit_user_registration_path %></li>
+            <li class="divider"></li>
+            <li> <%= link_to "Sign Out", destroy_user_session_path %> </li>
+          </ul>
+          </li>
+        <% else %>
+          <li> <a href="<%= url_for new_user_session_path %>">Sign In</a> </li>
+        <% end %>
+      </ul>
+    </div>
+  </div><!-- /navbar-inner -->
+</div><!-- /navbar -->