Merge pull request #1800 from cs/move-entry-filter-into-jekyll-module

This commit is contained in:
Parker Moore 2013-12-09 14:59:54 -08:00
commit 3b90f8b53c
1 changed files with 27 additions and 25 deletions

View File

@ -1,35 +1,37 @@
class EntryFilter module Jekyll
attr_reader :site class EntryFilter
def initialize(site) attr_reader :site
@site = site
end
def filter(entries) def initialize(site)
entries.reject do |e| @site = site
unless included?(e) end
special?(e) || backup?(e) || excluded?(e) || symlink?(e)
def filter(entries)
entries.reject do |e|
unless included?(e)
special?(e) || backup?(e) || excluded?(e) || symlink?(e)
end
end end
end end
end
def included?(entry) def included?(entry)
site.include.glob_include?(entry) site.include.glob_include?(entry)
end end
def special?(entry) def special?(entry)
['.', '_', '#'].include?(entry[0..0]) ['.', '_', '#'].include?(entry[0..0])
end end
def backup?(entry) def backup?(entry)
entry[-1..-1] == '~' entry[-1..-1] == '~'
end end
def excluded?(entry) def excluded?(entry)
site.exclude.glob_include?(entry) site.exclude.glob_include?(entry)
end end
def symlink?(entry) def symlink?(entry)
File.symlink?(entry) && site.safe File.symlink?(entry) && site.safe
end
end end
end end