Жидкая переменная внутри Jekyll включает параметр - PullRequest
0 голосов
/ 29 января 2020

У меня есть частичный jekyll в _includes, который оборачивает цветной 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)

Я полагаю, что проблема связана с моим включением {{ site.baseurl }} в параметр content.

Как мне обойти это ограничение?

1 Ответ

0 голосов
/ 29 января 2020

https://jekyllrb.com/docs/includes/#passing -параметры-переменные-для-включения

Я нашел ответ в документации Jekyll вскоре после публикации.

Значение content параметр должен быть сохранен как переменная отдельно перед передачей его включаемому, используя capture. Для примера выше:

{% capture callout_content %}
Content to be filled with a URL: {{ site.baseurl }}/img/test.png
{% endcapture %}

{% include callout.html content=callout_content %}
...