你能在页面中使用Jekyll布局变量吗?

时间:2015-05-03 08:20:27

标签: jekyll

在Jekyll布局中,default.html,初始化变量

{% assign relative_path = "../../" %}

在使用默认布局的页面内,此变量为空。 如何使用布局中设置的内页变量?

这是相反的 Can you use Jekyll page variables in a layout?

2 个答案:

答案 0 :(得分:3)

在对Jekyll代码进行一些研究之后,似乎无法从页面或帖子中访问布局变量。关于页面布局的唯一信息是布局的名称{{ page.layout }}

然后您可以使用它在_config.yml中存储一些与布局相关的变量,并使用{{ page.layout }}变量从任何帖子/页面获取它们。

_config.yml

layoutVars:
    default:
        relative_path: "../../"
    post:
        relative_path: "an other path"
    page:
        relative_path: "hello world"

在页面或帖子中使用

{% assign pagePath = site.layoutVars[page.layout].relative_path %}

答案 1 :(得分:0)

你有两种可能性。

  1. 将您的变量存储在布局yaml-header中,例如: ---
    变量:值
    ---

  2. 查看jekylls front matter defaults。您可以根据帖子/文档的类型和帖子存储的文件夹声明变量。

  3. 如果这是你正在寻找的,我不会,但我希望它有所帮助......