toMedia
配置

集合配置

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 扩展 pageSchemametaSchema

On this page