【问题标题】:Can you iterate a front matter collection variable in Jekyll?你能在 Jekyll 中迭代一个 Front Matter 集合变量吗?
【发布时间】:2017-12-03 22:50:21
【问题描述】:

我正在尝试查看是否可以在 Jekyll 中为我正在为 Jekyll 网站实施的推荐块迭代变量。基本上,我想让一个图标乘以我收藏中指定的数字。这甚至可以通过液体降价实现吗?这是一个sn-p:

{% assign star = "<i class="icon-star"></i>" %}
{% assign star = star | times:{{ testimonials.stars }} %}

我在想有更好的方法来做到这一点,但我很好奇我可以用正面问题摆脱什么。

【问题讨论】:

    标签: jekyll liquid yaml-front-matter


    【解决方案1】:

    关键是使用for 块。您不必编写多个assign 语句。

    以下内容将使用代码在任何页面中根据前面的问题键rating 呈现star
    根据需要修改for 块。

    {% assign star = '<i class="icon-star"></i>' %}
    <div class="rating">
      {% for count in (1..page.rating)) %}
        {{ star }}
      {% endfor %}
    </div>
    

    参考:docs

    【讨论】:

      【解决方案2】:

      要进行迭代,您可以使用 for 循环将所需的字符串附加到变量:

      {% assign star = '<i class="icon-star"></i>' %}
      {% assign result = '' %}
      {% for time in testimonials.stars %}
       {% assign result = result | append: star%}
      {% endfor %}
      

      【讨论】:

      • 啊!我从来没有好好感谢过你。这在我编写代码时完全有效。再次感谢。迟到总比没有好!
      猜你喜欢
      • 1970-01-01
      • 2012-04-30
      • 2014-06-04
      • 1970-01-01
      • 2018-06-25
      • 2014-10-23
      • 1970-01-01
      • 2015-08-17
      • 2019-01-27
      相关资源
      最近更新 更多