From bab29f64f741de58681539b279eb0f72f7911983 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Fri, 12 Oct 2012 22:43:20 -0500 Subject: [PATCH 1/6] Look for plugins under the source directory When generating the site, Jekyll will now look for plugins under the source directory by default. The plugin location can still be changed in _config.yml --- lib/jekyll.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 65e16cdb..9494a2b7 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -58,7 +58,7 @@ module Jekyll 'source' => Dir.pwd, 'destination' => File.join(Dir.pwd, '_site'), - 'plugins' => File.join(Dir.pwd, '_plugins'), + 'plugins' => '_plugins', 'layouts' => '_layouts', 'future' => true, From 92eb926bf8847598b97a494183bc00a291fecb0b Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Thu, 10 Jan 2013 21:24:28 -0600 Subject: [PATCH 2/6] Look for plugins under the source directory by default --- lib/jekyll/site.rb | 10 +++++++++- test/test_site.rb | 7 ++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 7dbf1336..32a21503 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -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 = setup_plugins self.lsi = config['lsi'] self.pygments = config['pygments'] self.permalink_style = config['permalink'].to_sym @@ -99,6 +99,14 @@ module Jekyll end end + def setup_plugins + 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. diff --git a/test/test_site.rb b/test/test_site.rb index 03f1886e..98a433b6 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -7,9 +7,9 @@ class TestSite < Test::Unit::TestCase assert_equal [File.join(Dir.pwd, '_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 + 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 an array" do @@ -26,6 +26,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 From 151275d09e48afd4854edbd85d88e9b014b8b473 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Thu, 10 Jan 2013 21:53:21 -0600 Subject: [PATCH 3/6] Add TomDoc --- lib/jekyll/site.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 32a21503..01032722 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -99,6 +99,10 @@ module Jekyll end end + # Internal: Setup the plugin search path + # + # + # Returns an Array of plugin search paths def setup_plugins if (config['plugins'] == Jekyll::DEFAULTS['plugins']) [File.join(self.source, config['plugins'])] From ffc42310b43d8e28c85bc8011ae820df7e3ab50c Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Mon, 25 Feb 2013 13:19:45 -0600 Subject: [PATCH 4/6] Add back a test that was mistakenly removed. --- test/test_site.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/test_site.rb b/test/test_site.rb index 9219e102..5c3c0c74 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -11,6 +11,11 @@ class TestSite < Test::Unit::TestCase 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 + end should "have an array for plugins if passed as an array" do site = Site.new(Jekyll::DEFAULTS.merge({'plugins' => ['/tmp/plugins', '/tmp/otherplugins']})) From 5a9c20983d5e6af7a010d2be75bf508786c53206 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Mon, 25 Feb 2013 13:20:32 -0600 Subject: [PATCH 5/6] Rename setup_plugins to plugins_path --- lib/jekyll/site.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index aa42b470..bc6330ec 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -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 = setup_plugins + self.plugins = plugins_path self.lsi = config['lsi'] self.pygments = config['pygments'] self.permalink_style = config['permalink'].to_sym @@ -104,7 +104,7 @@ module Jekyll # # # Returns an Array of plugin search paths - def setup_plugins + def plugins_path if (config['plugins'] == Jekyll::DEFAULTS['plugins']) [File.join(self.source, config['plugins'])] else From d58859570d571310b6d92dcd757a897b7d8a5069 Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Mon, 25 Feb 2013 13:21:41 -0600 Subject: [PATCH 6/6] Fix up the whitespace. Remove an extra blank line and fix another whitespace error pointed out by git diff --- lib/jekyll/site.rb | 3 +-- test/test_site.rb | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index bc6330ec..74ebd112 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -100,8 +100,7 @@ module Jekyll end end - # Internal: Setup the plugin search path - # + # Internal: Setup the plugin search path # # Returns an Array of plugin search paths def plugins_path diff --git a/test/test_site.rb b/test/test_site.rb index 5c3c0c74..64cc8437 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -11,7 +11,7 @@ class TestSite < Test::Unit::TestCase 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