Merge pull request #654 from mattr-/issue-653
Look for plugins under the source directory. Fixes #653.
This commit is contained in:
commit
465e25021b
|
@ -58,8 +58,7 @@ module Jekyll
|
||||||
DEFAULTS = {
|
DEFAULTS = {
|
||||||
'source' => Dir.pwd,
|
'source' => Dir.pwd,
|
||||||
'destination' => File.join(Dir.pwd, '_site'),
|
'destination' => File.join(Dir.pwd, '_site'),
|
||||||
|
'plugins' => '_plugins',
|
||||||
'plugins' => File.join(Dir.pwd, '_plugins'),
|
|
||||||
'layouts' => '_layouts',
|
'layouts' => '_layouts',
|
||||||
'keep_files' => ['.git','.svn'],
|
'keep_files' => ['.git','.svn'],
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ module Jekyll
|
||||||
self.safe = config['safe']
|
self.safe = config['safe']
|
||||||
self.source = File.expand_path(config['source'])
|
self.source = File.expand_path(config['source'])
|
||||||
self.dest = File.expand_path(config['destination'])
|
self.dest = File.expand_path(config['destination'])
|
||||||
self.plugins = Array(config['plugins']).map { |d| File.expand_path(d) }
|
self.plugins = plugins_path
|
||||||
self.lsi = config['lsi']
|
self.lsi = config['lsi']
|
||||||
self.pygments = config['pygments']
|
self.pygments = config['pygments']
|
||||||
self.permalink_style = config['permalink'].to_sym
|
self.permalink_style = config['permalink'].to_sym
|
||||||
|
@ -100,6 +100,17 @@ module Jekyll
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Internal: Setup the plugin search path
|
||||||
|
#
|
||||||
|
# Returns an Array of plugin search paths
|
||||||
|
def plugins_path
|
||||||
|
if (config['plugins'] == Jekyll::DEFAULTS['plugins'])
|
||||||
|
[File.join(self.source, config['plugins'])]
|
||||||
|
else
|
||||||
|
Array(config['plugins']).map { |d| File.expand_path(d) }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Read Site data from disk and load it into internal data structures.
|
# Read Site data from disk and load it into internal data structures.
|
||||||
#
|
#
|
||||||
# Returns nothing.
|
# Returns nothing.
|
||||||
|
|
|
@ -7,6 +7,11 @@ class TestSite < Test::Unit::TestCase
|
||||||
assert_equal [File.join(Dir.pwd, '_plugins')], site.plugins
|
assert_equal [File.join(Dir.pwd, '_plugins')], site.plugins
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "look for plugins under the site directory by default" do
|
||||||
|
site = Site.new(Jekyll::DEFAULTS.merge({'source' => source_dir}))
|
||||||
|
assert_equal [File.join(source_dir, '_plugins')], site.plugins
|
||||||
|
end
|
||||||
|
|
||||||
should "have an array for plugins if passed as a string" do
|
should "have an array for plugins if passed as a string" do
|
||||||
site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => '/tmp/plugins'}))
|
site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => '/tmp/plugins'}))
|
||||||
assert_equal ['/tmp/plugins'], site.plugins
|
assert_equal ['/tmp/plugins'], site.plugins
|
||||||
|
@ -26,6 +31,7 @@ class TestSite < Test::Unit::TestCase
|
||||||
site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => nil}))
|
site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => nil}))
|
||||||
assert_equal [], site.plugins
|
assert_equal [], site.plugins
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
context "creating sites" do
|
context "creating sites" do
|
||||||
setup do
|
setup do
|
||||||
|
|
Loading…
Reference in New Issue