Начальная тема YAML для Jekyll и вложенных списков

У меня есть набор вложенных списков yaml примерно со следующим:

title: the example
image: link.jpg
products:
 - top-level: Product One
   arbitrary: Value
   nested-products:
    - nested: Associated Product
      sub-arbitrary: Associated Value
 - top-level: Product Two
   arbitrary: Value
 - top-level: Product Three
   arbitrary: Value

Я могу без проблем перебирать продукты, используя for item in page.products, и я могу использовать логический оператор, чтобы определить, существуют ли вложенные продукты - что я НЕ МОГУ сделать, так это перебрать несколько nested-products на итерацию top-level

Я пробовал использовать for subitem in item и другие варианты, но не могу заставить их работать - есть идеи?


person motleydev    schedule 06.10.2012    source источник


Ответы (1)


Обновлять

Этот пример, который я только что написал (называется index.html)

---
title: the example
products:
 - top-level: Product One
   arbitrary: Value
   nested-products:
    - nested: Associated Product
      sub-arbitrary: Associated Value
    - nested: Another associate
      sub-arbitrary: with its associated value
 - top-level: Product Two
   arbitrary: Value
   nested-products:
    - nested: nested product Two
      sub-arbitrary: Two's nested's associate value
 - top-level: Product Three
   arbitrary: Value
 - top-level: Product Four
   arbitrary: SomeValue
---
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">

<head>
  <title>{{ page.title }}</title>
</head>

<body>

<h4>products:</h4>
<ul>{% for product in page.products %}
  <li>{{ product.top-level }}: {{ product.arbitrary }}{% if product.nested-products %}
    <ul>
    {% for nestedproduct in product.nested-products %}  <li>{{ nestedproduct.nested }}: {{ nestedproduct.sub-arbitrary }}</li>
    {% endfor %}</ul>
  {% endif %}</li>{% endfor %}
</ul>

<p>Hope that answers it</p>

</body>
</html>

Производит это:

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">

<head>
  <title>the example</title>
</head>

<body>

<h4>products:</h4>
<ul>
  <li>Product One: Value
    <ul>
      <li>Associated Product: Associated Value</li>
      <li>Another associate: with its associated value</li>
    </ul>
  </li>
  <li>Product Two: Value
    <ul>
      <li>nested product Two: Two's nested's associate value</li>
    </ul>
  </li>
  <li>Product Three: Value</li>
  <li>Product Four: SomeValue</li>
</ul>

<p>Hope that answers it</p>

</body>
</html>
person Rudy Velthuis    schedule 15.10.2012
comment
Спасибо, я пробовал это изначально, но он повторял только первый экземпляр подпунктов. Есть мысли относительно того, почему это могло произойти? - person motleydev; 16.10.2012
comment
Без понятия. Я делаю нечто подобное на своих страницах, и это прекрасно работает. - person Rudy Velthuis; 17.10.2012
comment
Взгляните на мой пример. Если это дает что-то еще, что-то не так с вашей настройкой. - person Rudy Velthuis; 17.10.2012