5、标题和目录
标题和目录
Markdown 标题
你可以使用常规 Markdown 标题。
## Level 2 title
### Level 3 title
#### Level 4 title
每个 Markdown 标题将显示为目录条目。
标题 ID
每个标题都有一个可以自动生成或显式指定的 ID。标题 ID 允许你链接到 Markdown 或 JSX 中的特定文档标题:
[link](#heading-id)
<Link to="#heading-id">link</Link>
默认情况下,Docusaurus 将根据标题文本为你生成标题 ID。例如,### Hello World
将具有 ID hello-world
。
生成的 ID 有一些限制:
- ID 可能不太好看
- 你可能想要更改或翻译文本而不更新现有 ID
特殊的 Markdown 语法允许你设置显式标题 id:
### Hello World \{#my-explicit-id}
使用 write-heading-ids
CLI 命令向所有 Markdown 文档添加显式 ID。
生成的标题 ID 在每个页面上将保证是唯一的,但如果你使用自定义 ID,请确保每个 ID 在每个页面上只出现一次,否则将出现两个具有相同 ID 的 DOM 元素,这是无效的 HTML 语义,并且 将导致一个标题无法链接。
目录标题级别
每个 Markdown 文档的右上角都会显示一个目录。默认情况下,此表仅显示 h2 和 h3 标题,这足以概述页面结构。如果你需要更改显示的标题范围,你可以自定义最小和最大标题级别 - 每页或全局。
要设置特定页面的标题级别,请使用 toc_min_heading_level
和 toc_max_heading_level
标题。
myDoc.md
---
# Display h2 to h5 headings
toc_min_heading_level: 2
toc_max_heading_level: 5
---
要设置所有页面的标题级别,请使用 themeConfig.tableOfContents
选项。
docusaurus.config.js
export default {
themeConfig: {
tableOfContents: {
minHeadingLevel: 2,
maxHeadingLevel: 5,
},
},
};
如果你已全局设置选项,你仍然可以通过 front Matter 在本地覆盖它们。
themeConfig
选项将适用于网站上的所有目录,包括 内联目录,但 Front Matter 选项仅影响右上角的目录。你需要使用 minHeadingLevel
和 maxHeadingLevel
属性来自定义每个 <TOCInline />
组件。
内联目录
借助 MDX,还可以直接在 Markdown 文档中显示内联目录。
toc
变量在任何 MDX 文档中都可用,并且包含 MDX 文档的所有标题。默认情况下,目录中仅显示 h2
和 h3
标题。你可以通过为各个 TOCInline
组件设置 minHeadingLevel
或 maxHeadingLevel
来更改可见的标题级别。
import TOCInline from '@theme/TOCInline';
<TOCInline toc={toc} />