Skip to content

Instantly share code, notes, and snippets.

Created June 11, 2011 19:11
Show Gist options
  • Save phaer/1020852 to your computer and use it in GitHub Desktop.
Save phaer/1020852 to your computer and use it in GitHub Desktop.
Raw tag for jekyll. Keeps liquid from parsing text betweeen {% raw %} and {% endraw %}
module Jekyll
class RawTag < Liquid::Block
def parse(tokens)
@nodelist ||= []
while token = tokens.shift
if token =~ FullToken
if block_delimiter == $1
@nodelist << token if not token.empty?
Liquid::Template.register_tag('raw', Jekyll::RawTag)
Copy link

JonnoFTW commented Nov 6, 2018

I get an error using this when trying to run locally:

$ sudo jekyll serve
Configuration file: /scratch/Dropbox/
            Source: /scratch/Dropbox/
       Destination: /scratch/Dropbox/
 Incremental build: disabled. Enable with --incremental
  Liquid Exception: uninitialized constant Jekyll::RawTag::FullToken in /scratch/Dropbox/
jekyll 3.8.5 | Error:  uninitialized constant Jekyll::RawTag::FullToken

Copy link

I get the same error as @JonnoFTW after upgrading to Jekyll 3. My guess is the class name in Jekyll or Liquid changed.

Copy link

phaer commented Jun 30, 2019

This gist is a bit over 8 years old, which is quite some time in software development. Please take the discussion to liquid and see if it's still supported there. I've long stopped using liquid as well as jekyll myself.

Copy link

Turned out Jekyll 3 has the raw tag built in, so this code isn't needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment