Logo
  • 首页
  • 心灵日志
  • 个人画像
  • 博客
  • 关于我们
  • 定价
登录注册
登录注册
首页/博客/公司
使用 Markdown 与 MDX 写文档
2025/03/05

使用 Markdown 与 MDX 写文档

了解 Fumadocs 中可用于文档创作的 Markdown 与 MDX 能力。

概览

Fumadocs 在 MDX 之上扩展了一组很实用的创作能力。这一页会按顺序介绍 Fumadocs UI 默认提供的 Markdown 与 MDX 写作特性。

MDX is not the only supported format of Fumadocs. In fact, you can use any renderers such as next-mdx-remote or CMS.

Markdown 基础

Fumadocs 使用的是 GFM(GitHub Flavored Markdown),它建立在 CommonMark 之上。 如果想了解完整规范,可以查看 GFM 规范。

# Heading

## Heading

### Heading

#### Heading

Hello World, **Bold**, _Italic_, ~~Hidden~~

```js
console.log('Hello World');
```

1. First
2. Second
3. Third

- Item 1
- Item 2

> Quote here

![alt](/image.png)

| Table | Description |
| ----- | ----------- |
| Hello | World       |

自动链接

站内链接会通过 next/link 渲染,因此可以获得预取能力,也能避免整页硬刷新。

而外部链接则会自动补上 rel="noreferrer noopener" target="_blank" 这些更安全的属性。

[My Link](https://github.github.com/gfm)

This also works: https://github.github.com/gfm.

MDX 能力

MDX 可以理解为支持 JSX 的 Markdown。 因此你不仅能写文档正文,也能按需导入组件、直接在文档里渲染,甚至导出值。

import { Component } from './component';

<Component name="Hello" />

如果想了解完整语法,可以继续阅读 MDX 语法。

卡片

卡片组件默认内置,很适合拿来组织相关文章或页面入口。

<Cards>
  <Card
    href="https://nextjs.org/docs/app/building-your-application/data-fetching/fetching-caching-and-revalidating"
    title="Fetching, Caching, and Revalidating"
  >
    Learn more about caching in Next.js
  </Card>
</Cards>

Fetching, Caching, and Revalidating

Learn more about caching in Next.js

添加图标

卡片同样支持图标。

import { HomeIcon } from 'lucide-react';

<Cards>
  <Card icon={<HomeIcon />} href="/" title="Home">
    Go back to home
  </Card>
</Cards>

Go back to home

The home page of Fumadocs.

不带 href 的卡片

如果只想使用视觉容器,而不希望它变成链接,href 也可以省略。

<Cards>
  <Card title="Fetching, Caching, and Revalidating">
    Learn more about `fetch` in Next.js.
  </Card>
</Cards>

Fetching, Caching, and Revalidating

Learn more about fetch in Next.js.

提示框

提示框也是默认可用的组件,适合拿来放提示、注意事项或警告信息。

<Callout>Hello World</Callout>
Hello World

添加标题

提示框可以单独设置一个标题。

<Callout title="Title">Hello World</Callout>

Title

Hello World

类型

提示框支持不同的样式类型:

  • info(默认)
  • warn
  • error
<Callout title="Title" type="error">
  Hello World
</Callout>

Title

Hello World

自定义组件

更多组件和选项可以查看 所有 MDX 组件和可用选项。

标题

每个标题都会自动生成锚点,并清理掉空格等无效字符。例如 Hello World 会变成 hello-world。

# Hello `World`

目录设置

目录(TOC)会基于标题自动生成,而你也可以控制某些标题在目录中的表现方式。

# Heading [!toc]

This heading will be hidden from TOC.

# Another Heading [toc]

This heading will **only** be visible in TOC, you can use it to add additional TOC items.
Like headings rendered in a React component:

<MyComp />

自定义锚点

如果你想自己指定标题锚点,可以使用 [#slug]。

# heading [#my-heading-id]

它也可以和目录设置一起使用:

# heading [toc] [#my-heading-id]

如果要把用户链接到特定标题,直接在 URL 后面加上 hash 即可:/page#my-heading-id。

Frontmatter

Fumadocs 支持 YAML frontmatter,用于保存页面标题等公共信息。 它需要放在文档最顶部。

---
title: Hello World
---

## Title

frontmatter 可用字段可以参考 页面约定。

代码块

语法高亮默认由 Rehype Code 提供。

```js
console.log('Hello World');
```

代码块也可以加标题。

```js title="My Title"
console.log('Hello World');
```

高亮行

如果要强调某一行,可以加上 [!code highlight]。

```tsx
<div>Hello World</div>  // [\!code highlight]
<div>Hello World</div>
<div>Goodbye</div>
<div>Hello World</div>
```

高亮单词

如果要高亮某个单词,可以使用 [!code word:<match>]。

```js
// [\!code word:config]
const config = {
  reactStrictMode: true,
};
```

Diff 对比

```ts
console.log('hewwo'); // [\!code --]
console.log('hello'); // [\!code ++]
```
console.log('hewwo'); 
console.log('hello'); 

标签组

代码块也能和 <Tab /> 组件组合使用。

import { Tab, Tabs } from 'fumadocs-ui/components/tabs';

<Tabs items={['Tab 1', 'Tab 2']}>
  <Tab value='Tab 1'>
    ```ts
    console.log('A');
    ```
  </Tab>
  <Tab value='Tab 2'>
    ```ts
    console.log('B');
    ```
  </Tab>
</Tabs>

注意,您可以在 MDX 文件中添加 MDX 组件,而不必导入它们。

console.log('A');
console.log('B');

使用 Typescript Twoslash

Twoslash 可以让 Typescript 示例显示悬停类型信息,以及检测到的类型错误。

默认情况下未启用。参见 Twoslash。

图片

所有内置内容源都能正确处理图片。 它们会自动为 next/image 做优化。

![Image](/image.png)

Image

可选能力

如果文档有需要,你还可以继续开启额外插件。

数学公式

数学公式可以通过 TeX 语法编写。

```mdx
f(x) = x * e^{2 pi i \xi x}
```
f(x) = x * e^{2 pi i \xi x}

启用方式请参见 Math Integration。

包安装命令

还可以为 JS/Node.js 包管理器生成安装命令代码块。

```mdx
npm i next -D
```
npm i next -D

启用方式请参见 Remark Install。

更多插件

其余能力可以在 Fumadocs 支持的插件列表中继续查看。

全部文章

作者

avatar for Mkdirs模板
Mkdirs模板

分类

  • 公司
  • 新闻
概览Markdown 基础自动链接MDX 能力卡片添加图标不带 href 的卡片提示框添加标题类型自定义组件标题目录设置自定义锚点Frontmatter代码块高亮行高亮单词Diff 对比标签组使用 Typescript Twoslash图片可选能力数学公式包安装命令更多插件

更多文章

Orelune 塔罗系列:太阳 - 清晰、喜悦与生命能量
塔罗解析

Orelune 塔罗系列:太阳 - 清晰、喜悦与生命能量

在 Orelune 了解太阳牌含义,包括成功、活力、爱情、事业、金钱、象征意义与是非题解读。

avatar for Orelune
Orelune
2026/04/01
Orelune 塔罗系列:月亮 - 幻象、直觉与梦境讯号
塔罗解析

Orelune 塔罗系列:月亮 - 幻象、直觉与梦境讯号

在 Orelune 了解月亮牌含义,包括直觉、隐藏真相、爱情、事业、金钱、象征意义与是非题解读。

avatar for Orelune
Orelune
2026/04/01
Orelune 塔罗系列:愚者——新开始、自由与信任一跃
塔罗解析

Orelune 塔罗系列:愚者——新开始、自由与信任一跃

在 Orelune 了解愚者牌含义,包含爱情、事业、金钱、是或否判断、象征与实用塔罗解读。

avatar for Orelune
Orelune
2026/03/24

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新

LogoOrelune

你的 AI 塔罗圣所,带来疗愈、清晰与指引。

产品

  • 功能
  • 价格
  • 常见问题

资源

  • 博客
  • 文档
  • 更新日志
  • 路线图

公司

  • 关于我们
  • 联系我们
  • 邮件列表
© 2026 Orelune All Rights Reserved.support@orelune.co
关于我们联系我们定价服务条款隐私政策Cookie政策