【问题标题】:Jekyll - Can't Access Custom Front Matter VariablesJekyll - 无法访问自定义前端变量
【发布时间】:2016-08-07 19:06:54
【问题描述】:

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

style:
  name: post
img: image_name

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

{% page.title %}

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

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

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

{{ page.img }}

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

【问题讨论】:

  • 您将代码放在哪里?在布局文件中?包括?什么是整个前端部分?有repo可以看吗?
  • 我刚刚将您的前端内容粘贴到测试帖子中,然后将您的代码块粘贴到下面,它按预期输出image_name。你有前面的3个破折号吗?您的代码有效,我认为除了代码本身之外还有其他问题。
  • 你能提供一个存储库网址吗?调试效率更高。

标签: yaml jekyll blogs yaml-front-matter


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答,遗憾的是 {{ page.img }} 没有输出任何内容。
【解决方案2】:

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

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

所以我改变了

{{ page.img }}

到:

{{ layout.img }}

现在它可以工作了。

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 1970-01-01
    • 2014-03-21
    • 2015-08-10
    • 1970-01-01
    • 2016-05-10
    • 2012-04-30
    • 2015-03-16
    • 1970-01-01
    相关资源
    最近更新 更多