jekyll 中的 Liquid 变量包含参数
Liquid variable inside jekyll include parameter
我在 _includes
中有一个 jekyll 部分,它在其内容周围包裹了一个彩色的 div。部分 (callout.html
) 如下所示:
<div markdown="1" class="callout">
{{ include.content }}
</div>
我在 test.md
中这样称呼它:
{% include callout.html content="Content to be filled with a URL: {{ site.baseurl }}/img/test.png" %}
但是,这会导致 Liquid 抛出错误:
Liquid Exception: Invalid syntax for include tag: ...
" Valid syntax: {% include file.ext param='value' param2='value' %} in
bundler: failed to load command: jekyll (/usr/local/lib/ruby/gems/2.6.0/bin/jekyll)
我认为问题是由于我在 content
参数中包含了 {{ site.baseurl }}
。
我怎样才能绕过这个限制?
https://jekyllrb.com/docs/includes/#passing-parameter-variables-to-includes
我在发布后不久就在 Jekyll 文档中找到了答案。
content
参数的值在传递给 include 之前应该单独存储为一个变量,使用 capture
。对于上面的例子:
{% capture callout_content %}
Content to be filled with a URL: {{ site.baseurl }}/img/test.png
{% endcapture %}
{% include callout.html content=callout_content %}
我在 _includes
中有一个 jekyll 部分,它在其内容周围包裹了一个彩色的 div。部分 (callout.html
) 如下所示:
<div markdown="1" class="callout">
{{ include.content }}
</div>
我在 test.md
中这样称呼它:
{% include callout.html content="Content to be filled with a URL: {{ site.baseurl }}/img/test.png" %}
但是,这会导致 Liquid 抛出错误:
Liquid Exception: Invalid syntax for include tag: ...
" Valid syntax: {% include file.ext param='value' param2='value' %} in
bundler: failed to load command: jekyll (/usr/local/lib/ruby/gems/2.6.0/bin/jekyll)
我认为问题是由于我在 content
参数中包含了 {{ site.baseurl }}
。
我怎样才能绕过这个限制?
https://jekyllrb.com/docs/includes/#passing-parameter-variables-to-includes
我在发布后不久就在 Jekyll 文档中找到了答案。
content
参数的值在传递给 include 之前应该单独存储为一个变量,使用 capture
。对于上面的例子:
{% capture callout_content %}
Content to be filled with a URL: {{ site.baseurl }}/img/test.png
{% endcapture %}
{% include callout.html content=callout_content %}