Как я могу показать только самую последнюю запись на моей домашней странице с помощью jekyll?
<ul class="entries">
{% for post in paginator.posts %}
<li>
<a href="{{ post.url }}">
<h3>{{ post.title }}</h3>
<p class="blogdate">{{ post.date | date: "%d %B %Y" }}</p>
<div>{{ post.content |truncatehtml | truncatewords: 60 }}</div>
</a>
</li>
{% endfor %}
</ul>
Это показывает все мои сообщения, я просто хочу показать самые последние.
Ответы
Ответ 1
Это может быть достигнуто с помощью limit
:
{% for post in site.posts limit:1 %}
... Show the post ...
{% endfor %}
Вы также можете использовать limit
и offset
вместе, чтобы "включить" свой последний пост:
<h1>Latest Post</h1>
{% for post in site.posts limit:1 %}
... Show the first post all big ...
{% endfor %}
<h1>Recent Posts</h1>
{% for post in site.posts offset:1 limit:2 %}
... Show the next two posts ...
{% endfor %}
Ответ 2
Вместо того, чтобы создавать цикл, просто назначьте переменную и продолжайте...
{% assign post = site.posts.first %}
(Изменить 2018) Поскольку кто-то хотел знать, как перебирать другие сообщения после того, как вы это сделали:
{% for post in site.posts offset:1 %}
... Show the next posts ...
{% endfor %}
Ответ 3
Если вы пришли сюда за вопросом, как указано в заголовке: "Как я могу показать только самый последний пост на моей домашней странице с jekyll?" а не "как мне показать только последний пост в моем шаблоне", может быть полезно следующее.
Если установлена новая версия Jekyll 3.7.3 с _layouts/home.html
темой по умолчанию, создайте файл _layouts/home.html
со следующим содержимым:
---
layout: none
---
{{ site.posts.first }}
Заставляет Jekyll 3.7.3 показывать первое сообщение, используя шаблон сообщения, в качестве домашней страницы.
Ответ 4
Похоже, вы также можете просто получить доступ к последнему сообщению через первый индекс site.posts
как в:
{%- assign latest_post = site.posts[0] -%}
Latest post: <a href="{{ latest_post.url }}">{{ latest_post.title }}</a>
Хотя site.posts.first
работает так же, как упомянуто кем-то другим, приведенный выше пример также обеспечивает согласованный способ доступа к другим индексам, кроме только первого (не то, что вам когда-либо понадобится). Кроме того, у меня не было достаточно репутации, чтобы добавить этот ответ в качестве комментария :)