
Markdown
如何撰写文档
介绍
Fumadocs 为 MDX(一种标记语言)提供了许多有用的扩展。以下是 Fumadocs UI 默认 MDX 语法的简要介绍。
MDX 不是 Fumadocs 唯一支持的格式。实际上,您可以使用任何渲染器,如 next-mdx-remote 或 CMS。
Markdown
我们使用 GFM(GitHub 风格的 Markdown),这是 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

| 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 是 Markdown 的超集,支持 JSX 语法。 它允许您导入组件,并直接在文档中使用它们,甚至导出值。
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>图标
您可以为卡片指定图标。
import { HomeIcon } from 'lucide-react';
<Cards>
<Card icon={<HomeIcon />} href="/" title="Home">
Go back to home
</Card>
</Cards>无 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>标题
指定提示框标题。
<Callout title="Title">Hello World</Callout>Title
类型
您可以指定提示框的类型。
info(默认)warnerror
<Callout title="Title" type="error">
Hello World
</Callout>Title
Hello World
自定义组件
标题
每个标题会自动应用锚点,它会清理空格等无效字符。(例如,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]要将人们链接到特定标题,请将标题 ID 添加到哈希片段:/page#my-heading-id。
前言
我们支持 YAML 前言。这是一种指定文档常见信息(例如标题)的方式。 将其放在文档顶部。
---
title: Hello World
---
## Title有关前言可用属性的列表,请参见页面约定。
代码块
默认使用 Rehype Code 支持语法高亮。
```js
console.log('Hello World');
```您可以为代码块添加标题。
```js title="My Title"
console.log('Hello World');
```高亮行
```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,
};
```差异
```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
编写带有悬停类型信息和检测到类型错误的 Typescript 代码块。
默认情况下未启用。参见 Twoslash。
图片
所有内置内容源都能正确处理图片。
图片会自动为 next/image 优化。
可选功能
一些您可以启用的可选插件。
更多文章

AI Baby Photo from Ultrasound: Turn a 3D or 4D Scan into a Realistic Baby Portrait
Upload a clear 3D or 4D ultrasound image and turn it into a lifelike baby photo preview with AI. Learn how ultrasound to baby photo tools work, what scans perform best, and what results to expect.

AI Baby Generator: See What Your Future Baby Could Look Like
Upload mom and dad photos and use AI Baby Generator to see what your future baby could look like. Learn how it works, what photos give the best results, and what to expect.

AI Baby Dance: Turn a Baby Photo into a Dancing Video with AI
Upload a baby photo, choose a dance template, and create an AI baby dance video in minutes. Learn how AI baby dance works, what inputs perform best, and what to expect.
邮件列表
加入我们的社区
订阅邮件列表,及时获取最新消息和更新