Escaping Double Curlies
April 21, 2016
Just lost an hour of my life trying to output double curly brackets from a Jekyll blog post in markdown to my blog. Angular relies on double curlies. Go uses double curlies. Liquid uses double curlies. Jekyll uses double curlies. I want to show my double curlies.
The issue is double curly brackets {% raw %}{{ site.dlcb site.drcb }}{% endraw %}
are interpreted in liquid as interpolation so your curlies will (a) disappear on screen and (b) be interpreted as variables which is a real problem - it was crashing my blog!
So there are some solutions online. There are many people that love this one:
Raw Ima Give it to Ya
First a hat tip to SLaks who told me via a 2 year old Stack Overflow post that one needs to write raw
and endraw
enclosed in the <% %>
to escape the Angular double curlies in Jekyll so I could stop screwing up my blog with the code examples.
Didn't work for me in the context of a Jekyll blog post written in markdown but this is the credited response if otherwise on your site your code needs to output code-as-string.
Notable Quotables
Some people are escaping their double curlies with quotes. I refuse to do this because it makes it so unreadable. But if you think heiroglyphics were a good system, have at it here and enjoy your hell-world.
Nate Eagle, a God among men
This man NATE EAGLE saved me. This solution was the one that finally stopped the torture. In your _config.yml
file set up two variables with the double curlies so you have
left-curly: '{{ site.dlcb }}'
right-curly: '{{ site.drcb }}'
And now within your post in markdown you can reference this with
{{ site.dlcb}} site.left-curly {{ site.drcb }}
some sweet code example {{ site.dlcb}} site.right-curly {{ site.drcb }}
Another Way. Go Raw
You can also enclose your double curlies in a Jekyll raw / endraw tag. This would look like:
{{% raw %}} {% raw %} {{ lookatmydoublecurlies }} {% endraw %} {{% endraw %}}
PRO TIPS FROM AN AMATEUR
- Restart your server when you make changes to
config.yml
- Write out your post normally with double curly brackets and just use a find-replace and thank me later
- Make Mother's Day reservations a few weeks in advance, places really fill up.
- Use single quotes and not double quotes in your variable assignment