From 01828dada88a6ce2ebd72268c87d79d7bd60a3fd Mon Sep 17 00:00:00 2001 From: Jack Danger Canty Date: Wed, 10 Dec 2008 00:17:52 -0800 Subject: [PATCH] Preventing Jekyll from picking up the output directory as a source If you attempt to have Jekyll output to a subdirectory of the source it may recursively copy the destination as it writes it. --- lib/jekyll/site.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 4e89ec19..2b0841ad 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -54,7 +54,7 @@ module Jekyll base = File.join(self.source, "_posts") entries = Dir.entries(base) entries = entries.reject { |e| File.directory?(e) } - + entries.each do |f| self.posts << Post.new(base, f) if Post.valid?(f) end @@ -83,9 +83,10 @@ module Jekyll base = File.join(self.source, dir) entries = Dir.entries(base) entries = entries.reject { |e| ['.', '_'].include?(e[0..0]) } - + entries.each do |f| if File.directory?(File.join(base, f)) + next if self.dest.sub(/\/$/, '') == File.join(base, f) transform_pages(File.join(dir, f)) else first3 = File.open(File.join(self.source, dir, f)) { |fd| fd.read(3) } @@ -110,4 +111,4 @@ module Jekyll end end -end \ No newline at end of file +end