diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index b9a82ef2..d5901886 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -405,6 +405,7 @@ module Jekyll base = File.join(self.source, dir, subfolder) return [] unless File.exists?(base) entries = Dir.chdir(base) { filter_entries(Dir['**/*']) } + entries.delete_if { |e| File.directory?(File.join(base, e)) } end # Aggregate post information diff --git a/test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep b/test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/test/test_site.rb b/test/test_site.rb index 42643b13..57b29f16 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -161,6 +161,7 @@ class TestSite < Test::Unit::TestCase should "read posts" do @site.read_posts('') posts = Dir[source_dir('_posts', '*')] + posts.delete_if { |post| File.directory?(post) } assert_equal posts.size - 1, @site.posts.size end @@ -169,9 +170,10 @@ class TestSite < Test::Unit::TestCase @site.process posts = Dir[source_dir("**", "_posts", "*")] + posts.delete_if { |post| File.directory?(post) } categories = %w(bar baz category foo z_category publish_test win).sort - assert_equal posts.size - 1, @site.posts.size + assert_equal posts.size, @site.posts.size assert_equal categories, @site.categories.keys.sort assert_equal 4, @site.categories['foo'].size end