MuseMVP 文档
文档系统

MDX 内容组件

覆盖 Fumadocs UI 全量内容块类型(含可直接渲染示例与额外依赖说明)。

在模板中注册组件

本文示例由官网 MDX 映射渲染。模板实际入口是 src/components/mdx.tsx,不是旧 DocsContent/MDXContent 编译管线。按需要在 getMDXComponents 返回的映射中导入并注册块,路由用 page.data.body 渲染。不要为了启用示例而新增旧文件。

标准 Markdown 展示

标题层级

四级标题

五级标题
六级标题
  • 无序列表项 A
  • 无序列表项 B
  • 无序列表项 C
  1. 有序列表项 1
  2. 有序列表项 2
  3. 有序列表项 3

这是引用块,用于展示 blockquote 的渲染样式。

字段类型说明
titlestring标题
iconstring图标名
const section = {
  title: "CMS",
  icon: "Blocks",
  pages: ["cms-blog", "cms-docs"],
};

访问文档首页

示例图片

组件总览(本页覆盖)

分类组件
提示信息Callout、CalloutContainer、CalloutTitle、CalloutDescription
卡片Cards、Card
标签页Tabs、Tab、TabsList、TabsTrigger、TabsContent
代码块CodeBlock、Pre、CodeBlockTabs、CodeBlockTabsList、CodeBlockTabsTrigger、CodeBlockTab、DynamicCodeBlock
步骤与文件树Steps、Step、Files、Folder、File
目录与结构InlineTOC、Accordions、Accordion、TypeTable
媒体与横幅ImageZoom(含 img 自动增强)、Banner
服务端块GithubInfo(本页给代码示例)

Callout 系列

Callout 示例

这是 Callout 简写形式,常用于信息提示。

warn 类型

支持 warn、warning、error、success、idea 等类型。

组合式 Callout(CalloutContainer)

当你需要更细粒度控制标题和正文时,可使用 CalloutContainer + CalloutTitle + CalloutDescription。

Cards / Card

Tabs / Tab(简写模式)

pnpm install
# 使用快速开始中的当前应用开发命令

TabsList / TabsTrigger / TabsContent(高级模式)

适合服务端获取数据后直接渲染,减少客户端负担。

代码块组件

Markdown 代码块(默认会走 pre -> CodeBlock 渲染)

export const project = {
  name: "MuseMVP",
  stack: ["Next.js", "Hono", "Drizzle"],
} as const;

CodeBlockTabs(多段代码切换)

RESEND_API_KEY="re_xxx"
DATABASE_URL="postgres://..."

DynamicCodeBlock(运行时高亮)

export function sum(a: number, b: number) {return a + b;}

Steps / Step

在 content/docs 下创建新的 *.mdx 文件。

在对应 meta.{locale}.json 中注册页面顺序。

在 frontmatter 中添加 title、description、icon。

Files / Folder / File

cms-blog.zh.mdx
cms-docs.zh.mdx
paid-content-demo.zh.mdx
meta.zh.json

ImageZoom(含 img 自动增强)

默认 Markdown 图片会被 ImageZoom 增强(点击可放大):

ImageZoom 自动增强示例

也可以显式指定宽高使用组件:

ImageZoom 组件示例

Accordions / Accordion

可以把长文档里的细节折叠起来,让主干信息更清晰。

这是 Banner 默认样式,可关闭并写入本地存储。

这是 Banner 彩虹样式(variant="rainbow")。

InlineTOC

Inline TOC - A

这里是 A 段内容。

Inline TOC - B

这里是 B 段内容。

Inline TOC - C

这里是 C 段内容。

TypeTable

Prop

Type

GithubInfo(服务端块示例)

GithubInfo 是异步组件,推荐放在服务端渲染路径中使用。当前页面为客户端 MDX 渲染,因此这里展示标准写法,不做实渲。

<GithubInfo owner="fuma-nama" repo="fumadocs" />

可选传参:

  • token: GitHub Token(提高 API 限额)
  • baseUrl: 自定义 GitHub API 地址(企业版场景)

额外依赖与限制说明

能力是否需要额外安装说明
fumadocs-ui/components/* 中的大部分内容块否你当前项目已安装 fumadocs-ui,本页示例可直接使用。
DynamicCodeBlock否依赖 fumadocs-core 高亮能力,当前项目已具备。
ImageZoom否依赖 react-medium-image-zoom,已由 fumadocs-ui 带入。
GithubInfo否(组件层面)但建议放在服务端渲染路径,且生产环境建议配置 token 避免频控。
TypeScript 自动类型表(如 AutoTypeTable)是这类属于额外扩展能力,不在 fumadocs-ui 核心内容块里,需要单独接入对应插件。

组件速查(最终版)

组件用途
Callout / CalloutContainer信息提示、告警、成功状态
Cards / Card卡片网格与链接卡片
Tabs / Tab / TabsList / TabsTrigger / TabsContent内容切换(简写与高级模式)
CodeBlock / CodeBlockTabs / DynamicCodeBlock代码展示、高亮与代码分组
Steps / Step步骤列表
Files / Folder / File文件树展示
ImageZoom图片放大查看
Accordions / Accordion折叠面板
Banner顶部提示横幅
InlineTOC内联目录导航
TypeTableAPI/类型参数表
GithubInfoGitHub 仓库信息卡(服务端推荐)

更多细节请参考 Fumadocs 文档。