MDX is an extension syntax of Markdown that allows the use of JSX syntax within Markdown. For usage, refer to rspress MDX.
Most of the built-in components provided by the rspress
theme have been adjusted to global components, which can be used directly in .mdx
files without importing, including:
Badge
Card
LinkCard
PackageManagerTabs
Steps
Tab/Tabs
Toc
Other less commonly used components can be imported from rspress/theme
, for example:
doom
provides some global components to assist in documentation writing, which can be used directly without import. Currently, these include:
Overview
Document overview component, used to display the document directory
Directive
Sometimes, due to nested indentation, the custom container syntax may fail. You can use the Directive
component as a substitute.
The directory structure of multilingual documents (doc/en
) needs to be exactly the same as the documents under the doc/zh
directory to ensure that the links in multilingual documents are identical except for the language identifier.
If you are using automated translation tools, you do not need to worry about
this issue, as the automated translation tools will automatically generate
the target language document directory structure based on doc/zh
.
ExternalSite
Component for referencing external sites
ExternalSiteLink
Component for referencing external site links
In mdx, <ExternalSiteLink name="connectors" href="link" children="Content" />
has a different meaning from the following:
If you do not want the text to be rendered inside a p
element, you can pass it via the children
prop as shown in the example above.
AcpApisOverview
and ExternalApisOverview
Components for referencing external site API overviews
Term component, plain text, dynamically mounted and injected
props
name
: Built-in term name, refer to dynamic mounting configuration filetextCase
: Text case transformation, optional values are lower
, upper
, capitalize
TermsTable
Built-in term list display component
Name | Chinese | Chinese Bad Cases | English | English Bad Cases | Description |
---|---|---|---|---|---|
company | 灵雀云 | - | Alauda | - | 公司品牌 |
product | 灵雀云容器平台 | - | Alauda Container Platform | - | 产品品牌 |
productShort | ACP | - | ACP | - | 产品品牌简称 |
props
terms
: NormalizedTermItem[]
, optional, custom term list to facilitate reuse when rendering custom terms in internal documentationJsonViewer
According to the convention, we can extract reusable content into the shared
directory and then import it where needed, for example:
If you need to use more runtime related APIs, you can implement components in .jsx/.tsx
and then import and use them in .mdx
files.
Note: Currently, components exported from .mdx
do not support passing props
. Refer to this issue. Therefore, for scenarios requiring props
passing, please develop using .jsx/.tsx
components.