引用包括 for 循环构造中的参数

Referencing include parameters in forloop construction

我的项目在 _data 文件夹中有各种文件(例如:list1.ymllist2.ymllist3.yml),我正在寻找一种灵活的方式来生成一个 for 循环,通过将一个参数传递给一个包含,像这样:

{% include loop.html list="list1" %}

loop.html我有:

{% capture listToUse %}{{ include.list }}{% endcapture %}
{% for item in site.data.listToUse %}
...
{% endfor %}

然而,当我运行这个时,没有任何反应。任何帮助将不胜感激!

site.data.listToUse 不是正确的表达式,您需要将变量括在方括号中:site.data[listToUse].

{% assign listToUse = include.list %}

{% for item in site.data[listToUse] %}
  {{ item | inspect }}
{% endfor %}