diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 424815f9..f215e0b8 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -328,10 +328,14 @@ module Jekyll def as_liquid(item) case item + when String, Numeric, nil + item.to_liquid + when Hash + Hash[item.map { |k, v| [as_liquid(k), as_liquid(v)] }] when Array item.map{ |i| as_liquid(i) } else - item.respond_to?(:to_liquid) ? item.to_liquid : item + item.respond_to?(:to_liquid) ? as_liquid(item.to_liquid) : item end end end