content collections
@content-collections

将您的内容转换为类型安全数据收集。消除对手动数据获取和解析的需求。只需导入您的内容并开始。内置验证可确保数据的准确性。在数据输入应用之前,预处理您的数据。
美丽的DX :内容集旨在提供令人愉悦的用户体验。它提供了无缝的开发人员体验,而无需重新启动服务器或刷新浏览器。更改内容时,内容集合会自动更新。
类型安全:您的内容在构建过程中进行了解析和验证,以确保准确性和货币。内容集合提供了类型的安全性API来访问您的内容。
易于使用:无需手动获取和解析您的内容。只需导入并开始使用内容集。它提供了一个简单的API,使您可以专注于构建应用程序。
转换:内容收集使您可以在输入应用程序之前转换它。您可以使用它来修改内容,加入两个集合,甚至从服务器获取数据。
内容集合提供了各种适配器,可与流行的Web框架无缝集成。安装过程取决于所选适配器:
如果未列出您的框架,您仍然可以使用CLI使用内容集。如果您想查看已列出的框架,请打开票。
在项目的根部创建一个content-collections.ts文件:
import { defineCollection , defineConfig } from "@content-collections/core" ;
const posts = defineCollection ( {
name : "posts" ,
directory : "src/posts" ,
include : "**/*.md" ,
schema : ( z ) => ( {
title : z . string ( ) ,
summary : z . string ( ) ,
} ) ,
} ) ;
export default defineConfig ( {
collections : [ posts ] ,
} ) ;开始在src/posts中编写内容:
---
title : Hello World
summary : This is my first post
---
# Hello World
This is my first post.在应用中使用您的内容:
import { allPosts } from "content-collections" ;
export function Posts ( ) {
return (
< ul >
{ allPosts . map ( ( post ) => (
< li key = { post . _meta . path } >
< a href = { `/posts/ ${ post . _meta . path } ` } >
< h3 > { post . title } </ h3 >
< p > { post . summary } </ p >
</ a >
</ li >
) ) }
</ ul >
) ;
}请注意,上面的示例仅显示内容集的基础知识,并且不涵盖内容转换。默认情况下,内容收集不会转换诸如Markdown或MDX之类的内容。但是它有可以为您做到这一点的软件包:
如果您想查看更多示例和用例,请参考文档。


内容收集是根据MIT许可证获得许可的。