mirror of
https://github.com/jekyll/jekyll.git
synced 2026-02-01 18:25:02 -05:00
Reset posts, layouts, and categories before processing to prevent duplication when regenerating
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user