diff --git a/lib/jekyll/renderer.rb b/lib/jekyll/renderer.rb index eb1f54ab..b0f544e3 100644 --- a/lib/jekyll/renderer.rb +++ b/lib/jekyll/renderer.rb @@ -54,6 +54,7 @@ module Jekyll assign_pages! assign_related_posts! assign_highlighter_options! + assign_layout_data! Jekyll.logger.debug "Pre-Render Hooks:", document.relative_path document.trigger_hooks(:pre_render, payload) @@ -233,6 +234,14 @@ module Jekyll payload["highlighter_suffix"] = converters.first.highlighter_suffix end + private + def assign_layout_data! + layout = layouts[document.data["layout"]] + if layout + payload["layout"] = Utils.deep_merge_hashes(layout.data, payload["layout"] || {}) + end + end + private def permalink_ext if document.permalink && !document.permalink.end_with?("/") diff --git a/test/source/_layouts/default.html b/test/source/_layouts/default.html index 1d51c496..ef2d4384 100644 --- a/test/source/_layouts/default.html +++ b/test/source/_layouts/default.html @@ -1,3 +1,6 @@ +--- +front_matter_var: variable from layout +--- diff --git a/test/source/index.html b/test/source/index.html index 493fce7c..ec542002 100644 --- a/test/source/index.html +++ b/test/source/index.html @@ -5,6 +5,8 @@ title: Tom Preston-Werner h1. Welcome to my site +{{ layout.front_matter_var }} + h2. Please read our {{ site.posts | size }} Posts