Only call #site_payload once for all collection work.

This commit is contained in:
Parker Moore 2014-12-18 00:10:20 -08:00
parent 0eb2796a66
commit 2f8248a6f1
3 changed files with 12 additions and 4 deletions

View File

@ -3,11 +3,12 @@
module Jekyll module Jekyll
class Renderer class Renderer
attr_reader :document, :site attr_reader :document, :site, :payload
def initialize(site, document) def initialize(site, document, payload = nil)
@site = site @site = site
@document = document @document = document
@payload = payload
end end
# Determine which converters to use based on this document's # Determine which converters to use based on this document's
@ -32,7 +33,7 @@ module Jekyll
def run def run
payload = Utils.deep_merge_hashes({ payload = Utils.deep_merge_hashes({
"page" => document.to_liquid "page" => document.to_liquid
}, site.site_payload) }, payload || site.site_payload)
info = { info = {
filters: [Jekyll::Filters], filters: [Jekyll::Filters],

View File

@ -292,9 +292,10 @@ module Jekyll
def render def render
relative_permalinks_deprecation_method relative_permalinks_deprecation_method
payload = site_payload
collections.each do |label, collection| collections.each do |label, collection|
collection.docs.each do |document| collection.docs.each do |document|
document.output = Jekyll::Renderer.new(self, document).run if document.regenerate? document.output = Jekyll::Renderer.new(self, document, payload).run if document.regenerate?
end end
end end

6
test/test_deprecator.rb Normal file
View File

@ -0,0 +1,6 @@
require 'helper'
class TestDeprecator < Test::Unit::TestCase
def test_no_subcommand
end
end