Jekyll 循环文件名的页变量

Jekyll 循环文件名的页变量,jekyll,liquid,Jekyll,Liquid,对于双语网站,我有两种语言的yaml数据文件 文件示例: en_services.yml fr_services.yml 我的页面中的变量示例: --- lang: en --- 我想在文件中循环使用lang作为前缀,类似于: {% for service in site.data.{{ page.lang }}_services %} {% endfor %} 这不管用,我有办法吗 顺便说一下,我不认为我可以在_data文件夹中添加子文件夹,对吗 谢谢。虽然这不起作用,但如果您能够将它

对于双语网站,我有两种语言的yaml数据文件

文件示例:

en_services.yml
fr_services.yml
我的页面中的变量示例:

---
lang: en
---
我想在文件中循环使用lang作为前缀,类似于:

{% for service in site.data.{{ page.lang }}_services %}

{% endfor %}
这不管用,我有办法吗

顺便说一下,我不认为我可以在_data文件夹中添加子文件夹,对吗


谢谢。

虽然这不起作用,但如果您能够将它们放在同一个文件中(按相应的语言代码分组),则有一个解决方案

另一个例子是基于文章作者的,但是您应该能够使用相同的设置,使用语言代码而不是作者姓名。

您应该使用:

site.data[{{ page.lang }} + '_services']
data[i]为_data目录中的所有文件都有键/值条目,并传入字符串,如下所示(对于/_data/book.yaml):

…完全可以工作,并且可以将括号内的字符串与所需的任何变量连接起来。:)


应该能做到这一点。

巨大+1。这就是答案
site.data['book'] 
{% capture thefile %}{{ page.lang }}_services{% end capture %}
{% for service in site.data[thefile] %}
...
{% endfor %}