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 - 无法访问自定义前端变量的主要内容,如果未能解决你的问题,请参考以下文章