配置
集合配置
Fumadocs MDX 集合的详细配置选项
集合通过 defineCollections() 函数创建,组织和解析内容文件。
集合类型
Doc 类型
处理 Markdown/MDX 文档并验证 frontmatter。
- 支持通过
async选项进行异步文件加载 - 通过
dynamic参数启用按需编译 - 允许在集合级别自定义 MDX 处理
Meta 类型
处理 JSON/YAML 文件作为配置数据。
- 根据定义的 schema 验证内容
- 扫描指定目录查找元数据文件
核心配置选项
| 选项 | 说明 |
|---|---|
type | 指定 "doc" 或 "meta" |
dir | 要扫描的文件目录路径 |
schema | 可选的 Zod 验证,用于 frontmatter(doc)或内容(meta) |
files | 可选的 glob 模式,包含/排除特定文件 |
Schema 定义
Schema 在构建时验证文件数据。接受 Standard Schema 兼容库(如 Zod)。可以传入静态 schema 或接收转换上下文的函数:
schema: (ctx) => z.object({
name: z.string(),
testPath: z.string().default(ctx.path),
})MDX 特定选项
mdxOptions
自定义每个集合的 MDX 处理,覆盖全局默认值。使用 applyMdxPreset() 扩展而非替换默认值。
postprocess
仅适用于 doc 集合:
includeProcessedMarkdown:嵌入处理后的 Markdown 内容,可通过getText('processed')访问valueToExport:将编译时的vfile.data属性提取为 ESM 导出
defineDocs 辅助函数
Fumadocs 特定的包装函数,简化 doc 和 meta 集合设置:
import { defineDocs } from 'fumadocs-mdx/config';
export const docs = defineDocs({
dir: 'content/guides',
docs: { /* doc 集合选项 */ },
meta: { /* meta 集合选项 */ },
});支持从 fumadocs-core/source/schema 扩展 pageSchema 和 metaSchema。