<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,5 @@
 test/dest/
 *.gem
 pkg/
+*.swp
+*~</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -38,6 +38,14 @@ module Jekyll
       
       self.process(name)
       self.read_yaml(@base, name)
+      
+      if self.categories.empty?
+        if self.data.has_key?('category')
+          self.categories &lt;&lt; self.data['category']
+        elsif self.data.has_key?('categories')
+          self.categories = self.data['categories'].split
+        end
+      end
     end
     
     # Spaceship is based on Post#date</diff>
      <filename>lib/jekyll/post.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 require File.join(File.dirname(__FILE__), *%w[.. lib jekyll])
 
 require 'test/unit'
+require 'redgreen'
 
 include Jekyll
 
@@ -10,4 +11,4 @@ end
 
 def clear_dest
   FileUtils.rm_rf(dest_dir)
-end
\ No newline at end of file
+end</diff>
      <filename>test/helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,8 @@ require File.dirname(__FILE__) + '/helper'
 class TestGeneratedSite &lt; Test::Unit::TestCase
   def setup
     clear_dest
-    source = File.join(File.dirname(__FILE__), *%w[source])
-    @s = Site.new(source, dest_dir)
+    @source = File.join(File.dirname(__FILE__), *%w[source])
+    @s = Site.new(@source, dest_dir)
     @s.process
     @index = File.read(File.join(dest_dir, 'index.html'))
   end
@@ -16,6 +16,10 @@ class TestGeneratedSite &lt; Test::Unit::TestCase
 
   def test_post_content_in_index
     # confirm that the {{ post.content }} is rendered OK
-    assert @index.include?('&lt;p&gt;This &lt;em&gt;is&lt;/em&gt; cool&lt;/p&gt;')
+    latest_post = Dir[File.join(@source, '_posts/*')].last
+    post = Post.new(@source, '', File.basename(latest_post))
+    Jekyll.content_type = post.determine_content_type
+    post.transform
+    assert @index.include?(post.content)
   end
 end</diff>
      <filename>test/test_generated_site.rb</filename>
    </modified>
    <modified>
      <diff>@@ -70,6 +70,18 @@ class TestPost &lt; Test::Unit::TestCase
     
     assert_equal &quot;&lt;h1&gt;{{ page.title }}&lt;/h1&gt;\n&lt;p&gt;Best &lt;strong&gt;post&lt;/strong&gt; ever&lt;/p&gt;&quot;, p.content
   end
+
+  def test_yaml_category
+    p = Post.new(File.join(File.dirname(__FILE__), *%w[source]), '',  &quot;2009-01-27-category.textile&quot;)
+    assert p.categories.include?('foo')
+  end
+
+  def test_yaml_categories
+    p = Post.new(File.join(File.dirname(__FILE__), *%w[source]), '',  &quot;2009-01-27-categories.textile&quot;)
+    assert p.categories.include?('foo')
+    assert p.categories.include?('bar')
+    assert p.categories.include?('baz')
+  end
   
   def test_render
     p = Post.new(File.join(File.dirname(__FILE__), *%w[source]), '',  &quot;2008-10-18-foo-bar.textile&quot;)
@@ -110,4 +122,4 @@ class TestPost &lt; Test::Unit::TestCase
     
     assert_equal &quot;&lt;&lt;&lt; &lt;hr /&gt;\n&lt;p&gt;Tom Preston-Werner github.com/mojombo&lt;/p&gt;\n\n&lt;p&gt;This &lt;em&gt;is&lt;/em&gt; cool&lt;/p&gt; &gt;&gt;&gt;&quot;, p.output
   end
-end
\ No newline at end of file
+end</diff>
      <filename>test/test_post.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,8 +2,8 @@ require File.dirname(__FILE__) + '/helper'
 
 class TestSite &lt; Test::Unit::TestCase
   def setup
-    source = File.join(File.dirname(__FILE__), *%w[source])
-    @s = Site.new(source, dest_dir)
+    @source = File.join(File.dirname(__FILE__), *%w[source])
+    @s = Site.new(@source, dest_dir)
   end
   
   def test_site_init
@@ -18,16 +18,19 @@ class TestSite &lt; Test::Unit::TestCase
  
   def test_read_posts
     @s.read_posts('')
-    
-    assert_equal 4, @s.posts.size
+    posts = Dir[File.join(@source, '_posts/*')]
+    assert_equal posts.size, @s.posts.size
   end
   
   def test_site_payload
     clear_dest
     @s.process
     
-    assert_equal 7, @s.posts.length
-    assert_equal [&quot;category&quot;, &quot;foo&quot;, &quot;z_category&quot;].sort, @s.categories.keys.sort
-    assert_equal 1, @s.categories['foo'].length
+    posts = Dir[File.join(@source, &quot;**&quot;, &quot;_posts/*&quot;)]
+    categories = %w(bar baz category foo z_category).sort
+
+    assert_equal posts.size, @s.posts.size
+    assert_equal categories, @s.categories.keys.sort
+    assert_equal 3, @s.categories['foo'].size
   end
 end</diff>
      <filename>test/test_site.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4bcfaeae69bc560a8278c201c313a466e512c429</id>
    </parent>
  </parents>
  <author>
    <name>Nick Quaranto</name>
    <email>nick@quaran.to</email>
  </author>
  <url>http://github.com/geekq/jekyll/commit/1211f23b53af69f5ce31bd1e7eec747294f12e78</url>
  <id>1211f23b53af69f5ce31bd1e7eec747294f12e78</id>
  <committed-date>2009-02-09T22:12:20-08:00</committed-date>
  <authored-date>2009-01-28T06:22:46-08:00</authored-date>
  <message>Adding support for setting post categories through YAML if not specified by directory structure</message>
  <tree>a8e269d4b59c636abad203dfefae905873c7f92a</tree>
  <committer>
    <name>Nick Quaranto</name>
    <email>nick@quaran.to</email>
  </committer>
</commit>
