public
Created — forked from phaer/raw_tag.rb

Raw tag for jekyll. Keeps liquid from parsing text betweeen {% raw %} and {% endraw %}

  • Download Gist
raw_tag.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
module Jekyll
class RawTag < Liquid::Block
def parse(tokens)
@nodelist ||= []
@nodelist.clear
while token = tokens.shift
if token =~ FullToken
if block_delimiter == $1
end_tag
return
end
end
@nodelist << token if not token.empty?
end
end
end
end
 
Liquid::Template.register_tag('raw', Jekyll::RawTag)

https://github.com/Shopify/liquid/blob/4087a94d881c53b803f1d682db7e4676a6f4d714/test/lib/liquid/tags/raw_test.rb

require 'test_helper'

class RawTest < Test::Unit::TestCase
include Liquid

def test_tag_in_raw
assert_template_result '{% comment %} test {% endcomment %}',
'{% raw %}{% comment %} test {% endcomment %}{% endraw %}'
end

def test_output_in_raw
assert_template_result '{{ test }}',
'{% raw %}{{ test }}{% endraw %}'
end
end

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.