From f0af098abe6b5881f1ea361615e58a6fa3dbb987 Mon Sep 17 00:00:00 2001 From: Ashwin Maroli Date: Wed, 31 Oct 2018 22:40:19 +0530 Subject: [PATCH] Memoize the return value of Site#documents (#7273) Merge pull request 7273 --- lib/jekyll/site.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 32fb5eb3..0f1e01f8 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -97,6 +97,7 @@ module Jekyll @post_attr_hash = {} @site_data = nil @collections = nil + @documents = nil @docs_to_write = nil @regenerator.clear_cache @liquid_renderer.reset @@ -326,7 +327,7 @@ module Jekyll # # Returns an Array of all Documents def documents - collections.reduce(Set.new) do |docs, (_, collection)| + @documents ||= collections.reduce(Set.new) do |docs, (_, collection)| docs + collection.docs + collection.files end.to_a end