Jekyll - 无法访问自定义前端变量

ste*_*cdn 4 blogs yaml jekyll yaml-front-matter

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

style:
  name: post
img: image_name
Run Code Online (Sandbox Code Playgroud)

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

{% page.title %}
Run Code Online (Sandbox Code Playgroud)

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

{% if page.img %}
  {{ page.img }}
{% else %}
  No image
{% endif %}
Run Code Online (Sandbox Code Playgroud)

那将返回零.即使只是想输出

{{ page.img }}
Run Code Online (Sandbox Code Playgroud)

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

ste*_*cdn 8

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

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

所以我改变了

{{ page.img }}
Run Code Online (Sandbox Code Playgroud)

至:

{{ layout.img }}
Run Code Online (Sandbox Code Playgroud)

现在它的工作原理.


Ron*_*Ron 1

您应该使用 {{ page.img }} 而不是 {% page.img %}。{% %} 中的百分比通常用于当您执行除调用变量之外的操作时 - 例如 if 语句、for 语句、include 等。

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