gpt4 book ai didi

javascript - 如何在 Astro 的一页上渲染多个 Markdown 文件?

转载 作者:行者123 更新时间:2023-12-03 08:00:21 24 4
gpt4 key购买 nike

我想使用 Astro 在单个页面上呈现多个 .md 文件的内容。

我有这个文件结构:

pages/
items/
item-1.md
item-2.md
item-3.md
// etc
index.astro

item-1.md 看起来像这样:

---
title = 'Item 1'
---

Item 1 main text

index.astro中:

---
const items = await Astro.glob([
'./items/*.md',
]);
---

<html lang="en">
<body>
{items.map((item) =>
item.Content
)}
</body>
</html>

我得到的结果是:

[object Object][object Object][object Object]

而不是预期的:

Item 1 main text
Item 2 main text
Item 3 main text

如何才能使 Markdown 计算出的输出 HTML 出现在页面上?

最佳答案

item.Content 是一个 Astro 组件,因此在 index.astro 文件中,您需要像这样渲染它:

---
const items = await Astro.glob('./items/*.md');
---

<html lang="en">
<body>
{items.map((item) =>
<item.Content />
)}
</body>
</html>

您也可以在 map 中对其进行解构,但它们在功能上是等效的:

        {items.map(({ Content }) =>
<Content />
)}

关于javascript - 如何在 Astro 的一页上渲染多个 Markdown 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74504239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com