From 480e35037bfc058819709209d528b602c838c6ea Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Wed, 23 Oct 2013 10:55:48 -0400 Subject: [PATCH] A start at a gem-based plugin whitelist for Pages. --- lib/jekyll/site.rb | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index b892a31a..cbd7eba7 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -77,11 +77,10 @@ module Jekyll require f end end - self.gems.each do |gem| - require gem - end end + require_gems + self.converters = instantiate_subclasses(Jekyll::Converter) self.generators = instantiate_subclasses(Jekyll::Generator) end @@ -97,6 +96,18 @@ module Jekyll end end + def require_gems + self.gems.each do |gem| + if gem_whitelist.include?(gem) || !self.safe + require gem + end + end + end + + def gem_whitelist + @gem_whitelist ||= [] + end + # Internal: Setup the plugin search path # # Returns an Array of plugin search paths