Reset posts, layouts, and categories before processing to prevent duplication when regenerating
This commit is contained in:
parent
3d77c20578
commit
8d0e3dd0e2
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue