主题目录中的文件夹 _data 未获取值

Folder _data in theme directory does not get the values

我正在使用命令 jekyll new-theme mytheme 制作 Jekyll 主题。我想为这个主题添加翻译,所以我在根目录中创建了文件 _data/translations.yml。这是它的内容:

---
en:
  post: "Post"
es:
  post: "Artículo"

我通过以下表达式获取信息:

{% assign t = site.data.translations %}
{{ t[site.lang]['post'] }}

此设置仅在我将 _data/translations.yml 文件移动到我的 Jekyll 网站目录时有效,该目录是通过命令 jekyll new mysite.

创建的

数据文件是否超出主题范围?我应该把这个 yml 文件放在另一个目录中吗?如果不能在主题区使用,我想设置一个默认值:如何实现?

提前致谢。

从 Jekyll 4.0 开始,是的,主题内的数据文件-gem 不会被读取。
您需要使用名为 jekyll-data 的插件(由我编写)。

如果您打算为其他用户发布主题,我建议在主题的 gemspec 中添加插件作为运行时依赖项。否则,只需将插件添加到站点 Gemfile 中的 :jekyll_plugins 组就足够了。