38 lines
890 B
Ruby
38 lines
890 B
Ruby
# A simple way to inspect liquid template variables.
|
|
# Usage:
|
|
# Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
|
|
# {{ site | debug }}
|
|
# {{ site.posts | debug }}
|
|
#
|
|
require 'pp'
|
|
module Jekyll
|
|
# Need to overwrite the inspect method here because the original
|
|
# uses < > to encapsulate the psuedo post/page objects in which case
|
|
# the output is taken for HTML tags and hidden from view.
|
|
#
|
|
class Post
|
|
def inspect
|
|
"#Jekyll:Post @id=#{self.id.inspect}"
|
|
end
|
|
end
|
|
|
|
class Page
|
|
def inspect
|
|
"#Jekyll:Page @name=#{self.name.inspect}"
|
|
end
|
|
end
|
|
|
|
end # Jekyll
|
|
|
|
module Jekyll
|
|
module DebugFilter
|
|
|
|
def debug(obj, stdout=false)
|
|
puts obj.pretty_inspect if stdout
|
|
"<pre>#{obj.class}\n#{obj.pretty_inspect}</pre>"
|
|
end
|
|
|
|
end # DebugFilter
|
|
end # Jekyll
|
|
|
|
Liquid::Template.register_filter(Jekyll::DebugFilter) |