网站正在建设中...
;
NextDocs

如何撰写文档

使用 Markdown 和 MDX 撰写文档的指南

介绍

这里简单介绍一下默认的 MDX 语法。

MDX 并非是唯一支持的格式。事实上,可以使用任何渲染器。

MDX 语法

MDX 是 Markdown 的超集,支持所有 Markdown 语法,允许你导入自定义组件,并在文档中使用它们。 甚至可以使用 JS 语法来编写交互式组件。

参考资料:

关于链接

内部链接使用 <Link /> React框架的组件(例如next/link)来允许预取并避免硬重新加载。 外部链接将获得默认rel="noreferrer noopener" target="_blank"属性以确保安全。

常用语法

# 一级标题

## 二级标题

### 三级标题

#### 四级标题

页面头部参数

可以在 MDX 文件的开头使用 YAML 语法定义页面的元数据,例如标题、描述和图标:

---
title: 页面标题
description: 页面描述
icon: CircleQuestionMark
---

链接到其他文档

[前往 程序设计的语言和分类](../python/1/1-1)

前往 程序设计的语言和分类

也可以链接到其他文档的锚点:

[`前往 高级语言`](../python/1/1-1/#高级语言)

前往 高级语言

卡片组块

适用于添加链接的卡片组块。

卡片组块
<Cards>
  <Card
    title="可链接的卡片示例"
    href="/docs/sudynotes/"
    description="返回文档首页"
  />
  <Card title="不添加链接的卡片示例" description="了解不同的编程语言及其分类" />
  <Card icon={<HomeIcon />} href="/" title="首页">
    当然,也可添加图标。
  </Card>
</Cards>

可链接的卡片示例

返回文档首页

不添加链接的卡片示例

了解不同的编程语言及其分类

首页

当然,也可添加图标。

提示块

提示块用于显示信息、成功、警告和错误消息。

默认提示块为信息类型。

<Callout title="信息" type="info">
  这是信息提示块。
</Callout>

信息

这是信息提示块。

成功

这是成功提示块。

警告

这是警告提示块。

错误

这是错误提示块。

代码块进阶使用

代码块默认支持语法高亮,可以指定代码语言:

js/python/java/bash/ts/mdx等

```ts
const a = 'Hello World';
console.log(a);
```

代码块行号

可以为代码块添加行号:

```python lineNumbers
def hello_world():
    print("lineNumbers为添加行号")
```

当然,也可以设置从特定行号开始:

```python lineNumbers=5
def hello_world():
    print("lineNumbers从5开始")
```

@shikijs/transformers支持

可以使用@shikijs/transformers来增强代码块功能,例如添加类型检查、错误提示等。

详细信息可参阅:shikijs/transformers

下面是一个例子:

```tsx
// highlight a line
<div>单行高亮</div> // [!code highlight]

// highlight a word
// [!code word:NextDocs]
<div>NextDocs</div>

// diff styles
console.log('提示删除了此行'); // [!code --]
console.log('提示添加了此行'); // [!code ++]

// focus
return new ResizeObserver(() => {}) // [!code focus]
```

选项卡组块

可以添加选项卡组块,使用 ```mdx tab="选项卡标题" ``` 来添加选项卡。

选项卡组块
```python tab="选项卡标题一"
def hello_world():
    print("A")
```

```python tab="选项卡标题二"
def hello_world():
    print("B")
```
def hello_world():
    print("A")

可配置文件使选项卡中使用MDX语法:

source.config.ts
import { defineConfig } from 'fumadocs-mdx/config';

export default defineConfig({
  mdxOptions: {
    remarkCodeTabOptions: {
      parseMdx: true,
    },
  },
});

提示

启用parseMdx选项后,选项卡内可以使用MDX语法,但请注意,这可能会影响编译性能。

选项卡组块使用MDX语法
```ts tab="<Building /> 选项卡标题一"
console.log('A');
```

```ts tab="<Rocket /> 选项卡标题二"
console.log('B');
```
console.log('A');

引用

可以引用本站内的文件(可以是 Markdown/MDX 文档)。在标签中指定目标文件路径<include>(需使用绝对路径)。

引用文档
<include>../mdx/page.mdx</include>

npm 命令

生成不同的包管理器命令

```npm
npm run build
```

这篇文章怎么样?

Last updated on