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

Can you use Jekyll layout variables in pages?

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

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

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

这与 Can you use Jekyll page variables in a layout?

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

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

_config.yml

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

在页面中使用或 post

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

你有两种可能。

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

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

我不知道这是否是您要找的东西,但我希望它对您有所帮助...