5

我是 Jekyll 的新手,想在 Post Frontmatter 中创建其他变量:

style:
  name: post
img: image_name

当我尝试使用像标题这样的变量时,它可以工作

{% page.title %}

但是当我尝试使用另一个变量时

{% if page.img %}
  {{ page.img }}
{% else %}
  No image
{% endif %}

返回零。即使只是尝试输出

{{ page.img }}

知道为什么我不能使用 frontmatter 中定义的自定义变量吗?

4

2 回答 2

10

经过一番研究,我发现我的 YAML FrontMatter 变量没有在布局文件中读取,并找到了这个链接:

https://github.com/jekyll/jekyll/issues/4123

所以我改变了

{{ page.img }}

至:

{{ layout.img }}

现在它可以工作了。

于 2016-04-17T19:14:14.993 回答
1

您应该使用 {{ page.img }} 而不是 {% page.img %}。{% %} 中的百分比通常用于当你做一些事情而不是仅仅调用一个变量时——比如 if 语句、for 语句、包含等。

我不认为 {% page.title %} 会单独工作。

于 2016-04-15T19:03:23.470 回答