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 = { | ||||
|     'source'        => Dir.pwd, | ||||
|     'destination'   => File.join(Dir.pwd, '_site'), | ||||
| 
 | ||||
|     'plugins'       => File.join(Dir.pwd, '_plugins'), | ||||
|     'plugins'       => '_plugins', | ||||
|     'layouts'       => '_layouts', | ||||
|     'keep_files'   => ['.git','.svn'], | ||||
| 
 | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ module Jekyll | |||
|       self.safe            = config['safe'] | ||||
|       self.source          = File.expand_path(config['source']) | ||||
|       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.pygments        = config['pygments'] | ||||
|       self.permalink_style = config['permalink'].to_sym | ||||
|  | @ -100,6 +100,17 @@ module Jekyll | |||
|       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. | ||||
|     # | ||||
|     # Returns nothing. | ||||
|  |  | |||
|  | @ -7,6 +7,11 @@ class TestSite < Test::Unit::TestCase | |||
|       assert_equal [File.join(Dir.pwd, '_plugins')], site.plugins | ||||
|     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 | ||||
|       site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => '/tmp/plugins'})) | ||||
|       assert_equal ['/tmp/plugins'], site.plugins | ||||
|  | @ -26,6 +31,7 @@ class TestSite < Test::Unit::TestCase | |||
|       site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => nil})) | ||||
|       assert_equal [], site.plugins | ||||
|     end | ||||
| 
 | ||||
|   end | ||||
|   context "creating sites" do | ||||
|     setup do | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue