Reset {{ layout }} between each render & merge layout data properly
This commit is contained in:
		
							parent
							
								
									8e939cd86e
								
							
						
					
					
						commit
						db7cd6f612
					
				|  | @ -209,10 +209,13 @@ module Jekyll | ||||||
| 
 | 
 | ||||||
|       used = Set.new([layout]) |       used = Set.new([layout]) | ||||||
| 
 | 
 | ||||||
|  |       # Reset the payload layout data to ensure it starts fresh for each page. | ||||||
|  |       payload["layout"] = nil | ||||||
|  | 
 | ||||||
|       while layout |       while layout | ||||||
|         Jekyll.logger.debug "Rendering Layout:", path |         Jekyll.logger.debug "Rendering Layout:", path | ||||||
|         payload["content"] = output |         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, |         self.output = render_liquid(layout.content, | ||||||
|                                     payload, |                                     payload, | ||||||
|  |  | ||||||
|  | @ -136,10 +136,13 @@ module Jekyll | ||||||
| 
 | 
 | ||||||
|       used   = Set.new([layout]) |       used   = Set.new([layout]) | ||||||
| 
 | 
 | ||||||
|  |       # Reset the payload layout data to ensure it starts fresh for each page. | ||||||
|  |       payload["layout"] = nil | ||||||
|  | 
 | ||||||
|       while layout |       while layout | ||||||
|         payload['content'] = output |         payload['content'] = output | ||||||
|         payload['page']    = document.to_liquid |         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( |         output = render_liquid( | ||||||
|           layout.content, |           layout.content, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue