diff --git a/lib/jekyll/reader.rb b/lib/jekyll/reader.rb index fa9bc239..a77b74ac 100644 --- a/lib/jekyll/reader.rb +++ b/lib/jekyll/reader.rb @@ -74,6 +74,14 @@ module Jekyll end end + def read_content(dir, magic_dir, klass) + get_entries(dir, magic_dir).map do |entry| + klass.new(site, site.source, dir, entry) if klass.valid?(entry) + end.reject do |entry| + entry.nil? + end + end + # Read and parse all yaml files under / # # Returns nothing diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index c19ba3b1..d95e5dcc 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -175,7 +175,7 @@ module Jekyll # # Returns nothing. def read_posts(dir) - posts = read_content(dir, '_posts', Post) + posts = reader.read_content(dir, '_posts', Post) posts.each do |post| aggregate_post_info(post) if publisher.publish?(post) @@ -189,7 +189,7 @@ module Jekyll # # Returns nothing. def read_drafts(dir) - drafts = read_content(dir, '_drafts', Draft) + drafts = reader.read_content(dir, '_drafts', Draft) drafts.each do |draft| if draft.published? @@ -198,14 +198,6 @@ module Jekyll end end - def read_content(dir, magic_dir, klass) - reader.get_entries(dir, magic_dir).map do |entry| - klass.new(self, source, dir, entry) if klass.valid?(entry) - end.reject do |entry| - entry.nil? - end - end - # Read in all collections specified in the configuration # # Returns nothing.