<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>
これですべての投稿が表示されます。最新の投稿のみを表示します。
これは、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 %}
ループを作成するのではなく、変数を割り当てて先に進みます...
{% assign post = site.posts.first %}
(2018年編集)あなたがこれを行った後に誰かが他の投稿を反復する方法を知りたかったので:
{% for post in site.posts offset:1 %}
... Show the next posts ...
{% endfor %}
タイトルにあるように「ホームページに最新の投稿だけをjekyllで表示するにはどうすればよいですか?」 「テンプレートに最新の投稿のみを表示する方法」ではなく、次の方法が役立ちます。
デフォルトの最小テーマを使用した新しいJekyllバージョン3.7.3がインストールされている場合、ファイル_layouts/home.html
次のコンテンツ:
---
layout: none
---
{{ site.posts.first }}
Jekyll 3.7.3に、ホームページとして投稿テンプレートを使用して最初の投稿を表示させます。
次のように、site.posts
の最初のインデックスから最新の投稿にアクセスすることもできます。
{%- assign latest_post = site.posts[0] -%}
Latest post: <a href="{{ latest_post.url }}">{{ latest_post.title }}</a>
site.posts.first
は他の誰かが述べたように機能しますが、上記の例は、最初のインデックスだけでなく他のインデックスにアクセスするための一貫した方法も提供します(そうする必要はありません)。代わりにこの答えをコメントとして追加するのに十分な評判がある:)