Подтвердить что ты не робот

Как я могу показать только самую последнюю запись на моей домашней странице с помощью 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>

Это показывает все мои сообщения, я просто хочу показать самые последние.

4b9b3361

Ответ 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 работает так же, как упомянуто кем-то другим, приведенный выше пример также обеспечивает согласованный способ доступа к другим индексам, кроме только первого (не то, что вам когда-либо понадобится). Кроме того, у меня не было достаточно репутации, чтобы добавить этот ответ в качестве комментария :)