mirror of
https://github.com/adulau/art.git
synced 2024-12-26 02:36:02 +00:00
4e4f981b8c
This commit refactors the `tiles.html` include file so that when the `site.tiles-source` is pages, pages with `show_tile: false` set in their Front Matter are not counted as having been shown. Prior to this commit, such pages were iterated over in the `for` loop, consuming a loop iteration from the `site.tiles-count` counter. Put another way, say you have set `tiles-count` to 6, and you have a total of 10 pages. Of these ten pages, six have `show_tile` set to `false`. The natural expectation would be that the home page layout would display four tiles (10 - 6 = 4), but in fact, the exact number of page tiles shown would depend on the specific lexicographical ordering of the `site.html_pages` array, which could result in fewer than four page tiles being shown. This commit fixes the issue by excluding pages with `show_tile` set to `false` first, and only then iterating over the remaining pages.
18 lines
596 B
HTML
18 lines
596 B
HTML
{% if 'posts' == site.tiles-source %}
|
|
{% assign tiles = site.posts %}
|
|
{% elsif 'pages' == site.tiles-source %}
|
|
{% assign tiles = site.html_pages | where_exp: "item", "item.show_tile != false" %}
|
|
{% endif %}
|
|
<section id="one" class="tiles">
|
|
{% for tile in tiles limit:site.tiles-count %}
|
|
<article>
|
|
<span class="image">
|
|
<img src="{{ tile.image }}" alt="" />
|
|
</span>
|
|
<header class="major">
|
|
<h3><a href="{{ tile.url | relative_url }}" class="link">{{ tile.title }}</a></h3>
|
|
<p>{{ post.description }}</p>
|
|
</header>
|
|
</article>
|
|
{% endfor %}
|
|
</section>
|