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

时间:2017-08-30 17:55:09

标签: jekyll liquid github-pages

我在Jekyll中编写了一个循环来填充四列的行。最后一行将填充一到四列。在本地开发中,它按预期工作。在Github Pages上它已经工作了两年。一年多来我没有改变这段代码。每当我将新的更改推送到Github Pages时,静态站点生成器就会启动并重建整个站点。在某些时候,下面的代码停止在列中写入并开始只在填充单个列的行中写入。同样,我没有更改源文件,所以显然在Github方面的维护中某些东西已经改变到打破这种布局的程度。

Jekyll或Github Pages是否以下面的代码现在被破坏或过时的方式发生了变化?您是否看到我可以更改以恢复以前的结果?

---
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>

我之前的所作所为:

enter image description here

我现在拥有的:

enter image description here

1 个答案:

答案 0 :(得分:2)

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

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

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

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