Add regenerate front-matter variable

This commit is contained in:
Alfred Xing 2014-11-16 16:04:11 -08:00
parent 842470b0c4
commit d438362971
1 changed files with 12 additions and 8 deletions

View File

@ -293,17 +293,20 @@ module Jekyll
collections.each do |label, collection| collections.each do |label, collection|
collection.docs.each do |document| collection.docs.each do |document|
if @metadata.regenerate?(document.path) document.output = Jekyll::Renderer.new(self, document).run if (
document.output = Jekyll::Renderer.new(self, document).run @metadata.regenerate?(document.path) ||
document.data['regenerate']
)
end end
end end
end end
payload = site_payload payload = site_payload
[posts, pages].flatten.each do |page_or_post| [posts, pages].flatten.each do |page_or_post|
if @metadata.regenerate?(Jekyll.sanitized_path(source, page_or_post.relative_path)) page_or_post.render(layouts, payload) if (
page_or_post.render(layouts, payload) @metadata.regenerate?(Jekyll.sanitized_path(source, page_or_post.relative_path)) ||
end page_or_post.data['regenerate']
)
end end
rescue Errno::ENOENT => e rescue Errno::ENOENT => e
# ignore missing layout dir # ignore missing layout dir
@ -321,9 +324,10 @@ module Jekyll
# Returns nothing. # Returns nothing.
def write def write
each_site_file { |item| each_site_file { |item|
if @metadata.regenerate? Jekyll.sanitized_path(source, item.path) item.write(dest) if (
item.write(dest) @metadata.regenerate?(Jekyll.sanitized_path(source, item.path)) ||
end (item.respond_to?(:data) && item.data['regenerate'])
)
} }
@metadata.write @metadata.write
end end