Formion LogoMkSaaS文檔
Formion LogoMkSaaS文檔
首頁

介紹

快速入門什麼是 Fumadocs對比

設置

手動安裝靜態導出

寫作

Markdown國際化

UI

概覽主題搜尋
組件
MDX
X (Twitter)

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

![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 是 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>

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

<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]

要將人們鏈接到特定標題,請將標題 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 優化。

![Image](/image.png)

Image

可選功能

一些您可以啟用的可選插件。

靜態導出

使用 Fumadocs 啟用靜態導出

國際化

在您的文檔中支持多種語言

目錄

介紹
Markdown
自動鏈接
MDX
卡片
圖標
無 href
提示框
標題
類型
自定義組件
標題
目錄設置
自定義錨點
前言
代碼塊
高亮行
高亮單詞
差異
標籤組
使用 Typescript Twoslash
圖片
可選功能