Move layout validity logic to separate method

This commit is contained in:
Alfred Xing 2014-07-20 10:01:09 -07:00
parent 072ddb799f
commit a0d679439f
2 changed files with 20 additions and 6 deletions

View File

@ -153,6 +153,15 @@ module Jekyll
!asset_file? !asset_file?
end 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 # Recursively render layouts
# #
# layouts - a list of the layouts # layouts - a list of the layouts
@ -164,9 +173,7 @@ module Jekyll
# recursively render layouts # recursively render layouts
layout = layouts[data["layout"]] layout = layouts[data["layout"]]
if !data["layout"].nil? && data["layout"] != "none" && layout.nil? Jekyll.logger.warn("Build Warning:", "Layout #{data["layout"]} does not exist.") if invalid_layout? layout
Jekyll.logger.warn("Build Warning:", "Layout #{data["layout"]} does not exist.")
end
used = Set.new([layout]) used = Set.new([layout])

View File

@ -92,6 +92,15 @@ module Jekyll
raise e raise e
end 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. # Render layouts and place given content inside.
# #
# content - the content to be placed in the layout # content - the content to be placed in the layout
@ -102,9 +111,7 @@ module Jekyll
output = content.dup output = content.dup
layout = site.layouts[document.data["layout"]] layout = site.layouts[document.data["layout"]]
if !data["layout"].nil? && data["layout"] != "none" && layout.nil? Jekyll.logger.warn("Build Warning:", "Layout #{document.data["layout"]} does not exist.") if invalid_layout? layout
Jekyll.logger.warn("Build Warning:", "Layout #{data["layout"]} does not exist.")
end
used = Set.new([layout]) used = Set.new([layout])