Escaping double curly braces inside a markdown code block in Jekyll
Solution 1:
You're looking for the {% raw %}
tag.
{% raw %}
Hello, my name is {{name}}.
{% endraw %}
Solution 2:
You can use {% raw %}
to ensure content is unmodified by Jekyll:
{% raw %}
This is inserted literally: {{foo}}
{% endraw %}
However, note that this is not a code block. You will need additional code formatting to make your content render as code:
{% raw %}
I'm a code block, because I'm indented by 4 spaces
{% endraw %}
{% raw %}
```handlebars
I'm a code block that contains {{handlebars}}
with highlighting.
```
{% endraw %}
Solution 3:
With jekyll the code is:
{% highlight html%}
{% raw %}
<h2> {{ user.name.first | uppercase }}</h2>
<p> {{ user.email }}</p>
{% endraw %}
{% endhighlight %}
Solution 4:
For future references: using plain {% raw %}
and {% endraw %}
is only the second best solution since those are shown if you look up the Markdown on normal github.com.
The best way is to put {% raw %}
and {% endraw %}
in HTML comments:
<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->
Due to the HTML comments it is seen by Github as a comment. In Github pages the raw tags will prevent the parsing of the curly brackets in between the tags.
Solution 5:
This works in jekyll:
{%raw%}{{thing}}{%endraw%}