tread
tread

Reputation: 11088

Jekyll Variable '{{' was not properly terminated with regexp: /\}\}

In the post markdown I use a double brace {{ which on jekyll 2.5.3 returns an error:

Jekyll Variable '{{' was not properly terminated with regexp: /\}\}

The content is replaced with:

<article class="post-content">
    {{ content }}
</article>

in the template

When I remove this line from the post markdown it works prefectly:

`{{` **Double Curly Braces** indicate that data will be replaced with data binding

Why is this happening?

Update:

Stack trace:

/var/lib/gems/1.9.1/gems/liquid-2.6.1/lib/liquid/block.rb:78:in `create_variable': Variable '{{' was not properly terminated with regexp: /\}\}/  (Liquid::SyntaxError)
    from /var/lib/gems/1.9.1/gems/liquid-2.6.1/lib/liquid/block.rb:38:in `parse'
    from /var/lib/gems/1.9.1/gems/liquid-2.6.1/lib/liquid/document.rb:5:in `initialize'
    from /var/lib/gems/1.9.1/gems/liquid-2.6.1/lib/liquid/template.rb:59:in `new'
    from /var/lib/gems/1.9.1/gems/liquid-2.6.1/lib/liquid/template.rb:59:in `parse'
    from /var/lib/gems/1.9.1/gems/liquid-2.6.1/lib/liquid/template.rb:46:in `parse'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:106:in `render_liquid'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/convertible.rb:233:in `do_layout'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/post.rb:261:in `render'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/site.rb:298:in `block in render'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/site.rb:297:in `each'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/site.rb:297:in `render'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/site.rb:51:in `process'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/command.rb:28:in `process_site'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:56:in `build'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:34:in `process'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
    from /var/lib/gems/1.9.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
    from /var/lib/gems/1.9.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
    from /var/lib/gems/1.9.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
    from /var/lib/gems/1.9.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
    from /var/lib/gems/1.9.1/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
    from /var/lib/gems/1.9.1/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
    from /var/lib/gems/1.9.1/gems/jekyll-2.5.3/bin/jekyll:20:in `<top (required)>'
    from /usr/local/bin/jekyll:23:in `load'
    from /usr/local/bin/jekyll:23:in `<main>'

Upvotes: 2

Views: 1371

Answers (1)

RobertKenny
RobertKenny

Reputation: 3596

You will need to wrap that line in {% raw %} / {% endraw %} tags to stop it being processed by the liquid template engine.

{% raw %}
`{{` **Double Curly Braces** indicate that data will be replaced with data binding
{% endraw %}

Upvotes: 2

Related Questions