簡體   English   中英

在Jekyll / Liquid模板中使用變量訪問數組

[英]Accessing an array with a variable in Jekyll/Liquid templating

我的模板中包含以下代碼:

  {% for post in site.posts %}
    {% capture num_colors %}{{ site.colors | size }}{% endcapture %}
    {% capture color_index %}{{ forloop.index0 | mod: num_colors }}{% endcapture %}

    <a href="{{ post.url }}" class="post-box" rel="bookmark" title="{{ post.title }}">
      <div class="post-block {{ site.colors[color_index] }}">
        <div class="contents">
          <div class="cat-tag">
            {{ post.categories[0] | upcase }}
          </div>

          <h2>{{ post.title }}</h2>
        </div>
      </div>
    </a>
  {% endfor %}

這樣始終不返回任何內容: {{ site.colors[color_index] }}即使我嘗試打印它們時num_colorscolor_indexsite.colors都將返回正確的內容。

顏色在我的_config.yml中定義為:

colors: [light_blue, coral, yellow, teal, blue, deep_blue]

我正在使用一個插件來獲取模數。 基本上,我只想為每個帖子附加一個類,當其超出顏色總數時,它將重新開始。 這似乎很簡單,所以我很困惑。

更換

{% capture num_colors %}{{ site.colors | size }}{% endcapture %}
{% capture color_index %}{{ forloop.index0 | mod: num_colors }}{% endcapture %}

創建人:

{% assign num_colors = site.colors | size %}
{% assign color_index = forloop.index0 | modulo: num_colors %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM