jekyll:尝试从 _data/products.yml 输出产品数组时出错

jekyll: getting error when trying to output array of products from _data/products.yml

我正在尝试从位于 _data 目录中的 products.yml 构建一个产品列表,在 jekyll 中使用 for loop 以便最终结果看起来像这样:example 用 handlebars.js

构建

首先,我在 _data/products.yml 中编写了一个 YAML 文件,其中包含按类别划分的产品列表

---
categories:
- Baking Products:
  - name: Vegetable oil
  - name: Vinegar
  - ...
- Dairy Products:
  - name: Cream Cheese
  - name: Cottage Cheese
  - ...
- Other Products:
  - name: Peanut butter
  - name: Chocolate spread
  - ...

现在我想遍历所有类别,并让每个类别遍历其所有产品并显示有关它们的一些信息:

{% for category in site.data.products %}
  <div class="plist">
    <div class="category">
      <h3>{{ category.name }</h3>
      <span>Qty</span>
    </div>
    {% for product category.products %}
      <div class="product checkbox">
        <input type="checkbox" id="{{ product.name | capitalize }}" value="{{ product.name }}">
        <label  for="{{ product.name | capitalize }}">{{name}}</label>
        <select name="{{ product.name }}" id="{{ product.name | capitalize }}Q" autocomplete="off" class="dropdown">
          <option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
        </select>
      </div>
    {% endfor %}
  </div>
  {% if loop.index0 % 2 == 0 %}
    <break></break>
  {% endif %}
{% endfor %}

出现此错误:

Liquid Exception: Liquid syntax error (line 13): Variable '{{ category.name }' was not properly terminated with regexp: /}}/ in order.html

jekyll 3.8.5 | Error: Liquid syntax error (line 13): Variable '{{ category.name }' was not properly terminated with regexp: /}}/

Liquid 变量需要用双大括号括起来:

{{ category.name }}

并且 Liquid 标签需要是一对 brace-percents:

{% seo %}

好的,这是固定代码。

谢谢@ashmaroli

{% for category in site.data.products %}
  <div class="plist">
    <div class="category">
      <h3>{{ category.name }}</h3>    <!-- missing "}" -->
      <span>Qty</span>
    </div>
    {% for product in category.products %}   <!-- missing "in" -->
      <div class="product checkbox">
        <input type="checkbox" id="{{ product.name | capitalize }}" value="{{ product.name }}">
        <label  for="{{ product.name | capitalize }}">{{name}}</label>
        <select name="{{ product.name }}" id="{{ product.name | capitalize }}Q" autocomplete="off" class="dropdown">
          <option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
        </select>
      </div>
    {% endfor %}
  </div>
  {% cycle '','<break></break>' %}   <!-- fixed -->
{% endfor %}