【问题标题】:Can you use Jekyll layout variables in pages?你可以在页面中使用 Jekyll 布局变量吗?
【发布时间】:2015-05-03 08:20:26
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jekyll


    【解决方案1】:

    在对 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 %}
    

    【讨论】:

      【解决方案2】:

      你有两种可能。

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

      2. 看看jekylls front matter defaults。您可以根据帖子/文档的类型以及帖子所在的文件夹声明变量。

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

      【讨论】:

      • 非常感谢!大卫澄清
      猜你喜欢
      • 2012-02-15
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      • 2010-09-19
      相关资源
      最近更新 更多