From 16228ae49994012773763301045942f329f267a1 Mon Sep 17 00:00:00 2001 From: ashmaroli Date: Thu, 1 Mar 2018 02:22:54 +0530 Subject: [PATCH] create a single instance of PostReader per site (#6759) Merge pull request 6759 --- lib/jekyll/reader.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/reader.rb b/lib/jekyll/reader.rb index da2d1e1d..99aa746c 100644 --- a/lib/jekyll/reader.rb +++ b/lib/jekyll/reader.rb @@ -63,8 +63,8 @@ module Jekyll # Returns nothing. def retrieve_posts(dir) return if outside_configured_directory?(dir) - site.posts.docs.concat(PostReader.new(site).read_posts(dir)) - site.posts.docs.concat(PostReader.new(site).read_drafts(dir)) if site.show_drafts + site.posts.docs.concat(post_reader.read_posts(dir)) + site.posts.docs.concat(post_reader.read_drafts(dir)) if site.show_drafts end # Recursively traverse directories with the read_directories function. @@ -146,5 +146,11 @@ module Jekyll collections_dir = site.config["collections_dir"] !collections_dir.empty? && !dir.start_with?("/#{collections_dir}") 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