liquid 문법/삽질 정리
목차
liquid 문법
아래 사이트에서 정확한 문법을 확인할 수 있다.
https://shopify.github.io/liquid/filters/abs/
https://shopify.dev/api/liquid/filters
for
1
2
3
4
5
6
7
{% for item in array %}
{{ item }}
{% endfor %}
{% for i in (1..5) %}
{{ i }}
{% endfor %}
if
1
2
3
{% if condition %}
{{ item }}
{% endif %}
variable
1
2
{% assign var1 = "value" %}
{% assign var2 = 0 %}
variable plus 1 (변수 1 증가)
1
2
3
{% assign var1= 0 %}
{% assign var1= var1 | plus: 1 %}
remove string
filename
변수에서 0001-01-01-
string을 제거하고 출력
1
{{ filename | remove_first: '0001-01-01-' }}
liquid 삽질
liquid warning
어느날 지킬 서버를 돌리다가 아래와 같은 warning이 뜨는 것을 발견했다.
1
Liquid Warning: Liquid syntax error (line 32): Unexpected character = in "{{data={(char*)data}}" in path/to/filename.md
Warning이 나는 파일을 살펴보니 {{data={(char*)data}}
문자열의 {{
, }}
를 liquid 태그로 인식하여 정상적인 출력이 이루어지지 않고 있었다.
이는 liquid 태그를 사용할 때 {% raw %}
, {% endraw %}
태그로 감싸주면 해결된다.
{% raw %}
{{data={(char*)data}}
{% endraw %}
정상적으로 {{data={(char*)data}}
내용이 출력되었음을 확인할 수 있다.
번외
{% endraw %}
문자를 출력시킬 경우 {%
, %}
문자를 liquid 태그로 인식하므로
\{% endraw %\}
처럼 \
문자를 붙이거나 아래와 같이 태그로 감싸야 한다.
1
<code class="language-plaintext highlighter-rouge">{% endraw %}</code>
<pre> </pre>
태그(markdown의 ```
)를 사용하는 경우 아래와 같이 html 태그로 감싼 뒤 html entity를 붙여 태그로 인식하지 못하게 막아야 한다.
1
2
3
4
5
6
<div class="highlight">
<pre class="highlight"><code>{% raw %}
{{data={(char*)data}}
{% endraw %}
</code></pre>
</div>
This post is licensed under CC BY 4.0 by the author.