<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/assets_controller.rb</filename>
    </added>
    <added>
      <filename>app/helpers/assets_helper.rb</filename>
    </added>
    <added>
      <filename>app/models/asset.rb</filename>
    </added>
    <added>
      <filename>app/views/assets/_asset.html.erb</filename>
    </added>
    <added>
      <filename>app/views/assets/_form.html.erb</filename>
    </added>
    <added>
      <filename>app/views/assets/_list.html.erb</filename>
    </added>
    <added>
      <filename>db/migrate/20080929112620_create_assets.rb</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_01.png</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_02.png</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_04.png</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_05.png</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_07.png</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_08.png</filename>
    </added>
    <added>
      <filename>design/kakuteru-dot-com-2_09.png</filename>
    </added>
    <added>
      <filename>design/kakuteru.png</filename>
    </added>
    <added>
      <filename>design/shaken_not_stirred.png</filename>
    </added>
    <added>
      <filename>public/images/spinner.gif</filename>
    </added>
    <added>
      <filename>test/fixtures/assets.yml</filename>
    </added>
    <added>
      <filename>test/functional/assets_controller_test.rb</filename>
    </added>
    <added>
      <filename>test/unit/asset_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/MIT-LICENSE</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/Rakefile</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/lib/parent_selector_assertion.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/lib/responds_to_parent.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/test/assert_select_parent_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/responds_to_parent/test/responds_to_parent_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -40,16 +40,16 @@ module ApplicationHelper
     end
   end
   
-  def markup(post)
+  def markup(post, field = :body)
     case post.type
       when 'article'
         case post.markup
           when 'textile'
-            FilteredColumn::Processor.new('textile_filter', post.body).filter
+            FilteredColumn::Processor.new('textile_filter', post.send(field)).filter
           when 'markdown'
-            FilteredColumn::Processor.new('markdown_filter', post.body).filter
+            FilteredColumn::Processor.new('markdown_filter', post.send(field)).filter
           else
-            post.body
+            post.send(field)
         end
       when 'message'
         markup_nanoformats(post)</diff>
      <filename>app/helpers/application_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@
       &lt;p&gt;&lt;label for=&quot;friendfeed_url&quot; title=&quot;Core backend of the lifestream feed must be in XML, eg: http://friendfeed.com/api/feed/user/dominiek?format=xml&quot;&gt;Friendfeed URL: &lt;/label&gt;&lt;%= text_field(:stream, :friendfeed_url) %&gt;&lt;/p&gt;
       &lt;p&gt;&lt;label for=&quot;addthis_username&quot; title=&quot;If set, will be used for voting mechanism next to digg and twitter.&quot;&gt;Addthis.com user: &lt;/label&gt;&lt;%= text_field(:stream, :addthis_username) %&gt;&lt;/p&gt;
       &lt;p&gt;&lt;label for=&quot;disqus_forum_identifier&quot; title=&quot;If set, will be used to provide commenting by Disqus.com&quot;&gt;Disqus forum identifier: &lt;/label&gt;&lt;%= text_field(:stream, :disqus_forum_identifier) %&gt;&lt;/p&gt;
-      &lt;p&gt;&lt;label for=&quot;feedburner_feed_url&quot; title=&quot;Make sure to set /articles.rss as your FeedBurner source!&quot;&gt;Feedburner Feed URL: &lt;/label&gt;&lt;%= text_field(:stream, :feedburner_feed_url) %&gt;&lt;/p&gt;
+      &lt;p&gt;&lt;label for=&quot;feedburner_feed_url&quot; title=&quot;Make sure to set /articles.atom as your FeedBurner source!&quot;&gt;Feedburner Feed URL: &lt;/label&gt;&lt;%= text_field(:stream, :feedburner_feed_url) %&gt;&lt;/p&gt;
     &lt;/div&gt;
     &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
     &lt;h2&gt;Stream filter&lt;/h2&gt;</diff>
      <filename>app/views/dashboard/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,14 @@
 
-&lt;% unless @stream.password %&gt;
-  &lt;h1&gt;Set a password&lt;/h1&gt;
-&lt;% else %&gt;
-  &lt;h1&gt;Open Sesame&lt;/h1&gt;
-&lt;% end %&gt;
+&lt;div class=&quot;login&quot;&gt;
+  &lt;% unless @stream.password %&gt;
+    &lt;h2&gt;Set a password&lt;/h2&gt;
+  &lt;% else %&gt;
+    &lt;h2&gt;Open Sesame&lt;/h2&gt;
+  &lt;% end %&gt;
 
-&lt;% form_tag do %&gt;
-  &lt;%= error_message_on(@stream, :password) %&gt;
-  &lt;%= password_field_tag(:password) %&gt;
-  &lt;%= submit_tag('Remember me!') %&gt;
-&lt;% end %&gt;
\ No newline at end of file
+  &lt;% form_tag do %&gt;
+    &lt;%= error_message_on(@stream, :password) %&gt;
+    &lt;%= password_field_tag(:password) %&gt;
+    &lt;%= submit_tag('Remember me!') %&gt;
+  &lt;% end %&gt;
+&lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/dashboard/login.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,12 @@
 &lt;html&gt;
   &lt;head profile=&quot;http://gmpg.org/xfn/11 http://www.w3.org/2006/03/hcard http://microformats.org/wiki/hcalendar-profile&quot;&gt;
     &lt;title&gt;&lt;%= @stream.title %&gt; - &lt;%= @stream.subtitle %&gt;&lt;/title&gt;
-    &lt;%= auto_discovery_link_tag(:rss, articles_feed_url(:format =&gt; 'rss'), :title =&gt; 'Articles RSS') %&gt;
-    &lt;%= auto_discovery_link_tag(:atom, articles_feed_url(:format =&gt; 'atom'), :title =&gt; 'Articles Atom') %&gt;
+    &lt;% if @stream.feedburner_feed_url.blank? %&gt;
+      &lt;%= auto_discovery_link_tag(:rss, articles_feed_url(:format =&gt; 'rss'), :title =&gt; 'Articles RSS') %&gt;
+      &lt;%= auto_discovery_link_tag(:atom, articles_feed_url(:format =&gt; 'atom'), :title =&gt; 'Articles Atom') %&gt;
+    &lt;% else %&gt;
+      &lt;%= auto_discovery_link_tag(:atom, @stream.feedburner_feed_url, :title =&gt; 'Articles Atom') %&gt;
+    &lt;% end %&gt;
     &lt;%= auto_discovery_link_tag(:rss, stream_feed_url(:format =&gt; 'rss'), :title =&gt; 'Lifestream RSS') %&gt;
     &lt;%= auto_discovery_link_tag(:atom, stream_feed_url(:format =&gt; 'atom'), :title =&gt; 'Lifestream Atom') %&gt;
     &lt;%= stylesheet_link_tag('html') %&gt;</diff>
      <filename>app/views/layouts/application.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
   &lt;div class=&quot;articles summary&quot;&gt;
     &lt;div class=&quot;latest_article&quot;&gt;
       &lt;h2&gt;&lt;%= link_to(articles.first.caption, read_url(:id =&gt; articles.first), :class =&gt; 'article') %&gt;&lt;/h2&gt;
-      &lt;%= articles.first.summary.blank? ? truncate_html(markup(articles.first).to_s, 244, '') : articles.first.summary %&gt;
+      &lt;%= articles.first.summary.blank? ? truncate_html(markup(articles.first).to_s, 244, '') : markup(articles.first, :summary) %&gt;
       &lt;%= link_to('read full article', read_url(:id =&gt; articles.first), :class =&gt; 'read more') %&gt;
     &lt;/div&gt;
     &lt;div class=&quot;previous_articles&quot;&gt;</diff>
      <filename>app/views/posts/_articles.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,18 @@
 &lt;div class=&quot;write&quot;&gt;
   &lt;% form_tag do %&gt;
     &lt;p&gt;&lt;label for=&quot;title&quot;&gt;Title:&lt;/label&gt; &lt;%= text_field(:post, :caption) %&gt;&lt;/p&gt;
-    &lt;p&gt;&lt;%= text_area(:post, :body) %&gt;&lt;/p&gt;
+    &lt;p&gt;&lt;%= text_area(:post, :body, :class =&gt; 'body') %&gt;&lt;/p&gt;
+    &lt;% unless @post.new_record? %&gt;
+      &lt;p&gt;&lt;label for=&quot;summary&quot;&gt;Summary (optional):&lt;/label&gt;&lt;/p&gt;
+      &lt;p&gt;&lt;%= text_area(:post, :summary, :class =&gt; 'summary') %&gt;&lt;/p&gt;
+    &lt;% end %&gt;
     &lt;p&gt;&lt;label for=&quot;tags&quot;&gt;Tags:&lt;/label&gt; &lt;small&gt;Leave empty for auto-tagging&lt;/small&gt; &lt;%= text_field(:post, :tag_list) %&gt;&lt;/p&gt;
     &lt;% unless @post.new_record? %&gt;
-      &lt;p&gt;Draft? &lt;%= check_box(:post, :is_draft) %&gt;&lt;/p&gt;
-      &lt;p&gt;&lt;label for=&quot;summary&quot;&gt;Summary:&lt;/label&gt; &lt;%= text_field(:post, :summary) %&gt;&lt;/p&gt;
+      &lt;p&gt;&lt;%= check_box(:post, :is_draft) %&gt; Draft?&lt;/p&gt;
     &lt;% end %&gt;
-    &lt;p&gt;Enable Tweet, Digg and Addthis? &lt;%= check_box(:post, :is_votable) %&gt;&lt;/p&gt;
+    &lt;p&gt;&lt;%= check_box(:post, :is_votable) %&gt; Enable Tweet, Digg and Addthis?&lt;/p&gt;
     &lt;p&gt;&lt;%= select(:post, :markup, Post::SUPPORTED_MARKUP_FORMATS) %&gt;&lt;/p&gt;
     &lt;%= submit_tag(@post.new_record? ? 'save as draft' : 'save') %&gt;
+    &lt;%= link_to('cancel', manage_articles_url, :rel =&gt; 'directory', :class =&gt; 'cancel') %&gt;
   &lt;% end %&gt;
 &lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/posts/_form.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 &lt;li&gt;
   &lt;span class=&quot;actions&quot;&gt;
-    &lt;%= link_to('edit', edit_post_url(:id =&gt; list_article), :class =&gt; 'edit') %&gt; &#183; 
+    &lt;%= link_to('view on blog', read_url(:id =&gt; list_article), :class =&gt; 'view') %&gt; &#183; 
     &lt;%= link_to('delete', delete_post_url(:id =&gt; list_article), :class =&gt; 'delete', :confirm =&gt; 'Are you sure to delete this article?') %&gt;
   &lt;/span&gt;
-  &lt;%= list_article.caption %&gt;
+  &lt;span class=&quot;caption&quot;&gt;&lt;%= link_to(list_article.caption, edit_post_url(:id =&gt; list_article), :class =&gt; 'edit', :title =&gt; 'Edit!', :alt =&gt; 'Edit!') %&gt;&lt;/span&gt;
 &lt;/li&gt;
\ No newline at end of file</diff>
      <filename>app/views/posts/_list_article.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,13 @@
-&lt;%= link_to('Write Post', new_post_url) %&gt;
+&lt;div class=&quot;articles&quot;&gt;
+  &lt;%= link_to('Write Post', new_post_url) %&gt;
 
-&lt;% unless @stream.drafts.blank? %&gt;
-  &lt;h1&gt;Drafts&lt;/h1&gt;
-  &lt;ul&gt;&lt;%= render(:partial =&gt; 'posts/list_article', :collection =&gt; @stream.drafts) %&gt;&lt;/ul&gt;
-&lt;% end %&gt;
-
-&lt;% unless @stream.articles.blank? %&gt;
-  &lt;h1&gt;Previous Articles&lt;/h1&gt;
-  &lt;ul&gt;&lt;%= render(:partial =&gt; 'posts/list_article', :collection =&gt; @stream.articles) %&gt;&lt;/ul&gt;
-&lt;% end %&gt;
+  &lt;% unless @stream.drafts.blank? %&gt;
+    &lt;h1&gt;Drafts&lt;/h1&gt;
+    &lt;ul&gt;&lt;%= render(:partial =&gt; 'posts/list_article', :collection =&gt; @stream.drafts) %&gt;&lt;/ul&gt;
+  &lt;% end %&gt;
 
+  &lt;% unless @stream.articles.blank? %&gt;
+    &lt;h1&gt;Previous Articles&lt;/h1&gt;
+    &lt;ul&gt;&lt;%= render(:partial =&gt; 'posts/list_article', :collection =&gt; @stream.articles) %&gt;&lt;/ul&gt;
+  &lt;% end %&gt;
+&lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/posts/articles.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,4 @@
+&lt;%= link_to('return to overview', manage_articles_url, :rel =&gt; 'directory', :class =&gt; 'return_to_index') %&gt;
 &lt;h1&gt;Edit article&lt;/h1&gt;
-&lt;%= render(:partial =&gt; 'posts/form')%&gt;
\ No newline at end of file
+&lt;%= render(:partial =&gt; 'posts/form') %&gt;
+&lt;%= render(:partial =&gt; 'assets/list') %&gt;
\ No newline at end of file</diff>
      <filename>app/views/posts/edit.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,3 @@
+&lt;%= link_to('return to overview', manage_articles_url, :rel =&gt; 'directory', :class =&gt; 'return_to_index') %&gt;
 &lt;h1&gt;New draft&lt;/h1&gt;
 &lt;%= render(:partial =&gt; 'posts/form')%&gt;
\ No newline at end of file</diff>
      <filename>app/views/posts/new.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -40,6 +40,7 @@ ActionController::Routing::Routes.draw do |map|
   #map.connect '/archive', :controller =&gt; 'posts', :method =&gt; :archive
   
   map.resources :services
+  map.resources :assets
   
   map.with_options(:controller =&gt; 'posts') do |m|
     m.archive '/archive', :action =&gt; 'archive'</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,21 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 20080916093733) do
+ActiveRecord::Schema.define(:version =&gt; 20080929112620) do
+
+  create_table &quot;assets&quot;, :force =&gt; true do |t|
+    t.integer  &quot;post_id&quot;
+    t.string   &quot;path&quot;
+    t.string   &quot;file_type&quot;
+    t.datetime &quot;created_at&quot;
+    t.datetime &quot;updated_at&quot;
+  end
+
+  create_table &quot;invites&quot;, :force =&gt; true do |t|
+    t.string   &quot;email&quot;
+    t.datetime &quot;created_at&quot;
+    t.datetime &quot;updated_at&quot;
+  end
 
   create_table &quot;links&quot;, :force =&gt; true do |t|
     t.integer  &quot;post_id&quot;
@@ -91,4 +105,12 @@ ActiveRecord::Schema.define(:version =&gt; 20080916093733) do
     t.string &quot;name&quot;
   end
 
+  create_table &quot;trips&quot;, :force =&gt; true do |t|
+    t.string   &quot;destination&quot;
+    t.datetime &quot;travel_starts_at&quot;
+    t.datetime &quot;travel_ends_at&quot;
+    t.datetime &quot;created_at&quot;
+    t.datetime &quot;updated_at&quot;
+  end
+
 end</diff>
      <filename>db/schema.rb</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>design/kakuteru-dot-com-2.psd</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,7 @@
 
+.busy {
+	background: url('/images/spinner.gif') no-repeat left center !important;
+}
 
 .navigation {
 	height: 70px;
@@ -25,6 +28,10 @@ ul,li {
 	list-style-type: none;
 }
 
+a.return_to_index {
+	float: right;
+}
+
 .navigation li {
 	float: left;
 	display: block;
@@ -46,7 +53,6 @@ input[type=submit],
 textarea,
 select {
 	font-size: 20px;
-	border: #333 1px solid;
 	padding: 4px;
 }
 
@@ -55,9 +61,8 @@ textarea {
 	width: 500px;
 }
 
-.write input[type=&quot;text&quot;],
-.write textarea {
-	width: 700px;
+input[type=hidden] {
+	display: none;
 }
 
 form input,
@@ -69,6 +74,12 @@ form select {
 	font-size: 18px;
 }
 
+form p {
+	clear: both;
+}
+
+/* Settings */
+
 .settings form p span {
 	float: left;
 }
@@ -87,9 +98,7 @@ form select {
 	clear: both;
 }
 
-form p {
-	clear: both;
-}
+/* Services */
 
 .services li {
 	border-bottom: 1px dotted #333;
@@ -110,9 +119,115 @@ form p {
 	display: inline;
 }
 
+.articles li {
+	padding: 0.4em;
+}
+
+.stream li:hover,
+.services li:hover,
+.assets li:hover,
+.articles li:hover {
+	background-color: #F7F7F7;
+}
+
+li span.caption {
+	font-size: 18px;
+}
+
 li span.actions {
 	display: block;
+	float: right;
+	margin: 0.2em 0;
+}
+
+.articles a.edit {
+	background: url('/images/icons/24-frame.png') no-repeat left center;
+	padding-left: 30px;
+}
+
+a.edit:hover {
+	background: url('/images/icons/16-em-pencil.png') no-repeat 5px center;
+	padding-left: 30px;
+}
+
+a.delete {
+	background: url('/images/icons/16-em-cross.png') no-repeat left center;
+	padding-left: 20px;
+}
+
+div.login {
+	background-color: #ddd;
+	width: 500px;
+	padding: 1em;
+	margin: 2em auto;
+}
+
+.login h2 {
+	margin: 0.4em 0;
+}
+
+/* Write article */
+
+.write input[type=&quot;text&quot;],
+.write textarea {
+	width: 600px;
+}
+
+.write textarea.summary {
+	height: 10em;
+}
+
+div.write {
+	float: left;
+	margin-right: 1em;
+}
+
+.write form input[type=checkbox] {
+	display: block;
 	float: left;
-	margin: 0 1em 0 0;
-	width: 100px;
+	margin-right: 1em;
+}
+
+.write textarea {
+	margin-bottom: 0.4em;
+	font-size: 14px;
+}
+
+.write label {
+	display: block;
+	margin: 0.4em 0;
+}
+
+/* Assets */
+
+.assets {
+	margin-top: 100px;
+	background-color: #ddd;
+	padding: 1em;
+	-moz-border-radius: 10px;
+	margin-left: 640px;
+}
+
+.assets li {
+	background: url('/images/icons/16-file-page.png') no-repeat left center;
+	font-size: 12px;
+	padding: 0.4em 0 0.4em 20px;
+	margin: 0.1em 0;
+	border-top: 1px solid #eee;
+}
+
+
+.assets li:hover {
+	background: url('/images/icons/16-em-plus.png') no-repeat left center;
+	background-color: #eee;
 }
+
+.assets .upload {
+	background: url('/images/icons/24-em-up.png') no-repeat left center;
+	padding-left: 30px;
+	margin: 1em 0;
+}
+
+.assets h2 {
+	margin-bottom: 0.4em;
+}
\ No newline at end of file</diff>
      <filename>public/stylesheets/dashboard.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,10 @@
 * {
   margin: 0;
   padding: 0;
-  border: 0;
+}
+
+img,table,div,td,tr {
+	border: 0;
 }
 
 .clear {</diff>
      <filename>public/stylesheets/html.css</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d82c34119ba59f1c068ce33b52d62c46556adf7b</id>
    </parent>
  </parents>
  <author>
    <name>Dominiek ter Heide</name>
    <email>info@dominiek.com</email>
  </author>
  <url>http://github.com/dominiek/kakuteru/commit/a419a96116f0d258b15b551653fb5083d280d94c</url>
  <id>a419a96116f0d258b15b551653fb5083d280d94c</id>
  <committed-date>2008-10-07T03:16:49-07:00</committed-date>
  <authored-date>2008-10-07T03:16:49-07:00</authored-date>
  <message>Pimped up the articles editing with uploads and everything</message>
  <tree>300f41e5e2763fcc88d3ee27187ae94e94cbe35c</tree>
  <committer>
    <name>Dominiek ter Heide</name>
    <email>info@dominiek.com</email>
  </committer>
</commit>
