<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,7 +24,7 @@ h2. Installation: Get it at GitHub
 
 You can install this as a plugin. Navigation to your project root and type:
 
-&lt;pre&gt;&lt;code&gt;git clone git://github.com/rpheath/navigation_helper.git vendor/plugins/navigation_helper&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;script/plugin install git://github.com/rpheath/navigation_helper.git&lt;/code&gt;&lt;/pre&gt;
 
 h2. Assumptions (er, Conventions)
 
@@ -32,12 +32,11 @@ h3. Use Symbols for Sections
 
 You cannot pass strings to the @navigation@ helper and expect it to work properly. Meaning:
 
-&lt;pre&gt;&lt;code&gt;
-  # incorrect
-  navigation ['home','about','contact_me']
+&lt;pre&gt;&lt;code&gt;# incorrect
+&lt;%= navigation ['home','about','contact_me'] %&gt;
 
-  # correct
-  navigation [:home, :about, :contact_me]
+# correct
+&lt;%= navigation [:home, :about, :contact_me] %&gt;
 &lt;/code&gt;&lt;/pre&gt;
 
 This is because of the subtitles. The plugin understands strings and symbols differently, so just make
@@ -47,31 +46,39 @@ h3. Subtitles Must Follow Respective Section
 
 If you choose to use subtitles, just make sure you keep them &quot;grouped&quot; together in their respective pairs.
 
-&lt;pre&gt;&lt;code&gt;
-  navigation([
-    :home,    'Start Here',
-    :about,   'Learn More',
-    :contact, 'Get In Touch'
-  ])
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation([
+  :home,    'Start Here',
+  :about,   'Learn More',
+  :contact, 'Get In Touch'
+]) %&gt;
 &lt;/code&gt;&lt;/pre&gt;
 
 h3. Named Routes matching Sections
 
-One thing to make note of is each symbolized link you pass to the navigation helper, it is expected that a matched named route exist. For instance:
+One thing to make note of is each symbolized link you pass to the navigation helper, it is expected that a matched named route exist 
+(unless you're using custom routes - see below). For instance:
 
-&lt;pre&gt;&lt;code&gt;
-  # calling this
-  navigation [:home, :about, :contact_me]
+&lt;pre&gt;&lt;code&gt;# calling this
+&lt;%= navigation [:home, :about, :contact_me] %&gt;
 
-  # would expect these named routes to exist
-  home_path
-  about_path
-  contact_me_path
+# would expect these named routes to exist
+home_path
+about_path
+contact_me_path
 &lt;/code&gt;&lt;/pre&gt;
 
 And by default, an &quot;underscored&quot; link will result in capitalized words. So @:contact_me@ would
 result in 'Contact Me' link text. If you wish to have all lowercase or all uppercase, just use css to do that.
 
+h3. Custom Routes
+
+If you need to deviate from the RESTful routes and break from consistency, you can. To set a custom route for one of your tabs, just pass a
+key/value pair in place of the section, like so:
+
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [{:home =&gt; some_custom_path}, :about, :contact] %&gt;&lt;/code&gt;&lt;/pre&gt;
+
+Now your 'Home' tab will go to some_custom_path instead of home_path.
+
 The examples below provide some help on how to use this plugin.
 
 h2. Example Usage
@@ -82,25 +89,37 @@ h3. Example 1
 
 The most basic usage...
 
-&lt;pre&gt;&lt;code&gt;navigation [:home, :about, :contact]&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, :about, :contact] %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 ...which will render...
 
-&lt;pre&gt;&lt;code&gt;
-  &lt;ul class=&quot;nav_bar&quot;&gt;
-    &lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;/home&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
-    &lt;li&gt;&lt;a href=&quot;/contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
-  &lt;/ul&gt;
+&lt;pre&gt;&lt;code&gt;&lt;ul class=&quot;navigation&quot;&gt;
+  &lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;/home&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;/contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
 &lt;/code&gt;&lt;/pre&gt;
 
 The above example assumes that the user is actually on the home page (hence the &quot;current&quot; css class on the Home list item).
 
+h3. Example 1a (custom routes)
+
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [{:home =&gt; some_custom_path}, :about, :contact] %&gt;&lt;/code&gt;&lt;/pre&gt;
+
+...which will render...
+
+&lt;pre&gt;&lt;code&gt;&lt;ul class=&quot;navigation&quot;&gt;
+  &lt;li class=&quot;current&quot;&gt;&lt;a href=&quot;/some/custom/path&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;/contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/code&gt;&lt;/pre&gt;
+
 h3. Example 2
 
 Sometimes you need tabs to show up only based on some condition (such as a user being logged in). Picture a blog application. A Blog may have public tabs (such as Home, About, etc), but a logged in admin may want another tab to easily get to the admin interface. You can specify this behavior in the navigation helper by passing an array of links to the @:authorize@ option...
 
-&lt;pre&gt;&lt;/code&gt;navigation [:home, :about, :contact, :admin], :authorize =&gt; [:admin]&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;/code&gt;&lt;%= navigation [:home, :about, :contact, :admin], :authorize =&gt; [:admin] %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 Now, based on that setup, the &quot;Admin&quot; tab will require authorization before showing up.
 
@@ -111,13 +130,13 @@ h3. Example 3
 By default, this plugin will check against a @logged_in?@ method to ensure an authorized user. However, if you already have a custom method you're using to limit access and don't want to call it
 @logged_in?@ (or maybe you need to check against a certain role), you can specify that by passing the method to use using the @:with@ option:
 
-&lt;pre&gt;&lt;code&gt;navigation [:home, :about, :contact, :admin], :authorize =&gt; [:admin], :with =&gt; :authorize_first&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, :about, :contact, :admin], :authorize =&gt; [:admin], :with =&gt; :authorize_first %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 Now the plugin will check against an @authorize_first@ method instead of @logged_in?@.
 
 Just for completeness, you can specify multiple links to be &quot;authorized&quot;.
 
-&lt;pre&gt;&lt;code&gt;navigation [:home, :about, :users, :reports], :authorize =&gt; [:users, :reports]&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, :about, :users, :reports], :authorize =&gt; [:users, :reports] %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 Also worth noting, each &quot;authorized link&quot; will have a default css class. A lot of the time, I want my &quot;authorized&quot; tabs to be positioned to the right of the screen, while my regular tabs are to the left, which is why I've added the css class. Also, this css class can be overriden using the @:authorized_css@ option (defaults to 'authorized_nav_link').
 
@@ -125,7 +144,7 @@ h3. Example 4
 
 Now, let's say you want to use the navigation helper for an entire section of admin links, maybe to show up in an admin sidebar or something. Well, we don't want to have to repeat all of those links in the @:authorize@ option, so you can pass a single value of @:all@ to show/hide the entire menu based on an authorized method:
 
-&lt;pre&gt;&lt;code&gt;navigation [:dashboard, :users, :reports], :authorize =&gt; [:all]&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:dashboard, :users, :reports], :authorize =&gt; [:all] %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 Again, by default that will look for a @logged_in?@ method, but you can override
 that by passing your own (as shown above) using the @:with@ option. The navigation 
@@ -135,36 +154,34 @@ h3. Example 5
 
 Just a quick example of how to add custom css for authorized links:
 
-&lt;pre&gt;&lt;code&gt;navigation [:about, :admin], :authorize =&gt; [:admin], :authorized_css =&gt; 'admin'&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:about, :admin], :authorize =&gt; [:admin], :authorized_css =&gt; 'admin' %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 This would render (assuming admin tab is the current)...
 
-&lt;pre&gt;&lt;code&gt;
-  &lt;ul class=&quot;nav_bar&quot;&gt;
-    &lt;li&gt;&lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
-    &lt;li class=&quot;current admin&quot;&gt;&lt;a href=&quot;/admin&quot;&gt;Admin&lt;/a&gt;&lt;/li&gt;
-  &lt;/ul&gt;
+&lt;pre&gt;&lt;code&gt;&lt;ul class=&quot;navigation&quot;&gt;
+  &lt;li&gt;&lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
+  &lt;li class=&quot;current admin&quot;&gt;&lt;a href=&quot;/admin&quot;&gt;Admin&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
 &lt;/code&gt;&lt;/pre&gt;
 
 h3. Example 6
 
 Now, sometimes I want to place a subtitle under my links. Maybe a brief description or something. This plugin also supports that by passing the link followed by its subtitle, like so:
 
-&lt;pre&gt;&lt;code&gt;navigation [:home, 'Start Here', :about, 'Learn More']&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, 'Start Here', :about, 'Learn More'] %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 This would render:
 
-&lt;pre&gt;&lt;code&gt;
-  &lt;ul class=&quot;nav_bar&quot;&gt;
-    &lt;li class=&quot;current&quot;&gt;
-      &lt;a href=&quot;/home&quot;&gt;Home&lt;/a&gt;
-      &lt;span&gt;Start Here&lt;/span&gt;
-    &lt;/li&gt;
-    &lt;li&gt;
-      &lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;
-      &lt;span&gt;Learn More&lt;/span&gt;
-    &lt;/li&gt;
-  &lt;/ul&gt;
+&lt;pre&gt;&lt;code&gt;&lt;ul class=&quot;navigation&quot;&gt;
+  &lt;li class=&quot;current&quot;&gt;
+    &lt;a href=&quot;/home&quot;&gt;Home&lt;/a&gt;
+    &lt;span&gt;Start Here&lt;/span&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href=&quot;/about&quot;&gt;About&lt;/a&gt;
+    &lt;span&gt;Learn More&lt;/span&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
 &lt;/code&gt;&lt;/pre&gt;
 
 The css is up to you, but the markup is definitely flexible enough for some nice handywork.
@@ -173,19 +190,18 @@ h3. Example 7
 
 Maybe you want your subtitles to be a little less obtrusive and not actually show up as markup. By setting the @:hover_text@ option to @true@, the subtitles will then become hover text on the links instead. Redoing the above example with hover text, we get:
 
-&lt;pre&gt;&lt;code&gt;navigation [:home, 'Start Here', :about, 'Learn More'], :hover_text =&gt; true&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, 'Start Here', :about, 'Learn More'], :hover_text =&gt; true %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 Notice the @:hover_text =&gt; true@ option. This would render...
 
-&lt;pre&gt;&lt;code&gt;
-  &lt;ul class=&quot;nav_bar&quot;&gt;
-    &lt;li class=&quot;current&quot;&gt;
-      &lt;a href=&quot;/home&quot; title=&quot;Start Here&quot;&gt;Home&lt;/a&gt;
-    &lt;/li&gt;
-    &lt;li&gt;
-      &lt;a href=&quot;/about&quot; title=&quot;Learn More&quot;&gt;About&lt;/a&gt;
-    &lt;/li&gt;
-  &lt;/ul&gt;
+&lt;pre&gt;&lt;code&gt;&lt;ul class=&quot;navigation&quot;&gt;
+  &lt;li class=&quot;current&quot;&gt;
+    &lt;a href=&quot;/home&quot; title=&quot;Start Here&quot;&gt;Home&lt;/a&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;a href=&quot;/about&quot; title=&quot;Learn More&quot;&gt;About&lt;/a&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
 &lt;/code&gt;&lt;/pre&gt;
 
 The span's get replaced with link title's instead.	
@@ -197,26 +213,26 @@ By default this plugin will use the name of the current controller to determine
 Let's say you have the following controllers:
 
 &lt;pre&gt;&lt;code&gt;
-  def PublicController &lt; ApplicationController
-  end
-	
-  def AboutController &lt; ApplicationController
-  end
-	
-  def ContactController &lt; ApplicationController
-  end
+def PublicController &lt; ApplicationController
+end
+
+def AboutController &lt; ApplicationController
+end
+
+def ContactController &lt; ApplicationController
+end
 &lt;/code&gt;&lt;/pre&gt;
 
 And you wanted your navigation links to be setup like so:
 
-&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, :about, :contact] -%&gt;&lt;/code&gt;&lt;/pre&gt;
+&lt;pre&gt;&lt;code&gt;&lt;%= navigation [:home, :about, :contact] %&gt;&lt;/code&gt;&lt;/pre&gt;
 
 According to how the @navigation@ helper works, you would have to replace @:home@ with @:public@. But that would be confusing. This is where the current_tab method comes into play. Just do this to associate a controller with a tab:
 
 &lt;pre&gt;&lt;code&gt;
-  def PublicController &lt; ApplicationController
-    current_tab :home
-  end
+def PublicController &lt; ApplicationController
+  current_tab :home
+end
 &lt;/code&gt;&lt;/pre&gt;
 
 And you're set. Now whenever you're on any action within the PublicController, the navigation helper</diff>
      <filename>README.textile</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>20768054cbbe5738dc9f3ee3024b5397ac32a9fc</id>
    </parent>
  </parents>
  <author>
    <name>rpheath</name>
    <email>rpheath@gmail.com</email>
  </author>
  <url>http://github.com/rpheath/navigation_helper/commit/f2e76fbf9eb032579634f6d4158d03f6e167f3c0</url>
  <id>f2e76fbf9eb032579634f6d4158d03f6e167f3c0</id>
  <committed-date>2008-12-03T08:45:34-08:00</committed-date>
  <authored-date>2008-12-03T08:45:34-08:00</authored-date>
  <message>updated readme</message>
  <tree>14e1a16ea9b094a7c5edbf7156ed99edfa594ea8</tree>
  <committer>
    <name>rpheath</name>
    <email>rpheath@gmail.com</email>
  </committer>
</commit>
