MDX 是一种 Markdown 的扩展语法,允许在 Markdown 中使用 JSX 语法,使用方式可以参考 rspress MDX。
rspress 主题提供的内置组件大部分已调整为全局组件,可以在 .mdx 文件中无需导入直接使用,包括:
BadgeCardLinkCardPackageManagerTabsStepsTab/TabsToc其他不常用的组件可以通过 rspress/theme 导入使用,例如:
doom 提供了一些全局组件来辅助文档编写,不需要导入即可直接使用,目前包括:
Overview文档概览组件,用于展示文档目录
Directive有时,由于嵌套缩进,自定义容器语法可能失效,可以使用 Directive 组件代替
多语言文档(doc/en)的目录结构需要与 doc/zh 目录下的文档完全一致,保证多语言文档的链接除了语言标识外完全相同。
如果是使用自动化翻译工具进行翻译,则无需关心该问题,自动化翻译工具会自动根据
doc/zh 生成目标语言文档的目录结构。
ExternalSite引用外部站点组件
ExternalSiteLink引用外部站点链接组件
在 mdx 中 <ExternalSiteLink name="connectors" href="link" children="Content" /> 与下面的内容含义不同
如果不希望文本渲染在 p 元素内,可以像上面的示例一样使用 children 属性传递
AcpApisOverview 与 ExternalApisOverview引用外部站点 API 概览组件
术语组件,纯文本,动态挂载注入
propsname: 内置术语名称,参考动态挂载配置文件textCase: 文本大小写转换,可选值为lower, upper, capitalizeTermsTable内置术语列表展示组件
| 名称 | 中文 | 中文反例 | 英文 | 英文反例 | 描述 |
|---|---|---|---|---|---|
| company | 灵雀云 | - | Alauda | - | 公司品牌 |
| product | 灵雀云容器平台 | - | Alauda Container Platform | - | 产品品牌 |
| productShort | ACP | - | ACP | - | 产品品牌简称 |
propsterms: NormalizedTermItem[],可选,自定义术语列表,方便内部文档渲染自定义术语时复用JsonViewer根据约定,我们可以将需要复用的内容抽取到 shared 目录中,然后在需要的地方引入即可,比如:
如果需要使用更多 runtime 相关的 API,可以使用 .jsx/.tsx 实现组件,然后在 .mdx 文件中引入使用。
注意:目前 .mdx 导出的组件不支持 props 传参,参考此 issue,因此需要传递 props 的场景请使用 .jsx/.tsx 组件进行开发