diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb index 9a93ab71..b8cf0b78 100644 --- a/lib/jekyll/convertible.rb +++ b/lib/jekyll/convertible.rb @@ -153,6 +153,15 @@ module Jekyll !asset_file? end + # Checks if the layout specified in the document actually exists + # + # layout - the layout to check + # + # Returns true if the layout is invalid, false if otherwise + def invalid_layout?(layout) + !data["layout"].nil? && data["layout"] != "none" && layout.nil? + end + # Recursively render layouts # # layouts - a list of the layouts @@ -164,9 +173,7 @@ module Jekyll # recursively render layouts layout = layouts[data["layout"]] - if !data["layout"].nil? && data["layout"] != "none" && layout.nil? - Jekyll.logger.warn("Build Warning:", "Layout #{data["layout"]} does not exist.") - end + Jekyll.logger.warn("Build Warning:", "Layout #{data["layout"]} does not exist.") if invalid_layout? layout used = Set.new([layout]) diff --git a/lib/jekyll/renderer.rb b/lib/jekyll/renderer.rb index 680faaf6..c43f605d 100644 --- a/lib/jekyll/renderer.rb +++ b/lib/jekyll/renderer.rb @@ -92,6 +92,15 @@ module Jekyll raise e end + # Checks if the layout specified in the document actually exists + # + # layout - the layout to check + # + # Returns true if the layout is invalid, false if otherwise + def invalid_layout?(layout) + !document.data["layout"].nil? && document.data["layout"] != "none" && layout.nil? + end + # Render layouts and place given content inside. # # content - the content to be placed in the layout @@ -102,9 +111,7 @@ module Jekyll output = content.dup layout = site.layouts[document.data["layout"]] - if !data["layout"].nil? && data["layout"] != "none" && layout.nil? - Jekyll.logger.warn("Build Warning:", "Layout #{data["layout"]} does not exist.") - end + Jekyll.logger.warn("Build Warning:", "Layout #{document.data["layout"]} does not exist.") if invalid_layout? layout used = Set.new([layout])