templates - language - ¿Cómo puedo mostrar solo la publicación más reciente en mi página de inicio con jekyll?
liquid language (3)
<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>
Eso muestra todas mis publicaciones, solo quiero mostrar la más reciente.
En lugar de crear un bucle, simplemente asigne la variable y continúe ...
{% assign post = site.posts.first %}
(Editar 2018) Como alguien quería saber cómo repetir otras publicaciones después de haber hecho esto:
{% for post in site.posts offset:1 %}
... Show the next posts ...
{% endfor %}
Esto se puede lograr mediante el uso del limit
:
{% for post in site.posts limit:1 %}
... Show the post ...
{% endfor %}
También puede usar el limit
y el offset
para "mostrar" su publicación más reciente:
<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 %}
Si llegó aquí para la pregunta tal como figura en el título, "¿Cómo puedo mostrar la publicación más reciente en mi página de inicio con jekyll?" y no "cómo mostrar solo la última publicación en mi plantilla", lo siguiente podría ser útil.
Dada la nueva instalación de Jekyll versión 3.7.3 con el tema _layouts/home.html
predeterminado, cree un archivo, _layouts/home.html
con el siguiente contenido:
---
layout: none
---
{{ site.posts.first }}
Hace que Jekyll 3.7.3 muestre la primera publicación, utilizando la plantilla de publicación, como página de inicio.