android.moparisthebest.org/plugins/puts.rb

39 lines
907 B
Ruby
Raw Normal View History

# Title: Puts Tag for Jekyll
# Author: Brandon Mathis http://brandonmathis.com
# Description: Puts is a liquid tag block which outputs its contents to the terminal
#
# Example Usage:
# Lets say you've assigned some variable you need to test.
# {% assign noun = "toaster" %}
#
# Drop it in a puts block along with a way to identify it in the output.
# {% puts %}
# Look out he's got a {{ noun }}.
# {% endputs %}
#
# Outputs:
# >>> {% puts %} <<<
# Look out he's got a toaster.
#
module Jekyll
class Puts < Liquid::Block
def initialize(tag_name, markup, tokens)
super
end
def render(context)
# Use a block if label + output is wider than 80 characters
if super.length > 69
puts "{% puts %}"
puts super
puts "{% endputs %}"
else
puts "{% puts %} #{super}"
end
end
end
end
Liquid::Template.register_tag('puts', Jekyll::Puts)