From d0e12d69bc73346c156039e569b3d54d2e6ed806 Mon Sep 17 00:00:00 2001 From: Alfred Xing Date: Fri, 28 Nov 2014 14:05:40 -0800 Subject: [PATCH] Last few revisions --- lib/jekyll/cleaner.rb | 2 +- lib/jekyll/configuration.rb | 1 + lib/jekyll/metadata.rb | 4 ++-- lib/jekyll/site.rb | 9 ++++++++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/jekyll/cleaner.rb b/lib/jekyll/cleaner.rb index 00191db7..bc5bd155 100644 --- a/lib/jekyll/cleaner.rb +++ b/lib/jekyll/cleaner.rb @@ -13,7 +13,7 @@ module Jekyll # Cleans up the site's destination directory def cleanup! FileUtils.rm_rf(obsolete_files) - FileUtils.rm_rf(metadata_file) if @site.config["full_rebuild"] + FileUtils.rm_rf(metadata_file) if @site.full_rebuild? end private diff --git a/lib/jekyll/configuration.rb b/lib/jekyll/configuration.rb index 7f1148a6..c64f3a89 100644 --- a/lib/jekyll/configuration.rb +++ b/lib/jekyll/configuration.rb @@ -22,6 +22,7 @@ module Jekyll 'encoding' => 'utf-8', 'markdown_ext' => 'markdown,mkdown,mkdn,mkd,md', 'textile_ext' => 'textile', + 'full_rebuild' => false, # Filtering Content 'show_drafts' => nil, diff --git a/lib/jekyll/metadata.rb b/lib/jekyll/metadata.rb index 97fc0bf5..953dd7c0 100644 --- a/lib/jekyll/metadata.rb +++ b/lib/jekyll/metadata.rb @@ -16,7 +16,7 @@ module Jekyll # # Returns true, also on failure. def add(path) - return true if not File.exist? path + return true unless File.exist?(path) metadata[path] = { "mtime" => File.mtime(path), @@ -100,7 +100,7 @@ module Jekyll # # Returns a Boolean (true for disabled, false for enabled). def disabled? - @disabled = site.config['full_rebuild'] if @disabled.nil? + @disabled = site.full_rebuild? if @disabled.nil? @disabled end diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 4b8518c2..7b8a4a00 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -319,7 +319,7 @@ module Jekyll each_site_file { |item| item.write(dest) if item.regenerate? } - metadata.write unless config['full_rebuild'] + metadata.write unless full_rebuild? end # Construct a Hash of Posts indexed by the specified Post attribute. @@ -490,6 +490,13 @@ module Jekyll @frontmatter_defaults ||= FrontmatterDefaults.new(self) end + # Whether to perform a full rebuild without metadata + # + # Returns a Boolean: true for a full rebuild, false for normal build + def full_rebuild?(override = {}) + override['full_rebuild'] || config['full_rebuild'] + end + private def has_relative_page?