Added support for 'include' configuration parameter. This parameter
should work just like 'exclude', except it gives us the ability to enumerate any files that should not be ignored - even if they begin with the dastardly dot or underscore.
This commit is contained in:
parent
13df722073
commit
717a2540e1
|
@ -64,6 +64,7 @@ module Jekyll
|
||||||
'pygments' => false,
|
'pygments' => false,
|
||||||
'markdown' => 'maruku',
|
'markdown' => 'maruku',
|
||||||
'permalink' => 'date',
|
'permalink' => 'date',
|
||||||
|
'include' => ['.htaccess'],
|
||||||
|
|
||||||
'maruku' => {
|
'maruku' => {
|
||||||
'use_tex' => false,
|
'use_tex' => false,
|
||||||
|
|
|
@ -2,7 +2,7 @@ module Jekyll
|
||||||
|
|
||||||
class Site
|
class Site
|
||||||
attr_accessor :config, :layouts, :posts, :pages, :static_files,
|
attr_accessor :config, :layouts, :posts, :pages, :static_files,
|
||||||
:categories, :exclude, :source, :dest, :lsi, :pygments,
|
:categories, :exclude, :include, :source, :dest, :lsi, :pygments,
|
||||||
:permalink_style, :tags, :time, :future, :safe, :plugins, :limit_posts
|
:permalink_style, :tags, :time, :future, :safe, :plugins, :limit_posts
|
||||||
|
|
||||||
attr_accessor :converters, :generators
|
attr_accessor :converters, :generators
|
||||||
|
@ -22,6 +22,7 @@ module Jekyll
|
||||||
self.pygments = config['pygments']
|
self.pygments = config['pygments']
|
||||||
self.permalink_style = config['permalink'].to_sym
|
self.permalink_style = config['permalink'].to_sym
|
||||||
self.exclude = config['exclude'] || []
|
self.exclude = config['exclude'] || []
|
||||||
|
self.include = config['include'] || []
|
||||||
self.future = config['future']
|
self.future = config['future']
|
||||||
self.limit_posts = config['limit_posts'] || nil
|
self.limit_posts = config['limit_posts'] || nil
|
||||||
|
|
||||||
|
@ -263,7 +264,7 @@ module Jekyll
|
||||||
# files such as '.htaccess'
|
# files such as '.htaccess'
|
||||||
def filter_entries(entries)
|
def filter_entries(entries)
|
||||||
entries = entries.reject do |e|
|
entries = entries.reject do |e|
|
||||||
unless ['.htaccess'].include?(e)
|
unless self.include.include?(e)
|
||||||
['.', '_', '#'].include?(e[0..0]) || e[-1..-1] == '~' || self.exclude.include?(e)
|
['.', '_', '#'].include?(e[0..0]) || e[-1..-1] == '~' || self.exclude.include?(e)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -126,12 +126,20 @@ class TestSite < Test::Unit::TestCase
|
||||||
|
|
||||||
should "filter entries with exclude" do
|
should "filter entries with exclude" do
|
||||||
excludes = %w[README TODO]
|
excludes = %w[README TODO]
|
||||||
includes = %w[index.html site.css]
|
files = %w[index.html site.css .htaccess]
|
||||||
|
|
||||||
@site.exclude = excludes
|
@site.exclude = excludes
|
||||||
assert_equal includes, @site.filter_entries(excludes + includes)
|
assert_equal files, @site.filter_entries(excludes + files)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "not filter entries within include" do
|
||||||
|
includes = %w[_index.html .htaccess]
|
||||||
|
files = %w[index.html _index.html .htaccess]
|
||||||
|
|
||||||
|
@site.include = includes
|
||||||
|
assert_equal files, @site.filter_entries(files)
|
||||||
|
end
|
||||||
|
|
||||||
context 'with orphaned files in destination' do
|
context 'with orphaned files in destination' do
|
||||||
setup do
|
setup do
|
||||||
clear_dest
|
clear_dest
|
||||||
|
|
Loading…
Reference in New Issue