diff --git a/lib/autoblog/page.rb b/lib/autoblog/page.rb index 924ae2bf..229d5cd2 100644 --- a/lib/autoblog/page.rb +++ b/lib/autoblog/page.rb @@ -21,7 +21,6 @@ module AutoBlog self.process(name) self.read_yaml(File.join(base, dir), name) - self.set_defaults self.transform end @@ -33,13 +32,6 @@ module AutoBlog self.ext = File.extname(name) end - # Set the data defaults. - # - # Returns nothing - def set_defaults - self.data["layout"] ||= "default" - end - # Add any necessary layouts to this post # +layouts+ is a Hash of {"name" => "layout"} # +site_payload+ is the site payload hash diff --git a/lib/autoblog/post.rb b/lib/autoblog/post.rb index 6a21acac..92d1b8ba 100644 --- a/lib/autoblog/post.rb +++ b/lib/autoblog/post.rb @@ -28,7 +28,6 @@ module AutoBlog self.process(name) self.read_yaml(base, name) - self.set_defaults self.transform end @@ -74,13 +73,6 @@ module AutoBlog self.dir + self.slug end - # Set the data defaults. - # - # Returns nothing - def set_defaults - self.data["layout"] ||= "default" - end - # Calculate related posts. # # Returns [] diff --git a/lib/autoblog/site.rb b/lib/autoblog/site.rb index b2864a48..b85d37a9 100644 --- a/lib/autoblog/site.rb +++ b/lib/autoblog/site.rb @@ -89,13 +89,15 @@ module AutoBlog if File.directory?(File.join(base, f)) transform_pages(File.join(dir, f)) else - if %w{.png .jpg .gif}.include?(File.extname(f)) - FileUtils.mkdir_p(File.join(self.dest, dir)) - FileUtils.cp(File.join(self.source, dir, f), File.join(self.dest, dir, f)) - else + first3 = File.open(File.join(self.source, dir, f)) { |fd| fd.read(3) } + + if first3 == "---" page = Page.new(self.source, dir, f) page.add_layout(self.layouts, site_payload) page.write(self.dest) + else + FileUtils.mkdir_p(File.join(self.dest, dir)) + FileUtils.cp(File.join(self.source, dir, f), File.join(self.dest, dir, f)) end end end diff --git a/test/test_post.rb b/test/test_post.rb index 5e74194a..8b6d6c2d 100644 --- a/test/test_post.rb +++ b/test/test_post.rb @@ -30,7 +30,7 @@ class TestPost < Test::Unit::TestCase p = Post.allocate p.read_yaml(File.join(File.dirname(__FILE__), *%w[source posts]), "2008-10-18-foo-bar.textile") - assert_equal({"title" => "Foo Bar"}, p.data) + assert_equal({"title" => "Foo Bar", "layout" => "default"}, p.data) assert_equal "\nh1. {{ page.title }}\n\nBest *post* ever", p.content end