<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -56,14 +56,10 @@ function Blog(app) {
     + '&lt;/li&gt;';
   };
   
-  this.makeTwitterLinks = function(text) {
-    return text.replace(/ @([^ .,]+)/g, ' &lt;a href=&quot;http://twitter.com/$1&quot;&gt;@$1&lt;/a&gt;');
-  };
-  
   this.formatBody = function(body, format) {
     if (format == 'markdown') {
       var converter = new Showdown.converter();
-      return this.makeTwitterLinks(converter.makeHtml(body));
+      return converter.makeHtml(body);
     } else if (format == 'textile') {
       return superTextile(body);
     } else {</diff>
      <filename>_attachments/blog.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 body {
-  font: 1.2em &quot;Minion Pro&quot;, Georgia, serif;
+  font: 1.2em &quot;Hoefler Text&quot;, Georgia, serif;
   line-height:1.2em;
   margin:0;
   padding:0;
@@ -7,7 +7,6 @@ body {
 
 a {
   text-decoration:none;
-  color:#06266F;
 }
 
 h1 {
@@ -24,6 +23,7 @@ h2 {
 }
 
 #header a {
+  color:#fff;
 }
 
 #header #login, #header #edit {
@@ -40,9 +40,10 @@ h4 {
 }
 
 #header {
-  background:#FFB273;
+  background:#9a9;
   padding:8px;
-  color:#333;
+  text-shadow: 0 0 4px #000;
+  color:#fff;
 }
 
 #content {
@@ -54,23 +55,13 @@ h4 {
   margin-left:240px;
 }
 
-#left {
-    float:left;
-}
 #tags-front {
+    float:left;
     width:220px;
     margin:2ex 1em;
     color:#999;
 }
 
-#hello {
-    width:220px;
-    margin:2ex 1em;
-    color:#999;
-}
-
-
-
 label {
   display:block;
   clear:left;</diff>
      <filename>_attachments/screen.css</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 {
-   &quot;title&quot;: &quot;plok light&quot;
+   &quot;title&quot;: &quot;Daytime Running Lights&quot;
 }
\ No newline at end of file</diff>
      <filename>blog.json</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,6 @@
 &lt;html&gt;
   &lt;head&gt;
     &lt;title&gt;&lt;%= title %&gt;&lt;/title&gt;
-		&lt;meta http-equiv=&quot;Content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
     &lt;link rel=&quot;stylesheet&quot; href=&quot;../../screen.css&quot; type=&quot;text/css&quot;/&gt;
     &lt;link rel=&quot;alternate&quot; type=&quot;application/atom+xml&quot; 
       title=&quot;Atom Feed&quot; href=&quot;&lt;%= feedPath %&gt;&quot;/&gt;
@@ -12,10 +11,7 @@
       &lt;a id=&quot;edit&quot; href=&quot;../../_show/edit&quot;&gt;Create new post&lt;/a&gt;
       &lt;h2&gt;&lt;a href=&quot;&lt;%= index %&gt;&quot;&gt;&lt;%= title %&gt;&lt;/a&gt;&lt;/h2&gt;
     &lt;/div&gt;
-    &lt;div id=&quot;left&quot;&gt;
-      &lt;div id=&quot;hello&quot;&gt;Hi, this is &lt;a href=&quot;http://jan.prima.de/&quot;&gt;Jan&#8217;s&lt;/a&gt; Tumble blog.&lt;/div&gt;
-      &lt;div id=&quot;tags-front&quot;&gt;&lt;/div&gt;
-    &lt;/div&gt;
+    &lt;div id=&quot;tags-front&quot;&gt;&lt;/div&gt;
     &lt;div id=&quot;content&quot;&gt;
       &lt;h1&gt;Recently...&lt;/h1&gt;
       &lt;ul id=&quot;posts&quot;&gt;</diff>
      <filename>templates/index/head.html</filename>
    </modified>
    <modified>
      <diff>@@ -24,7 +24,7 @@
         }
         var tags = [];
         for(var idx in json.rows) {
-          var percent = Math.ceil(Math.pow((json.rows[idx].value / total), 0.25) * 100);
+          var percent = Math.ceil(Math.pow((json.rows[idx].value / total), 0.25) * 200);
           tags.push('&lt;span style=&quot;font-size:'+percent+'%;&quot;&gt;' + json.rows[idx].key + '&lt;/span&gt;');
         }
         $(&quot;#tags-front&quot;).append(tags.join(&quot;, &quot;));</diff>
      <filename>templates/index/tail.html</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,26 @@
         &lt;div class=&quot;body&quot;&gt;&lt;%= post %&gt;&lt;/div&gt;
       &lt;/div&gt;
       &lt;div id=&quot;tags&quot;&gt;&lt;/div&gt;
-      &lt;div&gt;&lt;a href=&quot;http://twitter.com/janl&quot;&gt;Please comment via Twitter&lt;/a&gt;&lt;/div&gt;
+      &lt;div id=&quot;comments&quot;&gt;
+      &lt;ul&gt;&lt;/ul&gt;
+      &lt;!-- form to create a comment --&gt;
+      &lt;form id=&quot;new-comment&quot; action=&quot;post.html&quot; method=&quot;post&quot;&gt;
+        &lt;h3&gt;Comment on this post&lt;/h3&gt;
+        &lt;p&gt;&lt;label&gt;Name&lt;/label&gt;
+        &lt;input type=&quot;text&quot; name=&quot;commenter-name&quot; value=&quot;&quot;&gt;&lt;/p&gt;
+        &lt;p&gt;&lt;label&gt;Url &lt;em&gt;(optional)&lt;/em&gt;&lt;/label&gt;
+        &lt;input type=&quot;text&quot; name=&quot;commenter-url&quot; value=&quot;&quot;&gt;&lt;/p&gt;
+        &lt;p&gt;&lt;label&gt;Email &lt;em&gt;(for &lt;a href=&quot;http://gravatar.com&quot;&gt;Gravatar&lt;/a&gt;)&lt;/em&gt;&lt;/label&gt;
+        &lt;input type=&quot;text&quot; name=&quot;commenter-email&quot; value=&quot;&quot;&gt;&lt;/p&gt;
+        &lt;p&gt;&lt;label&gt;Comment &lt;em&gt;(with &lt;a href=&quot;http://warpedvisions.org/projects/markdown-cheat-sheet/&quot;&gt;Markdown&lt;/a&gt;)&lt;/em&gt;&lt;/label&gt;
+        &lt;textarea name=&quot;comment&quot; rows=&quot;8&quot; cols=&quot;40&quot;&gt;&lt;/textarea&gt;&lt;/p&gt;
+        &lt;p&gt;
+          &lt;input type=&quot;button&quot; id=&quot;preview&quot; value=&quot;Preview&quot;&gt;
+          &lt;input type=&quot;submit&quot; value=&quot;Save &amp;rarr;&quot;&gt;
+        &lt;/p&gt;
+      &lt;/form&gt;
+      &lt;div id=&quot;comment-preview&quot;&gt;&lt;/div&gt;
+      &lt;/div&gt;
     &lt;/div&gt;    
   &lt;/body&gt;
   &lt;script src=&quot;/_utils/script/json2.js&quot;&gt;&lt;/script&gt;
@@ -32,6 +51,53 @@
       $('.date').each(function() {
         $(this).text(app.prettyDate(this.innerHTML));
       });
+      
+      function displayComments() {
+        app.design.view(&quot;comments&quot;, {
+          startkey: [docid],
+          endkey: [docid, {}],
+          reduce : false,
+          success: function(json) {
+            var ul = $(&quot;#comments ul&quot;);
+            for (var i=0; i &lt; json.rows.length; i++) {
+              var c = json.rows[i].value;
+              ul.append(B.commentListing(c));
+            }
+            $('#comments').fadeIn(2000);      
+          }
+        });
+      };
+      
+      displayComments();
+      
+      var commentForm = app.docForm(&quot;form#new-comment&quot;, {
+        fields : [
+          &quot;commenter-name&quot;, 
+          &quot;commenter-email&quot;, 
+          &quot;commenter-url&quot;, 
+          &quot;comment&quot;
+        ],
+        template : {
+          type : &quot;comment&quot;,
+          post_id : docid,
+          format : &quot;markdown&quot;
+        },
+        beforeSave : function(doc) {
+          doc.html = B.formatBody(doc.comment, doc.format);
+          doc.created_at = new Date();
+        },
+        success : function(resp, doc) {
+          $(&quot;#new-comment&quot;).html('&lt;h2&gt;Success! Your comment has posted.&lt;/h2&gt;');
+          $(&quot;#comments ul&quot;).append(B.commentListing(doc));
+          $(&quot;#comments ul li:last&quot;).hide().fadeIn(2000);
+        }
+      });
+      
+      $(&quot;#preview&quot;).click(function() {
+        var doc = commentForm.localDoc();
+        var html = B.formatBody(doc.comment, doc.format);
+        $('#comment-preview').html(html);
+      });
     });
   &lt;/script&gt;
   &lt;script src=&quot;&lt;%= assets %&gt;/showdown.js&quot;&gt;&lt;/script&gt;</diff>
      <filename>templates/post.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,7 @@
 function(doc) {
   // only posts have slugs, dates, and html
   if (doc.type == &quot;post&quot;) {
-    // strip out tags for the summary
-    var summary = (doc.html.replace(/&lt;(.|\n)*?&gt;/g, '');
-    
-    // we only want a 350 char preview.
-    if(summary.length &gt; 350) {
-      summary = summary.substring(0,350)) + &quot;&#8230;&quot;;
-    }
-    
-    // link twitter names
-    // todo: make/use a library function
-    summary = summary.replace(/ @([^ .,]+)/g, ' &lt;a href=&quot;http://twitter.com/$1&quot;&gt;@$1&lt;/a&gt;');
+    var summary = (doc.html.replace(/&lt;(.|\n)*?&gt;/g, '').substring(0,350) + '...');
     emit(doc.created_at, {
       html : doc.html,
       summary : summary,</diff>
      <filename>views/recent-posts/map.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>511548c448544089e2a37f641b90017eea9497a3</id>
    </parent>
  </parents>
  <author>
    <name>Chris Anderson</name>
    <email>jchris@grabb.it</email>
  </author>
  <url>http://github.com/jchris/sofa/commit/73d92e0745ac9a2f1907d1a3954c976c1f11f70e</url>
  <id>73d92e0745ac9a2f1907d1a3954c976c1f11f70e</id>
  <committed-date>2009-06-07T12:18:32-07:00</committed-date>
  <authored-date>2009-06-07T12:18:32-07:00</authored-date>
  <message>Revert &quot;Merge commit '6c1b64a4214eb3088ce75ce6053a6c9eeeade31f'&quot;

This reverts commit 511548c448544089e2a37f641b90017eea9497a3.</message>
  <tree>f6f03b889230131038031eb822393da132cc0c19</tree>
  <committer>
    <name>Chris Anderson</name>
    <email>jchris@grabb.it</email>
  </committer>
</commit>
