【问题标题】:Defaults in multiple config files in JekyllJekyll 中多个配置文件的默认值
【发布时间】:2021-03-26 00:58:24
【问题描述】:

我正在尝试在多个配置文件中定义默认值,以便于组织并且没有庞大的配置文件。据我所知,它不起作用,文档没有提到任何关于它的内容,但不确定我是否遗漏了什么。

这是两个配置文件:

_config.yml

defaults:
  - scope:
      path: ""
    values:
      value1: "Value1"

_config2.yml

defaults:
  - scope:
      path: ""
    values:
      value2: "Value2"

这是默认目录下的 HTML 文件

---
---
<p>{{ page.value1 }}</p>
<p>{{ page.value2 }}</p>

这是构建命令

jekyll build --config "_config.yml,_config2.yml"

所有这些,构建项目为 index.html 生成以下内容

<p></p>
<p>Value2</p>

即使改变范围,它也有相同的结果。似乎在另一个配置文件中定义默认值将完全覆盖前一个文件中的默认值。有没有办法让这样的事情发挥作用?

【问题讨论】:

    标签: jekyll


    【解决方案1】:

    docs 说:

    指定配置文件而不是自动使用 _config.yml。后期文件中的设置会覆盖早期文件中的设置。

    在您的情况下,defaultscope.path 是键,并且值被覆盖,因为 scope.path 在两个配置文件中是相同的。如果您在一个文件中更改了path,您应该会看到两个值都出现了。

    【讨论】:

    • 我确实尝试过。我通过将 index.html 放入一个目录来测试它,将一个的范围更改为该目录并将另一个的范围保持为空/全部,它具有相同的结果。
    • 但是你改变了path的值吗?否则,任何事情都不会按您的意愿工作。
    • 是的,抱歉,通过更改范围我的意思是我更改了 scope.path
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 2012-05-30
    • 2019-09-20
    • 2021-02-01
    相关资源
    最近更新 更多