[markdown] Jekyll의 마크 다운 코드 블록 내에서 이중 중괄호 이스케이프

저는 Jekyll을 사용하여 핸들 바와 같은 구문을 포함하는 일부 코드를 문서화하려는 문서 사이트를 만들고 있습니다. 예를 들면 {{foo}}. 문제는 Jekyll이 액체 태그를 사용하고 내가 무엇을하든 내 이중 컬리가 액체 프로세서에 의해 찢어지고 있다는 것입니다.

그건 그렇고, 나는 마크 다운 프로세서로 kramdown을 사용하고 있습니다.

다음은 내가 시도한 것입니다.

{% highlight html linenos %}
  Hello, my name is {{name}}.
{% endhighlight %}

이것은 유동 변수에 대한 참조라고 생각하기 때문에 {{name}} 섹션을 완전히 제거합니다.

나는 또한 이것을 시도했다 :

{% highlight html linenos %}
  Hello, my name is \{\{name\}\}.
{% endhighlight %}

이 경우 중괄호를 이스케이프하려고하지만 결과적으로 슬래시가 페이지에 렌더링됩니다.

나는 이것을 시도했다.

{% highlight html linenos %}
  Hello, my name is <span>{</span>{name}}.
{% endhighlight %}

분명히 이것은 꽤 멍청했습니다. 이 경우 구문을 html (필요한 경우)로 지정했기 때문에 span 태그가 페이지에 렌더링됩니다.

그렇다면이 문제를 어떻게 해결할 수 있을까요?



답변

당신은 {% raw %}태그를 찾고 있습니다.

{% raw %}
Hello, my name is {{name}}.
{% endraw %}


답변

를 사용 {% raw %}하여 Jekyll이 콘텐츠를 수정하지 않도록 할 수 있습니다 .

{% raw %}
This is inserted literally: {{foo}}
{% endraw %}

그러나 이것은 코드 블록아닙니다 . 콘텐츠를 코드로 렌더링하려면 추가 코드 형식이 필요합니다.

{% 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 %}


답변

jekyll의 코드는 다음과 같습니다.

{% highlight html%}
{% raw %}
     <h2> {{ user.name.first | uppercase }}</h2>
     <p> {{ user.email }}</p>
{% endraw %}
{% endhighlight %}


답변

향후 참조를 위해 : 일반 사용 {% raw %}및 것은 {% endraw %}정상적인 github.com에 마크 다운을 보면 표시됩니다 그 이후에만 두 번째 최적의 솔루션입니다.

가장 좋은 방법은 배치하는 것입니다 {% raw %}{% endraw %}HTML의 코멘트 :

<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->

HTML 주석으로 인해 Github에서 주석으로 표시됩니다. Github 페이지에서 원시 태그는 태그 사이의 중괄호 구문 분석을 방지합니다.


답변

이것은 jekyll 에서 작동합니다 .

{%raw%}{{thing}}{%endraw%}


답변