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

Posted

技术标签:

【中文标题】Jekyll - 无法访问自定义前端变量【英文标题】:Jekyll - Can't Access Custom Front Matter Variables 【发布时间】: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个破折号吗?您的代码有效,我认为除了代码本身之外还有其他问题。 你能提供一个存储库网址吗?调试效率更高。 【参考方案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 

现在它可以工作了。

【讨论】:

以上是关于Jekyll - 无法访问自定义前端变量的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jekyll 通过自定义 YAML 前端变量对帖子进行排序?

无法使用 Rails 上的自定义布局访问视图上的实例变量

如何按作者对帖子进行分页

无法访问我的单元格内容中的变量

在 WPF C# 中无法访问用户控件的自定义属性

自定义 UITableview 单元格可访问性无法正常工作