diff --git a/lib/jekyll/reader.rb b/lib/jekyll/reader.rb index 8e898388..9d9b2260 100644 --- a/lib/jekyll/reader.rb +++ b/lib/jekyll/reader.rb @@ -44,5 +44,18 @@ module Jekyll def filter_entries(entries, base_directory = nil) EntryFilter.new(site, base_directory).filter(entries) end + + # Read the entries from a particular directory for processing + # + # dir - The String relative path of the directory to read + # subfolder - The String directory to read + # + # Returns the list of entries to process + def get_entries(dir, subfolder) + base = in_source_dir(dir, subfolder) + return [] unless File.exist?(base) + entries = Dir.chdir(base) { filter_entries(Dir['**/*'], base) } + entries.delete_if { |e| File.directory?(in_source_dir(base, e)) } + end end end \ No newline at end of file diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 4936e177..40659d22 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -199,7 +199,7 @@ module Jekyll end def read_content(dir, magic_dir, klass) - get_entries(dir, magic_dir).map do |entry| + 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? @@ -413,19 +413,6 @@ module Jekyll end end - # Read the entries from a particular directory for processing - # - # dir - The String relative path of the directory to read - # subfolder - The String directory to read - # - # Returns the list of entries to process - def get_entries(dir, subfolder) - base = reader.in_source_dir(dir, subfolder) - return [] unless File.exist?(base) - entries = Dir.chdir(base) { reader.filter_entries(Dir['**/*'], base) } - entries.delete_if { |e| File.directory?(reader.in_source_dir(base, e)) } - end - # Aggregate post information # # post - The Post object to aggregate information for