language templates jekyll templating liquid liquid-layout

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.