跳转到主要内容

添加代码示例

你可以添加行内代码片段或代码块。代码块支持用于语法高亮、标题、行高亮、icon 等的元选项,以及更多功能。

行内代码

要将某个 wordphrase 标记为代码,请用反引号 (`) 将其包裹。

代码块

使用围栏代码块,将代码置于三个反引号内。代码块可复制;如果启用了 AI 助手,用户可以让助手解释代码。 为语法高亮和启用元选项指定编程语言。在语言标识后添加任意元选项,如 title 或 icon。

代码块选项

在代码块中添加元选项来自定义其展示效果。
在添加任何其他元选项之前,必须先为代码块指定编程语言。

选项语法

  • 字符串和布尔选项:可以使用 ""'',或不加引号包裹。
  • 表达式选项:可以使用 {}"",或 '' 包裹。

语法高亮

在代码块的起始反引号后指定编程语言即可启用语法高亮。 Mintlify 使用 Shiki 实现语法高亮,支持所有可用语言。完整语言列表请参见 Shiki 文档中的语言 docs.json 中通过 styling.codeblocks 全局自定义代码块主题。可设置 systemdark 等简单主题,或为明暗模式配置自定义的 Shiki 主题。配置项参见 Settings
如需自定义主题,请在 docs.json 中将主题设为 "css-variables",并使用以 --mint- 为前缀的 CSS 变量覆盖语法高亮颜色。可用变量如下:基础颜色
  • --mint-color-text: 默认文本颜色
  • --mint-color-background: 背景颜色
Token 颜色
  • --mint-token-constant: 常量和字面量
  • --mint-token-string: 字符串值
  • --mint-token-comment: 注释
  • --mint-token-keyword: 关键字
  • --mint-token-parameter: 函数参数
  • --mint-token-function: 函数名
  • --mint-token-string-expression: 字符串表达式
  • --mint-token-punctuation: 标点符号
  • --mint-token-link: 链接
ANSI 颜色
  • --mint-ansi-black, --mint-ansi-black-dim
  • --mint-ansi-red, --mint-ansi-red-dim
  • --mint-ansi-green, --mint-ansi-green-dim
  • --mint-ansi-yellow, --mint-ansi-yellow-dim
  • --mint-ansi-blue, --mint-ansi-blue-dim
  • --mint-ansi-magenta, --mint-ansi-magenta-dim
  • --mint-ansi-cyan, --mint-ansi-cyan-dim
  • --mint-ansi-white, --mint-ansi-white-dim
  • --mint-ansi-bright-black, --mint-ansi-bright-black-dim
  • --mint-ansi-bright-red, --mint-ansi-bright-red-dim
  • --mint-ansi-bright-green, --mint-ansi-bright-green-dim
  • --mint-ansi-bright-yellow, --mint-ansi-bright-yellow-dim
  • --mint-ansi-bright-blue, --mint-ansi-bright-blue-dim
  • --mint-ansi-bright-magenta, --mint-ansi-bright-magenta-dim
  • --mint-ansi-bright-cyan, --mint-ansi-bright-cyan-dim
  • --mint-ansi-bright-white, --mint-ansi-bright-white-dim
自定义语法高亮通过提供自定义 TextMate 语法文件,为 Shiki 默认集合中未包含的语言添加语法高亮支持。创建一个遵循 TextMate 语法格式 的 JSON 文件,然后在 docs.json 中引用它。你可以在数组中加入更多路径以添加多种自定义语言。
docs.json

Twoslash

在 JavaScript 和 TypeScript 代码块中,使用 twoslash 可启用交互式类型信息。用户可以像在 IDE 中一样,将鼠标悬停在变量、函数和参数上以查看类型和错误。

标题

为你的代码示例添加一个标题。将标题放在语言标识符之后。标题可以包含多个单词和文件路径。 你可以通过两种方式设置标题:
  • 内联:将标题直接放在语言标识符之后。
  • title 属性:使用 title="Your title" 来设置需要特殊字符或显式引号的标题。

图标

使用 icon 属性为代码块添加图标。参见 图标 以查看所有可用选项。

行高亮

在代码块中,使用 highlight 并指定要高亮的行号或行范围来高亮特定行。

行聚焦

在代码块中使用 focus 搭配行号或行范围来突出显示特定行。

显示行号

使用 lines 在代码块左侧显示行号。

可展开

使用 expandable 让用户展开或折叠较长的代码块。

换行

使用 wrap 为长行启用换行。这样可避免水平滚动,并使长行更易读。

差异

在代码块中直观显示新增或删除的行。新增行会以绿色高亮显示,删除行会以红色高亮显示。 在行尾的注释中添加 [!code ++][!code --],即可将该行标记为新增或删除。请使用对应语言的注释语法:
LanguageAddedRemoved
JavaScript, TypeScript, Java, C, C++, Go, Rust// [!code ++]// [!code --]
Python, Ruby, Bash, YAML# [!code ++]# [!code --]
HTML, XML<!-- [!code ++] --><!-- [!code --] -->
CSS/* [!code ++] *//* [!code --] */
SQL, Lua-- [!code ++]-- [!code --]
对于连续的多行,请添加冒号和行数:
  • // [!code ++:3]:将当前行及其后两行标记为新增。
  • # [!code --:5]:将当前行及其后四行标记为删除。

CodeBlock 组件

在自定义 React 组件中使用 <CodeBlock>,以编程方式渲染与 Markdown 代码块相同样式和功能的代码块。

属性

language
string
用于语法高亮的编程语言。
filename
string
显示在代码块标题中的文件名。
icon
string
显示在代码块标题中的 icon。可用选项参见 图标
lines
boolean
是否显示行号。
wrap
boolean
是否对代码块进行换行显示。
expandable
boolean
是否可展开代码块。
highlight
string
需要高亮的行。提供数字的字符串化数组。示例:"[1,3,4,5]"
focus
string
需要聚焦的行。提供数字的字符串化数组。示例:"[1,3,4,5]"

示例