使用Eleventy获取要在首页上显示的最新帖子

问题描述

我正在研究静态站点生成器,并尝试使用基本的eeventy博客构建一个博客https://github.com/11ty/eleventy-base-blog

到目前为止,一切都很好,但是我想知道如何在主页/索引页面显示它。

开箱即用,它将显示使用nunjucks的帖子的3个最新链接

{% set postslist = collections.posts | head(-3) %}
{% set postslistCounter = collections.posts | length %}
{% include "postslist.njk" %}

但是我想知道如何从posts目录中获取最新的markdown帖子,并查看它是否可以将其渲染。

我在想,必须有一种方法来检查像这样的nunjucks中的日期(我知道这是错误的,但是试图了解一个想法):

{% if post.date = currdate %}
{% include "posts.njk" %}
{% endif %}

无论如何,我知道这是有可能的,但是我仍在尝试学习并试图指出正确的方向。

解决方法

我认为这可能对您有用:

{% set postslist = collections.posts | head(-3) %}

<h1>Latest Post</h1>
{{ postslist[0].templateContent | safe }}

我基本上只使用第一篇文章的templateContent变量。我将set命令移到了模板的较高位置,因此可以使用另一个H3。这是我的整个文件:

---
layout: layouts/home.njk
eleventyNavigation:
  key: Home
  order: 1
---

{% set postslist = collections.posts | head(-3) %}

<h1>Latest Post</h1>
{{ postslist[0].templateContent | safe }}

<h1>Latest 3 Posts</h1>

{% set postslistCounter = collections.posts | length %}
{% include "postslist.njk" %}

<p>More posts can be found in <a href="{{ '/posts/' | url }}">the archive</a>.</p>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...