既然你有一些要展示的博客文章了,让我们搭建博客页面,自动创建一个存档列表来展示它们吧!
准备好…
- 使用
Astro.glob()
一次性访问所有文章的数据
- 在博客页面上显示动态生成的文章列表
- 重构以使用
<BlogPost />
组件来显示每个列表项
- 将以下代码添加到
blog.astro
中,以返回关于所有 Markdown 文件的信息。Astro.glob()
将返回一个对象数组,每个博客文章对应一个对象。
-
为了动态生成整个文章列表,展示文章的标题和链接,将个别的 <li>
标签替换为以下 Astro 代码:
通过对 Astro.glob()
返回的数组进行映射,你的整个博客文章列表现在是动态生成的。
-
通过在 src/pages/posts/
中创建一个新的 post-4.md
文件并添加一些 Markdown 内容来添加一个新的博客文章。请确保至少包含下面使用的 frontmatter
- 在浏览器预览中重新访问博客页面
localhost:3000/blog
,并查看更新后的包含四篇文章的列表,其中包括你的新博客文章!
尝试自己对 Astro 项目进行所有必要的更改,以便你可以使用以下代码来生成博客文章列表:
展开以查看步骤
-
在 src/components/
中创建一个新的组件。
显示文件名
-
编写组件中的代码行,以便它能够接收 title
和 url
作为 Astro.props
。
显示代码
-
添加用于创建博客文章列表中的每个项目的模板。
显示代码
-
将新组件导入到博客页面中。
显示代码
-
自己检查:查看已完成的组件代码。
显示代码
如果你的 Astro 组件包含以下代码行:
选出你可以用以下哪种语法来表示:
-
你的第三篇博客文章的标题。
-
指向你的第一篇博客文章的 URL 的链接。
-
每篇文章的上次更新的日期的组件。