目前我正在用Jekyll做一个新的网站,但遇到了一些问题。我有一个布局页面,我可以用每个页面的变量来定义背景图片。
布局。
class="background background-{{ page.header_bg }}"
Page:
---
header_bg: storm
---
但现在我想根据变量值动态地包含一些文件。好吧,我可以用一些if或case语句来实现,但实际上我想做一些像这样的事情
{% include page.header_bg %}
但这是行不通的,因为Jekyll正在寻找一个文件,这个文件叫做 "page.header_bg",而不是这个值。
有人能帮帮我吗?
根据"... 到文档你需要把变量名放在附加的 {{ }}
.
引自链接。
ProTip™。使用变量作为文件名
你想嵌入的文件名可以是字面意思(如上例),也可以使用一个变量,使用类似液体的变量语法,如
{% include {{my_variable}} %}
.
我知道这个问题已经问了6年了,但这里有一个明确的答案,供后人参考。你需要 assign
page.header_bg
中的变量,然后再在 include
语句。
{% assign headerBg = page.header_bg %}
{% include headerBg %}
你会得到一个错误 Liquid Exception: Invalid syntax for include tag
如果你试图使用 page.header_bg
直接在 include
声明: