Skip to main content

添加代码示例

你可以添加行内代码片段或代码块。代码块支持用于语法高亮、title、行高亮、icon 等的元选项。

行内代码

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

代码块

使用围栏代码块:将代码包裹在三个反引号中。代码块支持复制,如果你启用了 AI 助手,用户可以让 AI 解释代码。 指定编程语言,以启用语法高亮和元选项。在语言后添加任意元选项,比如 title 或 icon。

代码块选项

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

选项语法

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

语法高亮

通过在代码块起始反引号后添加编程语言来启用语法高亮。 我们使用 Shiki 进行语法高亮,并支持所有可用语言。完整的 语言 列表请参见 Shiki 文档。 docs.json 文件中使用 styling.codeblocks 全局自定义代码块主题。可以设置 systemdark 等简单主题,或为浅色和深色模式配置自定义 Shiki 主题。配置选项参见 Settings
对于自定义主题,在 docs.json 中将主题设置为 "css-variables",并使用带有 --mint- 前缀的 CSS 变量覆盖语法高亮颜色。可用的变量如下:基础颜色
  • --mint-color-text: 默认文本颜色
  • --mint-color-background: 背景颜色
标记颜色
  • --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="Your title" 或在单独一行写入字符串。

图标

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

行高亮

在代码块中使用带有行号或范围的 highlight 来高亮特定行。

行聚焦

在代码块中使用带行号或行范围的 focus 来聚焦特定行。

显示行号

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

可展开

允许用户使用 expandable 展开和折叠较长的代码块。

自动换行

使用 wrap 为长行文本启用自动换行。这样可以避免水平滚动,并让长行内容更易阅读。

Diff

在你的代码块中以可视化方式展示新增或删除的行。新增行会以绿色高亮,删除行会以红色高亮。 要创建 diff,请在代码块中每行末尾添加这些特殊注释:
  • // [!code ++]:将该行标记为新增(绿色高亮)。
  • // [!code --]:将该行标记为删除(红色高亮)。
对于多行连续的情况,可以在冒号后指定行数:
  • // [!code ++:3]:将当前行和接下来的两行标记为新增。
  • // [!code --:5]:将当前行和接下来的四行标记为删除。
注释语法必须与你所使用的编程语言相匹配(例如,JavaScript 使用 //,Python 使用 #)。

CodeBlock 组件

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

Props

string
用于语法高亮的编程语言。
string
要在代码块标题中显示的文件名。
string
要在代码块标题中显示的 icon。可用选项请参见 Icons
boolean
是否显示行号。
boolean
是否对代码块内容进行换行显示。
boolean
代码块是否可展开。
string
需要高亮的行。请提供数字数组的字符串形式。例如: "[1,3,4,5]"
string
需要聚焦的行。请提供数字数组的字符串形式。例如: "[1,3,4,5]"

示例