目前我正在与Jekyll合作开发一个新网站并在那里遇到一些问题。我有一个布局页面,我可以用每个页面的变量定义背景图像。
布局:
class="background background-{{ page.header_bg }}"
页:
---
header_bg: storm
---
但是现在我想动态地包含一些文件,具体取决于变量值。好吧,我可以用一些if或case语句来做,但实际上我想做一些像
这样的事情{% include page.header_bg %}
但这不起作用,因为Jekyll正在寻找一个名为" page.header_bg"而不是价值。
有人可以帮我吗?
答案 0 :(得分:11)
根据to the docs,您需要将变量名称放在其他{{ }}
。
从链接引用:
ProTip™:使用变量作为文件名
您要嵌入的文件的名称可以是文字的(如 上面的示例),或者您可以使用变量,使用类似液体的变量
{% include {{my_variable}} %}
中的语法。
答案 1 :(得分:0)
我知道这个问题已有6岁了,但是对于后代来说,这是一个明确的答案。您需要先assign
page.header_bg
到一个变量,然后在include
语句中使用该变量。
{% assign headerBg = page.header_bg %}
{% include headerBg %}
如果尝试直接在Liquid Exception: Invalid syntax for include tag
语句中使用page.header_bg
,则会收到错误include
。