【问题标题】:How can I change a variable in Jekyll _config.yml dynamically?如何动态更改 Jekyll _config.yml 中的变量?
【发布时间】:2024-01-06 17:32:01
【问题描述】:

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

这是我想做的,但我无法让它发挥作用。可以这样做吗?

在 _config.yml 中:

my_var: "value"

在template.html中:

{% site.my_var = "newvalue" %}

{% case site.my_var %}
  {% when "value" %}
    //do this
  {% when "newvalue" %}
   //do this instead
{% endcase %}

【问题讨论】:

  • 您能描述一下您的用例吗?为什么要这样做?

标签: html configuration-files jekyll liquid


【解决方案1】:

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

$> bundle exec jekyll serve --drafts --incremental --config _config.yml,_dev.yml

_dev.yml:

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

# see my styles uncompressed for dev work
sass:
    style: uncompressed

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

【讨论】:

  • 哇,我不知道。
  • 使用第二个配置文件一直是我构建额外副本的方式,但有一些小差异。所以必须 +1 这个答案。
最近更新 更多