Tôi đang làm việc trên trang web Jekyll và đang cố gắng xuất ba div cột được lồng trong một hàng div. Liquid làm cho điều này khá dễ dàng với bộ lọc cycle
của họ:Modulus (hoặc thiếu chúng) trong công cụ tạo khuôn lỏng của Ruby
{% for p in site.categories.post %}
{% cycle 'add rows': '<div class="row">', nil, nil %}
<div class="column">
<a href="{{ p.url }}">{{ p.title }}</a>
</div>
{% cycle 'close rows': nil, nil, '</div>' %}
{% endfor %}
Tuy nhiên, điều này chỉ thực sự hoạt động khi có 3, 6, 9, vv bài đăng nào. Khi tổng số bài viết không phải là bội số của ba, thì <div class="row">
không bao giờ bị đóng - vòng lặp for kết thúc trước khi thẻ đóng có thể xuất ra như một phần của chu kỳ close rows
.
Trong Ruby, PHP, hoặc bất kỳ ngôn ngữ nào khác tôi có thể dễ dàng sửa lỗi này với một nhà điều hành mô đun, vì vậy ngoài việc close rows
chu kỳ tôi sẽ ra </div>
khi if site.categories.size % 3 == 0
. Tuy nhiên, Liquid, bởi vì nó là một ngôn ngữ templating an toàn, không hỗ trợ modulus.
Tôi có thể làm gì khác để đóng đúng <div class="row">
khi tổng số bài đăng không phải là bội số của ba bài đăng?
Điều đó hoạt động hoàn hảo! Cảm ơn! – Andrew