Reset {{ layout }} between each render & merge layout data properly

This commit is contained in:
Parker Moore 2016-05-18 09:58:48 -07:00 committed by Pat Hawks
parent 8e939cd86e
commit db7cd6f612
2 changed files with 8 additions and 2 deletions

View File

@ -209,10 +209,13 @@ module Jekyll
used = Set.new([layout])
# Reset the payload layout data to ensure it starts fresh for each page.
payload["layout"] = nil
while layout
Jekyll.logger.debug "Rendering Layout:", path
payload["content"] = output
payload["layout"] = Utils.deep_merge_hashes(payload["layout"] || {}, layout.data)
payload["layout"] = Utils.deep_merge_hashes(layout.data, payload["layout"] || {})
self.output = render_liquid(layout.content,
payload,

View File

@ -136,10 +136,13 @@ module Jekyll
used = Set.new([layout])
# Reset the payload layout data to ensure it starts fresh for each page.
payload["layout"] = nil
while layout
payload['content'] = output
payload['page'] = document.to_liquid
payload['layout'] = Utils.deep_merge_hashes(payload['layout'] || {}, layout.data)
payload['layout'] = Utils.deep_merge_hashes(layout.data, payload["layout"] || {})
output = render_liquid(
layout.content,