我想使用front matter获取我的markdown文件主体的数据,但它显示为未定义,我该如何解决错误?
{latest.map(({ url, frontmatter }) => (
<PostCard url={url} content={frontmatter.body}/>
))}
请参阅文档中markdown指南的Exported Properties部分。
frontmatter.body
不在列表中,而是应该在导入的markdown对象上使用compiledContent()
或rawContent()
。
{latest.map(post => (
<PostCard url={post.url} content={post.compiledContent()} />
))}
完整示例
当您有src/pages/posts/a.md、src/pages/posts/b.md等时,
以下显示成功编译的所有文件的内容:
src/pages/index.astro
---
const posts = await Astro.glob('./posts/*.md')
---
<ul>
{posts.map(post=>
<li set:html={post.compiledContent()} />)}
</ul>