<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/plugins_controller.rb</filename>
    </added>
    <added>
      <filename>app/views/plugins/index.dryml</filename>
    </added>
    <added>
      <filename>app/views/plugins/show.dryml</filename>
    </added>
    <added>
      <filename>db/migrate/20090512210544_add_library_to_taglibs.rb</filename>
    </added>
    <added>
      <filename>taglibs/hobo-contrib</filename>
    </added>
    <added>
      <filename>taglibs/hobo-jquery</filename>
    </added>
    <added>
      <filename>taglibs/hoboyui</filename>
    </added>
    <added>
      <filename>taglibs/paperclip_with_hobo</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -10,3 +10,12 @@
 [submodule &quot;gitorials/agility&quot;]
 	path = gitorials/agility
 	url = git://github.com/bryanlarsen/agility-gitorial.git
+[submodule &quot;taglibs/hoboyui&quot;]
+	path = taglibs/hoboyui
+	url = git://github.com/tablatom/hoboyui.git
+[submodule &quot;taglibs/hobo-contrib&quot;]
+	path = taglibs/hobo-contrib
+	url = git://github.com/bryanlarsen/hobo-contrib.git
+[submodule &quot;taglibs/hobo-jquery&quot;]
+	path = taglibs/hobo-jquery
+	url = git://github.com/bryanlarsen/hobo-jquery.git</diff>
      <filename>.gitmodules</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,14 @@ class ApiTagDefsController &lt; ApplicationController
 
   hobo_model_controller
 
-  auto_actions :all
+  auto_actions :show, :index
 
+  def show
+    conditions = {:tag =&gt; params[:id]}
+    conditions[:for_type] = params[:for]
+    conditions[:taglib_id] = ApiTaglib.find_by_name(params[:taglib]).id if params[:taglib]    
+    self.this = ApiTagDef.find(:first, :conditions =&gt; conditions)
+    hobo_show
+  end
+  
 end</diff>
      <filename>app/controllers/api_tag_defs_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,11 @@ class ApiTaglibsController &lt; ApplicationController
   
   caches_page :index, :show
 
-  auto_actions :all
+  auto_actions :index, :show
+
+  def index
+    library = params[:library] || &quot;rapid&quot;
+    hobo_index(:conditions =&gt; {:library =&gt; library}, :order =&gt; &quot;name&quot;)
+  end
 
 end</diff>
      <filename>app/controllers/api_taglibs_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,14 +2,6 @@ class ApiTagDef &lt; ActiveRecord::Base
 
   hobo_model # Don't put anything above this
 
-  def self.find(*args)
-    if args.first =~ /[a-zA-Z0-9_-]+/
-      find_by_tag_and_for_type(args.first, nil)
-    else
-      super
-    end
-  end
-  
   def to_param
     to_s
   end</diff>
      <filename>app/models/api_tag_def.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,6 +18,7 @@ class ApiTaglib &lt; ActiveRecord::Base
     name        :string
     short_description :html
     description :html
+    library     :string
     timestamps
   end
 </diff>
      <filename>app/models/api_taglib.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
       &lt;h2&gt;DRYML Taglibs Reference&lt;/h2&gt;
     &lt;/section&gt;
     &lt;section class=&quot;content-body&quot;&gt;
-      &lt;collection with=&quot;&amp;ApiTaglib.all&quot;&gt;
+      &lt;collection&gt;
         &lt;h3&gt;&lt;a&gt;&lt;%= this.name.titleize %&gt;&lt;/a&gt;&lt;/h3&gt;
         &lt;view:short-description/&gt;
         &lt;tags-summary/&gt;</diff>
      <filename>app/views/api_taglibs/index.dryml</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,7 @@
       &lt;h2&gt;&lt;%= this.name.titleize %&gt;&lt;/h2&gt;      
     &lt;/div&gt;
     &lt;div class=&quot;content-body&quot;&gt;
+      &lt;view:short_description/&gt;
       &lt;view:description/&gt;
       &lt;tags-summary/&gt;
     &lt;/div&gt;</diff>
      <filename>app/views/api_taglibs/show.dryml</filename>
    </modified>
    <modified>
      <diff>@@ -83,6 +83,7 @@
 
 &lt;def tag=&quot;main-nav&quot;&gt;
   &lt;navigation class=&quot;main-nav&quot; merge-attrs&gt;
+    &lt;nav-item href=&quot;#{base_url}/plugins&quot;  &gt;Plugins&lt;/nav-item&gt;
     &lt;nav-item href=&quot;#{base_url}/tutorials&quot;&gt;Tutorials&lt;/nav-item&gt;
     &lt;nav-item href=&quot;#{base_url}/manual&quot;   &gt;Manual&lt;/nav-item&gt;
     &lt;nav-item with=&quot;&amp;ApiTaglib&quot;           &gt;Taglibs&lt;/nav-item&gt;</diff>
      <filename>app/views/taglibs/application.dryml</filename>
    </modified>
    <modified>
      <diff>@@ -10,6 +10,9 @@ ActionController::Routing::Routes.draw do |map|
   map.tutorials 'tutorials',           :controller =&gt; 'tutorials', :action =&gt; 'index'
   map.tutorial  'tutorials/:tutorial', :controller =&gt; 'tutorials', :action =&gt; 'show'
 
+  map.plugins 'plugins',           :controller =&gt; 'plugins', :action =&gt; 'index'
+  map.plugin  'plugins/:plugin',   :controller =&gt; 'plugins', :action =&gt; 'show'
+
   Hobo.add_routes(map)
 
 end</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 20090112154358) do
+ActiveRecord::Schema.define(:version =&gt; 20090512210544) do
 
   create_table &quot;answers&quot;, :force =&gt; true do |t|
     t.datetime &quot;created_at&quot;
@@ -53,6 +53,7 @@ ActiveRecord::Schema.define(:version =&gt; 20090112154358) do
     t.datetime &quot;updated_at&quot;
     t.text     &quot;description&quot;
     t.text     &quot;short_description&quot;
+    t.string   &quot;library&quot;
   end
 
   create_table &quot;comments&quot;, :force =&gt; true do |t|</diff>
      <filename>db/schema.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,12 @@
 module ApiDocLoader
   
   TAGLIB_HOME = &quot;#{RAILS_ROOT}/vendor/plugins/hobo/hobo/taglibs&quot;
+  PLUGINS_HOME = &quot;#{RAILS_ROOT}/taglibs&quot;
   
   class Taglib &lt; Hobo::Dryml::DrymlDoc::Taglib
     
-    def load_into_database
-      taglib = ApiTaglib.create :name =&gt; name, :short_description =&gt; comment_intro_html, :description =&gt; comment_rest_html
+    def load_into_database(library)
+      taglib = ApiTaglib.create :name =&gt; name, :short_description =&gt; comment_intro_html, :description =&gt; comment_rest_html, :library =&gt; library
       tag_defs.*.load_into_database(taglib)
     end
     
@@ -40,8 +41,14 @@ module ApiDocLoader
   def self.load
     clear
     taglibs = Hobo::Dryml::DrymlDoc.load_taglibs TAGLIB_HOME, ApiDocLoader::Taglib
-    taglibs.*.load_into_database
-    taglibs
+    taglibs.*.load_into_database(&quot;rapid&quot;)
+
+    Dir[&quot;#{PLUGINS_HOME}/*&quot;].each {|plugin_dir|
+      plugin = File.basename(plugin_dir)
+      Dir[&quot;#{plugin_dir}/taglibs/*.dryml&quot;].map {|filename|
+        ApiDocLoader::Taglib.new(&quot;#{plugin_dir}/taglibs&quot;, filename).load_into_database(plugin)
+      }
+    }
     
     ApiTagDef.destroy_all(&quot;tag not in (#{all_tags.*.inspect.join(', ')})&quot;)
   end
@@ -50,4 +57,4 @@ module ApiDocLoader
     ApiTaglib.delete_all
   end
   
-end
\ No newline at end of file
+end</diff>
      <filename>lib/api_doc_loader.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>60319832aec0991aead578c155c6683c03c66f40</id>
    </parent>
  </parents>
  <author>
    <name>Bryan Larsen</name>
    <email>bryan@larsen.st</email>
  </author>
  <url>http://github.com/tablatom/hobocookbook/commit/4782d9647ba198b46c0b5cb5552f2a766ae7605e</url>
  <id>4782d9647ba198b46c0b5cb5552f2a766ae7605e</id>
  <committed-date>2009-05-12T18:30:07-07:00</committed-date>
  <authored-date>2009-05-12T18:30:07-07:00</authored-date>
  <message>Add third-party plugin documentation into the cookbook.</message>
  <tree>7a6c0dfe542182cea2c2b297db7cac6b9e33502a</tree>
  <committer>
    <name>Bryan Larsen</name>
    <email>bryan@larsen.st</email>
  </committer>
</commit>
