<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>
Cela montre tous mes messages, je veux juste montrer le plus récent.
Ceci peut être accompli en utilisant limit
:
{% for post in site.posts limit:1 %}
... Show the post ...
{% endfor %}
Vous pouvez également utiliser limit
et offset
ensemble pour "présenter" votre publication la plus récente:
<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 %}
Plutôt que de créer une boucle, assignez simplement la variable et passez à autre chose ...
{% assign post = site.posts.first %}
(Edit 2018) Puisque quelqu'un voulait savoir comment réitérer d'autres posts après l'avoir fait:
{% for post in site.posts offset:1 %}
... Show the next posts ...
{% endfor %}
Si vous êtes ici pour la question mentionnée dans le titre, "Comment puis-je afficher uniquement le message le plus récent sur ma page d'accueil avec jekyll?" et non "comment afficher uniquement le dernier message dans mon modèle", les éléments suivants pourraient être utiles.
Avec une nouvelle version de Jekyll version 3.7.3 avec le thème des minima par défaut, créez un fichier, _layouts/home.html
, avec le contenu suivant:
---
layout: none
---
{{ site.posts.first }}
Permet à Jekyll 3.7.3 d'afficher le premier message, en utilisant le modèle de message, comme page d'accueil.
Il semble que vous pouvez également accéder au dernier message via le premier index de site.posts
comme dans:
{%- assign latest_post = site.posts[0] -%}
Latest post: <a href="{{ latest_post.url }}">{{ latest_post.title }}</a>
Alors que site.posts.first
fonctionne aussi comme mentionné par quelqu'un d'autre, l'exemple ci-dessus fournit également une manière cohérente d'accéder à d'autres index que le premier (vous n'avez pas besoin de le faire). De plus, je n’avais pas assez de réputation pour ajouter cette réponse sous forme de commentaire :)