Jekyll 循环文件名的页变量
对于双语网站,我有两种语言的yaml数据文件 文件示例: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文件夹中添加子文件夹,对吗 谢谢。虽然这不起作用,但如果您能够将它
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 %}