У меня возникла проблема при использовании Jekyll (который использует язык шаблонов Liquid), плагинов jekyll-paginate-v2
и offset
.
Проблема: в моем блоге есть специальный раздел, в котором всегда отображаются самые свежие сообщения. Остальные сообщения появляются ниже, по 10 на страницу с разбивкой на страницы.
Я попытался просто показать их с помощью {% for post in paginator.posts offset:1 %}
, но у этого есть два недостатка:
- он показывает только 9 сообщений на странице вместо 10
- он смещает первое сообщение на каждой странице, так что 1-е, 10-е, 20-е и т. д. сообщения скрыты, что я не хочу
Чего я пытаюсь достичь: цикл, который всегда игнорирует сообщение с индексом 0 и показывает все остальное, как обычно.
Я просто неправильно использую offset
, или это ошибка в jekyll-paginate-v2
?
Прямо сейчас я "исправил" это, выполнив следующие действия, но это не идеально, поскольку на первой странице отображается только 9 сообщений:
<div class="articles-showcase row post-list">
{% assign featuredpost = site.posts.first %}
{% for post in paginator.posts %}
{% if post == featuredpost %}
{% continue %}
{% else %}
<!-- Article Card -->
<div class="article-detail-box col-lg-6 col-md-6 col-sm-12 card-article-div" data-cat="{{post.category | join: ','}}">
<div class="card card-article box-shadow h-100">
<a href="{{ site.baseurl }}{{post.url}}" class="card-article-linker" title="{{post.title}}"></a>
<div class="img-div text-center post-card-header bg-gray">
<img src="{{ site.baseurl }}{{post.image}}" alt="{{post.title}}">
</div>
<div class="card-article-body">
<p class="author-name">{{post.author}} | {{ post.date | date: '%B %d, %Y' }}</p>
<a href="{{site.baseurl}}{{post.url}}">
<h5>{{post.title}}</h5>
</a>
<div class="article-description">{{post.content}}</div>
</div>
</div>
</div>
{% endif %}
{% endfor %}
</div>