我在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>
我之前的所作所为:
我现在拥有的:
答案 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">', '', '', '' %}