Github Pages 以不同于以前的方式生成我的网站

Github Pages is generating my site in a different way than it did previously

我在 Jekyll 中编写了一个循环来填充四列的行。最后一行将填充一到四列。在本地开发中,它按预期工作。在 Github 页面上,它在过去两年中一直有效。我已经一年多没有更改此代码了。每次我将新更改推送到 Github 页面时,静态站点生成器都会启动并重建整个站点。在某些时候,下面的代码停止在列中写入,并开始在行中写入,只填充一个列。同样,我没有更改源文件,所以显然在 Github 的维护中某处发生了一些更改,以至于破坏了这个布局。

Jekyll 或 Github 页面是否发生了变化,导致以下代码现在已损坏或已过时?你看到我可以改变什么来恢复以前的结果吗?

---
layout: default
---
<div id="people-container" class="container">

  {% assign numColumns = 4 %}
  {% assign columnWidth = 12 | divided_by: numColumns %}
  {% for person in site.data.people %}
    {% assign card = person[1] %}

    {% cycle 'add row' : '<div class="row">', nil, nil, nil %}
      {% if card.image %}
        {% if card.profile == true %}
          <a href="{{ site.baseurl }}/team/{{ person[0] }}/">
        {% endif %}
        <div class="col-sm-{{columnWidth}}">
          <div class="profile-image-wrapper">
            <img class="profile-image" src="{{ site.baseurl}}/{{ card.image }}" alt="{{ person[1].name }}">
          </div>
          <div class="profile-data-wrapper inverted">
            <p class="profile-name">{{ card.name }}</p>
            <p class="profile-title">{{ card.title }}</p>
          </div>
        </div>
        {% if card.profile == true %}
          </a>
        {% endif %}
      {% endif %}
    {% cycle 'end row' : nil, nil, nil, '</div>' %}

  {% endfor %}
  {% cycle 'end row' : nil, '</div>', '</div>', '</div>' %}

</div>

我之前有:

我现在拥有的:

Github 页面(和 Jekyll)现在使用 Liquid 4.0.0,它不处理 cycle 标签中的 nil(因为您正在使用它来生成列).

Liquid 回购中有一个未解决的问题:Since 4.0.0 'nil' values are ignored inside cycle tag

同时建议的补丁:将 nil 更改为空字符串 ''.

    {% cycle 'add row' : '<div class="row">', '', '', '' %}