Проблемы с Jekyll/Liquid
Я пытаюсь сделать цикл для ссылок Nav под моими сообщениями. Это происходит в _layout posts.html
Я не могу получить ссылку, чтобы не показывать, является ли пост последним или первым. Любая помощь будет потрясающей.
{% for post in site.posts %}
{% if post.previous != forloop.last %}
← Last
{% elsif post.next != forloop.first %}
Next →
{% endif %}
{% endfor %}
Ответы
Ответ 1
Мне повезло с помощью page.next/previous
{% if page.previous %}
<a rel="prev" href="{{ page.previous.url }}">← Older</a>
{% endif %}
{% if page.next %}
<a rel="next" href="{{ page.next.url }}">Newer →</a>
{% endif %}
Ответ 2
Измените свои операторы if
, чтобы просто проверить, существует ли post.previous
.
{% if post.previous %}
<span class="page-nav-item">
<a rel="prev" href="{{ post.previous.url }}" title="View {{ post.previous.title }}">← View previous article</a>
</span>
{% endif %}
{% if post.next %}
<span class="page-nav-item">
<a rel="next" href="{{ post.next.url }}" title="View {{ post.next.title }}">View next article →</a>
</span>
{% endif %}
Ответ 3
Добавить изображения на ваш фон ссылки.
Чтобы изображения отображались, просто добавьте image: [image location]
в свой передний элемент YAML
<div class="postNav clearfix">
{% if page.previous.url %}
<a class="prev{% if page.previous.image %} image{% endif %}" href="{{ page.previous.url }}"><span>« {{ page.previous.title }}</span>
{% if page.previous.image %}
<img src="{{ '/assets/blog-img/' | append: page.previous.image }}" alt="">
{% endif %}
</a>
{% endif %}
{% if page.next.url %}
<a class="next{% if page.next.image %} image{% endif %}" href="{{ page.next.url }}"><span>{{ page.next.title }} »</span>
{% if page.next.image %}
<img src="{{ '/assets/blog-img/' | append: page.next.image }}" alt="">
{% endif %}
</a>
{% endif %}
</div>