From 1e74c7a54721a84ac30686ae1adda2827d8b94de Mon Sep 17 00:00:00 2001 From: Jordon Bedwell Date: Thu, 14 Apr 2016 20:35:04 -0500 Subject: [PATCH 1/2] Globalize Jekyll's Filters. As it stands Jekyll does not globalize it's filters. So anybody wishing to go into Jekyll's context to process their own Liquid (say in a plugin) may be taken aback when they find out that Jekyll's filters are not available. See: jekyll/jekyll-assets#252. --- lib/jekyll/filters.rb | 4 ++++ lib/jekyll/renderer.rb | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 16377623..65fc7e41 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -402,3 +402,7 @@ module Jekyll end end end + +Liquid::Template.register_filter( + Jekyll::Filters +) diff --git a/lib/jekyll/renderer.rb b/lib/jekyll/renderer.rb index 7d20d452..b158f421 100644 --- a/lib/jekyll/renderer.rb +++ b/lib/jekyll/renderer.rb @@ -52,7 +52,6 @@ module Jekyll document.trigger_hooks(:pre_render, payload) info = { - :filters => [Jekyll::Filters], :registers => { :site => site, :page => payload['page'] } } From 27366f2e305ecb1f95a9b564058928cf00f81812 Mon Sep 17 00:00:00 2001 From: Jordon Bedwell Date: Fri, 15 Apr 2016 12:02:25 -0500 Subject: [PATCH 2/2] Explicitly require Filters rather than implicitly. --- lib/jekyll.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll.rb b/lib/jekyll.rb index 6896bb0b..6dc42a92 100644 --- a/lib/jekyll.rb +++ b/lib/jekyll.rb @@ -45,7 +45,6 @@ module Jekyll autoload :Errors, 'jekyll/errors' autoload :Excerpt, 'jekyll/excerpt' autoload :External, 'jekyll/external' - autoload :Filters, 'jekyll/filters' autoload :FrontmatterDefaults, 'jekyll/frontmatter_defaults' autoload :Hooks, 'jekyll/hooks' autoload :Layout, 'jekyll/layout' @@ -77,6 +76,7 @@ module Jekyll require 'jekyll/generator' require 'jekyll/command' require 'jekyll/liquid_extensions' + require "jekyll/filters" class << self # Public: Tells you which Jekyll environment you are building in so you can skip tasks