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.
This commit is contained in:
parent
f5c727fadb
commit
01828dada8
|
@ -54,7 +54,7 @@ module Jekyll
|
||||||
base = File.join(self.source, "_posts")
|
base = File.join(self.source, "_posts")
|
||||||
entries = Dir.entries(base)
|
entries = Dir.entries(base)
|
||||||
entries = entries.reject { |e| File.directory?(e) }
|
entries = entries.reject { |e| File.directory?(e) }
|
||||||
|
|
||||||
entries.each do |f|
|
entries.each do |f|
|
||||||
self.posts << Post.new(base, f) if Post.valid?(f)
|
self.posts << Post.new(base, f) if Post.valid?(f)
|
||||||
end
|
end
|
||||||
|
@ -83,9 +83,10 @@ module Jekyll
|
||||||
base = File.join(self.source, dir)
|
base = File.join(self.source, dir)
|
||||||
entries = Dir.entries(base)
|
entries = Dir.entries(base)
|
||||||
entries = entries.reject { |e| ['.', '_'].include?(e[0..0]) }
|
entries = entries.reject { |e| ['.', '_'].include?(e[0..0]) }
|
||||||
|
|
||||||
entries.each do |f|
|
entries.each do |f|
|
||||||
if File.directory?(File.join(base, f))
|
if File.directory?(File.join(base, f))
|
||||||
|
next if self.dest.sub(/\/$/, '') == File.join(base, f)
|
||||||
transform_pages(File.join(dir, f))
|
transform_pages(File.join(dir, f))
|
||||||
else
|
else
|
||||||
first3 = File.open(File.join(self.source, dir, f)) { |fd| fd.read(3) }
|
first3 = File.open(File.join(self.source, dir, f)) { |fd| fd.read(3) }
|
||||||
|
@ -110,4 +111,4 @@ module Jekyll
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue