Jekyll - 为每个环境变量更改 frontmatter 变量

Jekyll - Change frontmatter variables for each environment variable

我正在尝试根据当前的 Jekyll 环境输出前端变量。

比如当前环境是dev我想显示变量dev

---
something:
  dev: "Some text"
  production: "Other text
---

我正在尝试使用以下方法访问变量 dev,但没有得到任何结果:

{{ page.something.jekyll.environment }}

有更好的方法吗?

我不认为你可以通过这种方式访问​​ front matter。

相反,您可以在 html 模板中分配 dev 变量,并将环境作为条件:

---
layout: default
---
{% if jekyll.environment == "dev" %}
{% assign dev = "this is dev" %}
{% endif %}

<div id="page-content">
{{dev}}
...
</div>

您也可以直接将相关元素包装在模板中的 if 语句中。

正确的语法是:{{ page.something[jekyll.environment] }}.

请注意,本地 jekyll.environment 是“发展”而不是 "dev"。