内置公开组件

Clarify 在 MDX 中默认注册了一组公开组件。你无需手动 import,可直接在 .mdx 文件里使用它们来组织首页入口、提示信息、操作按钮和代码示例。


自动可用的 MDX 组件

以下组件可直接在 MDX 页面中使用:

  • 内容提示:CalloutNote
  • 入口与动作:CardGroup / CardButton
  • 代码与折叠:CodeGroupCollapse
  • 布局与属性说明:Row / ColProperties / Property
  • Markdown 渲染:Markdown
  • OpenAPI:OpenApiOperationOpenApiDocument

组件一览


Callout

Callout 适合放置与正文强相关的说明、注意事项或风险提示。

基础用法

<Callout type="info">
  模型列表会持续更新,生产接入前应以控制台或模型广场中当前可用模型为准。
</Callout>

类型

type 支持 infonotetipwarningdangersuccess

Note

适合补充说明上下文,避免正文被细节打断。

Tip

适合展示推荐实践、效率技巧或更优路径。

Warning

适合展示可能导致构建失败、权限不足或行为变化的注意事项。

Danger

适合展示高风险操作,例如删除数据、重置环境或暴露密钥。

Success

适合展示操作完成、配置生效或验证通过。

属性

属性类型默认值说明
type'info' | 'note' | 'tip' | 'warning' | 'danger' | 'success''info'控制颜色和图标
titleReactNode根据 type 自动生成标题,传空值可隐藏
iconbooleantrue是否显示图标
classNamestring-追加样式类名

Note

Note 是更轻量的内联提示组件,适合放置不会改变任务流程的补充说明。和 Callout 相比,它不需要选择类型,也没有标题栏。

<Note>
  标题、H2/H3 和导航命名会影响站内搜索结果,建议使用用户能理解的词。
</Note>

属性

属性类型默认值说明
childrenReactNode必填提示内容

CardGroup / Card

CardGroupCard 适合做文档入口、功能清单、方案矩阵或章节导航。

基础用法

<CardGroup cols={2}>
  <Card title="关于 Clarify" icon="badge-info" href="/getting-started">
    了解 Clarify 的产品定位、核心价值和推荐使用路径。
  </Card>
  <Card title="快速开始" icon="rocket" href="/getting-started">
    准备环境、安装 CLI 并创建第一个文档站点。
  </Card>
</CardGroup>

渲染效果:

图标命名

Cardicon 使用 lucide-react 图标名,支持 kebab-case 自动转换。例如:

写法对应图标
badge-infoBadgeInfo
rocketRocket
file-code-2FileCode2
shield-checkShieldCheck

属性

CardGroup

属性类型默认值说明
cols1 | 2 | 3 | 42桌面端列数
classNamestring-追加样式类名

Card

属性类型默认值说明
titlestring必填卡片标题
iconstring-lucide 图标名,支持 kebab-case
hrefstring-卡片跳转链接,站内路径会使用客户端路由
classNamestring-追加样式类名

Collapse

Collapse 适合把可选补充说明、实现细节或长列表内容收起,保持文档主流程简洁。

<Collapse title="查看详细说明">
  这是默认折叠的内容,只有在用户点击标题后才会显示。
</Collapse>

<Collapse summary="默认展开" defaultOpen>
  这段内容初始可见,用户仍然可以手动收起。
</Collapse>

这是默认折叠的内容,只有在用户点击标题后才会显示。

属性

属性类型默认值说明
titleReactNode-折叠面板标题,优先级高于 summary
summaryReactNode'Details'备用标题
defaultOpenbooleanfalse是否默认展开
classNamestring-追加样式类名

Button

Button 适合在文档中提供明确的下一步动作。

<Button href="/getting-started" arrow="right">
  开始安装
</Button>

<Button href="https://github.com/taicode-labs/clarify" variant="outline">
  查看 GitHub
</Button>

渲染效果:

属性

属性类型默认值说明
variant'primary' | 'secondary' | 'filled' | 'outline' | 'text''primary'按钮样式
arrow'left' | 'right'-是否显示方向箭头
hrefstring-存在时渲染为链接,否则渲染为按钮

CodeGroup

CodeGroup 用于组织并列代码示例,例如不同包管理器或不同语言的写法。

<CodeGroup>

```bash
pnpm add @clarify-labs/cli
```

```bash
npm install @clarify-labs/cli
```

</CodeGroup>

渲染效果:

pnpm add @clarify-labs/cli

Row / Col

RowCol 用于在大屏上创建左右两栏布局,常见于“左侧解释、右侧示例”或“左侧步骤、右侧接口”的文档结构。

<Row>
  <Col>
    ## 写作建议

    先解释用户为什么要执行这个步骤。
  </Col>
  <Col sticky>
    ```bash
    pnpm exec clarify dev
    ```
  </Col>
</Row>

属性

Row

属性类型默认值说明
childrenReactNode必填两栏内容

Col

属性类型默认值说明
childrenReactNode必填当前列内容
stickybooleanfalse大屏下是否吸顶

Properties / Property

PropertiesProperty 适合描述配置项、组件 props 或 API 字段,比普通表格更适合承载多行说明。

<Properties>
  <Property name="routePrefix" type="string">
    部署子路径,例如 `/docs/`
  </Property>
  <Property name="tabs" type="ClarifyTabsConfig">
    配置顶部业务分类和侧边栏结构。
  </Property>
</Properties>

属性

Properties

属性类型默认值说明
childrenReactNode必填一个或多个 Property

Property

属性类型默认值说明
namestring必填属性名
typestring-类型说明
childrenReactNode必填属性描述

Markdown

Markdown 用于渲染字符串形式的 Markdown 内容,主要适合自定义 MDX 组件或数据驱动内容中复用 Clarify 的 Markdown 渲染能力。

<Markdown>{"**重要:** 发布前请运行构建检查。"}</Markdown>

属性

属性类型默认值说明
childrenstring-要渲染的 Markdown 字符串
classNamestring-外层容器样式类名

OpenAPI 组件

OpenApiOperation 用于在指南中嵌入单个接口,OpenApiDocument 用于嵌入完整 API Reference。

<OpenApiOperation specPath="/api" path="/sessions" method="post" />

<OpenApiDocument specPath="/api" />
组件关键属性说明
OpenApiOperationspecPathpathmethod展示单个接口,适合任务型指南
OpenApiDocumentspecPath展示完整 OpenAPI Reference

OpenAPI 面板会根据规范展示服务器、认证、参数、请求体、响应示例,并生成多语言请求代码。更多说明见 API 文档


使用建议

  • 首页、章节索引和功能矩阵优先使用 CardGroup / Card
  • 与正文强相关的限制、风险和补充说明使用 Callout,轻量补充说明使用 Note
  • 引导用户继续阅读或执行操作时使用 Button
  • 多语言、多环境、多包管理器示例使用 CodeGroup
  • 可选细节、长列表和进阶内容使用 Collapse
  • 配置项、组件属性和字段说明优先使用 Properties / Property
  • 指南中解释流程,接口事实交给 OpenApiOperationOpenApiDocument

自定义 MDX 组件

如果你需要项目专属组件,可以在 MDX 文件顶部显式导入:

import { Alert } from '../components/Alert'

<Alert type="warning">
  这是一个自定义 React 组件示例。
</Alert>

Clarify 的内置组件会自动在 MDX 中注册;自定义组件需要手动导入。