Я пытаюсь перебрать массив, который передается в include как переменную, а затем проверить, соответствует ли переменная некоторому YAML - если это так, я хочу напечатать результат. Я могу сделать это вручную, используя приведенный ниже код, однако мне нужно решение, которое будет работать при большем массиве.
Сначала я передаю эту информацию со страницы:
<!--- Pass these variables into include.html --->
{% assign var_array = "D" %}
{% assign data = "object" %}
{% include include.html %}
Я хочу исключить все eslif и заменить чем-то, что будет зацикливаться по всему массиву.
<!--- include.html --->
{% assign data = site.data.sheet.[data].last.items %}
{% assign sorted = var_array | split:"," %}
{% for item in data %}
{% if item.foo == sorted[0] %}
<p>{{ item.foo }}</p>
{% elsif item.foo == sorted[1] %}
<p>{{ item.foo }}</p>
{% elsif item.foo == sorted[2] %}
<p>{{ item.foo }}</p>
{% elsif item.foo == sorted[3] %}
<p>{{ item.foo }}</p>
{% endif %}
{% endfor %}
Вот данные YAML:
<!--- sheet.yaml --->
object:
- items:
- foo: 'A'
- bar: 'text'
- items:
- foo: 'B'
bar: 'text'
- items:
- foo: 'C'
bar: 'text'
- items:
- foo: 'D'
bar: 'text'
Вот желаемый результат:
<!-- Desired Output --->
<p>D</p>