diff --git a/lib/jekyll/renderer.rb b/lib/jekyll/renderer.rb index f9df731e..e3d233df 100644 --- a/lib/jekyll/renderer.rb +++ b/lib/jekyll/renderer.rb @@ -60,16 +60,14 @@ module Jekyll # # Returns the converted content. def convert(content) - output = content.dup - converters.each do |converter| + converters.reduce(content) do |output, converter| begin - output = converter.convert(output) + converter.convert output rescue => e Jekyll.logger.error "Conversion error:", "#{converter.class} encountered an error converting '#{document.relative_path}'." raise e end end - output end # Render the given content with the payload and info diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 1f127304..92e5e359 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -395,13 +395,13 @@ module Jekyll end def documents - docs = Set.new - collections.each do |label, coll| + collections.reduce(Set.new) do |docs, (label, coll)| if to_render.include?(label) - docs = docs.merge(coll.docs) + docs.merge(coll.docs) + else + docs end end - docs end def each_site_file