create a single instance of PostReader per site (#6759)

Merge pull request 6759
This commit is contained in:
ashmaroli 2018-03-01 02:22:54 +05:30 committed by jekyllbot
parent a9c7ca91fd
commit 16228ae499
1 changed files with 8 additions and 2 deletions

View File

@ -63,8 +63,8 @@ module Jekyll
# Returns nothing. # Returns nothing.
def retrieve_posts(dir) def retrieve_posts(dir)
return if outside_configured_directory?(dir) return if outside_configured_directory?(dir)
site.posts.docs.concat(PostReader.new(site).read_posts(dir)) site.posts.docs.concat(post_reader.read_posts(dir))
site.posts.docs.concat(PostReader.new(site).read_drafts(dir)) if site.show_drafts site.posts.docs.concat(post_reader.read_drafts(dir)) if site.show_drafts
end end
# Recursively traverse directories with the read_directories function. # Recursively traverse directories with the read_directories function.
@ -146,5 +146,11 @@ module Jekyll
collections_dir = site.config["collections_dir"] collections_dir = site.config["collections_dir"]
!collections_dir.empty? && !dir.start_with?("/#{collections_dir}") !collections_dir.empty? && !dir.start_with?("/#{collections_dir}")
end end
# Create a single PostReader instance to retrieve drafts and posts from all valid
# directories in current site.
def post_reader
@post_reader ||= PostReader.new(site)
end
end end
end end