diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index b80e2226..eaba3d48 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -17,11 +17,14 @@ module Jekyll self.pygments = config['pygments'] self.permalink_style = config['permalink'].to_sym + self.reset + self.setup + end + + def reset self.layouts = {} self.posts = [] self.categories = Hash.new { |hash, key| hash[key] = Array.new } - - self.setup end def setup @@ -85,6 +88,7 @@ module Jekyll # # Returns nothing def process + self.reset self.read_layouts self.transform_pages self.write_posts diff --git a/test/test_site.rb b/test/test_site.rb index e8d0ebb1..d3a2de04 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -9,6 +9,19 @@ class TestSite < Test::Unit::TestCase @site = Site.new(Jekyll.configuration) end + should "reset data before processing" do + clear_dest + @site.process + before_posts = @site.posts.length + before_layouts = @site.layouts.length + before_categories = @site.categories.length + + @site.process + assert_equal before_posts, @site.posts.length + assert_equal before_layouts, @site.layouts.length + assert_equal before_categories, @site.categories.length + end + should "read layouts" do @site.read_layouts assert_equal ["default", "simple"].sort, @site.layouts.keys.sort