<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>views/preview.haml</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -43,7 +43,16 @@ get '/feed' do
   builder :feed
 end
 
-# search
+post '/suggest' do
+  @preview_contents = Feed.preview_url(params[:url])
+  if @preview_contents.size == 1
+    Feed.create(:feed_url =&gt; @preview_contents[0][1])
+    redirect '/'
+  else
+    haml :preview
+  end
+end
+
 post '/search' do
   @entries = Entry.search(:conditions =&gt; [params[:q].to_s], 
                           :limit =&gt; SiteConfig.per_page)</diff>
      <filename>application.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,7 @@ require 'haml'
 require 'ostruct'
 require 'columbus'
 require 'feedzirra'
+require 'columbus'
 
 require 'sinatra' unless defined?(Sinatra)
 require 'sinatra/authorization'</diff>
      <filename>environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,6 +42,18 @@ class Feed
     @feed.is_a?(Fixnum) ? nil : @feed
   end
 
+  def self.preview_url(feed_or_blog_url, recurse = true)
+    @feed = Feedzirra::Feed.fetch_and_parse(feed_or_blog_url.to_s)
+    if @feed
+      [[@feed.title, feed_or_blog_url, @feed.entries.map { |e| [e.title, e.url] }]]
+    elsif recurse
+      urls = Columbus.new(feed_or_blog_url).all
+      urls.map { |u| preview_url(u.url, false) }.reject { |u| u.empty? }.inject([]) { |a, c| a + c }
+    else
+      []
+    end
+  end
+
   private
 
   # autodiscover news feed from a url</diff>
      <filename>lib/feed.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,10 @@
               %a{:href =&gt; feed.url}= feed.title
         %h2 Subscribe
         %a{:href =&gt; '/feed'} Atom Feed
+        %h2 Suggest a feed
+        %form.suggest-form{:action =&gt; '/suggest', :method =&gt; 'post'}
+          %input{:type =&gt; 'text', :value =&gt; '', :name =&gt; 'url'}/
+          %input{:type =&gt; 'submit', :value =&gt; &quot;suggest &amp;raquo;&quot;}/
       #content= yield
       .clear
       #footer</diff>
      <filename>views/layout.haml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cd6555750fd8f0760b8017b928b50ac347d8f30c</id>
    </parent>
  </parents>
  <author>
    <name>Darcy Laycock</name>
    <email>sutto@sutto.net</email>
  </author>
  <url>http://github.com/zapnap/mogo/commit/b496ffe1ce090e7d9656684f041d52353e974d36</url>
  <id>b496ffe1ce090e7d9656684f041d52353e974d36</id>
  <committed-date>2009-04-02T09:55:15-07:00</committed-date>
  <authored-date>2009-03-30T08:52:11-07:00</authored-date>
  <message>Added in suggest feature via columbus, requires styling</message>
  <tree>01dda69c43842b75b404b14b4c1a482a8cf854a1</tree>
  <committer>
    <name>Darcy Laycock</name>
    <email>sutto@sutto.net</email>
  </committer>
</commit>
