Merge pull request #909 from x3ro/symlinked-static-files
Fix symlinked static files not being correctly built in unsafe mode
This commit is contained in:
commit
cf461ea1a5
|
@ -159,7 +159,7 @@ module Jekyll
|
||||||
if File.directory?(f_abs)
|
if File.directory?(f_abs)
|
||||||
next if self.dest.sub(/\/$/, '') == f_abs
|
next if self.dest.sub(/\/$/, '') == f_abs
|
||||||
read_directories(f_rel)
|
read_directories(f_rel)
|
||||||
elsif !File.symlink?(f_abs)
|
else
|
||||||
first3 = File.open(f_abs) { |fd| fd.read(3) }
|
first3 = File.open(f_abs) { |fd| fd.read(3) }
|
||||||
if first3 == "---"
|
if first3 == "---"
|
||||||
# file appears to have a YAML header so process it as a page
|
# file appears to have a YAML header so process it as a page
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
../css
|
|
@ -0,0 +1 @@
|
||||||
|
../index.html
|
|
@ -217,6 +217,28 @@ class TestSite < Test::Unit::TestCase
|
||||||
assert_equal files, @site.filter_entries(files)
|
assert_equal files, @site.filter_entries(files)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "not include symlinks in safe mode" do
|
||||||
|
stub(Jekyll).configuration do
|
||||||
|
Jekyll::DEFAULTS.merge({'source' => source_dir, 'destination' => dest_dir, 'safe' => true})
|
||||||
|
end
|
||||||
|
site = Site.new(Jekyll.configuration)
|
||||||
|
|
||||||
|
site.read_directories("symlink-test")
|
||||||
|
assert_equal [], site.pages
|
||||||
|
assert_equal [], site.static_files
|
||||||
|
end
|
||||||
|
|
||||||
|
should "include symlinks in unsafe mode" do
|
||||||
|
stub(Jekyll).configuration do
|
||||||
|
Jekyll::DEFAULTS.merge({'source' => source_dir, 'destination' => dest_dir, 'safe' => false})
|
||||||
|
end
|
||||||
|
site = Site.new(Jekyll.configuration)
|
||||||
|
|
||||||
|
site.read_directories("symlink-test")
|
||||||
|
assert_not_equal [], site.pages
|
||||||
|
assert_not_equal [], site.static_files
|
||||||
|
end
|
||||||
|
|
||||||
context 'error handling' do
|
context 'error handling' do
|
||||||
should "raise if destination is included in source" do
|
should "raise if destination is included in source" do
|
||||||
stub(Jekyll).configuration do
|
stub(Jekyll).configuration do
|
||||||
|
|
Loading…
Reference in New Issue