如何动态更改 Jekyll _config.yml 中的变量?

mal*_*ing 3 html configuration-files liquid jekyll

嗨,我正在处理 Jekyll 项目,我需要在 _config.yml 中放置一个变量,我想从模板代码动态更改该变量。

这就是我想要做的,但我无法让它发挥作用。是否有可能做到这一点?

在 _config.yml 中:

my_var: "value"
Run Code Online (Sandbox Code Playgroud)

在 template.html 中:

{% site.my_var = "newvalue" %}

{% case site.my_var %}
  {% when "value" %}
    //do this
  {% when "newvalue" %}
   //do this instead
{% endcase %}
Run Code Online (Sandbox Code Playgroud)

Fra*_*cke 5

虽然您显然不能使用Liquid 条件或环境变量(如在许多其他构建脚本中一样),但您可以使用第二个 yml 文件进行选择性覆盖:

$> bundle exec jekyll serve --drafts --incremental --config _config.yml,_dev.yml
Run Code Online (Sandbox Code Playgroud)

_dev.yml

# overrides title in _config.yml
title: "My Website (dev mode)"

# see my styles uncompressed for dev work
sass:
    style: uncompressed
Run Code Online (Sandbox Code Playgroud)

也许这符合您的需求...