第 9 章 进阶(锚点、目录、提示框、数学公式)

本章覆盖:

语法 形式 范围
标题锚点 ID # 标题 {#id} PHP Markdown Extra / Hugo
自动锚点 标题转 slug GFM / Hugo
链接到锚点 [text](#id) 通用
目录 TOC 主题生成 / 手写 通用
提示框 Admonition :::note 等 MDX / Quarto / mkdocs
数学公式 $...$ $$...$$ KaTeX / MathJax

9.1 标题自动锚点

多数实现会自动为标题生成 id(slug 转换),便于页内跳转:

源码:

## 安装

详见 [安装步骤](#安装)。

渲染效果:“安装步骤"链接跳转到本页"安装"标题。

Hugo 默认生成 slug 形式 id,规则为小写、空格转 -、去除标点。

9.2 自定义锚点 ID

源码:

## 标题 {#custom-id}

详见 [跳转](#custom-id)。

渲染效果(PHP Markdown Extra / Hugo / Pandoc):标题 id 为 custom-id。

9.3 页内跳转

源码:

- [安装](#install)
- [使用](#usage)
- [FAQ](#faq)

## 安装 {#install}

正文。

## 使用 {#usage}

正文。

## FAQ {#faq}

正文。

渲染效果:顶部列表项可点击跳转到对应章节。

9.4 目录(Table of Contents)

9.4.1 手写目录

源码:

## 目录

- [1. 安装](#1-安装)
- [2. 使用](#2-使用)
  - [2.1 基础](#21-基础)
  - [2.2 进阶](#22-进阶)
- [3. FAQ](#3-faq)

9.4.2 主题生成 TOC

Hugo 在 hugo.toml 中配置:

[markup.tableOfContents]
  startLevel = 1
  endLevel = 6
  ordered = false

主题模板通过 .TableOfContents 自动渲染目录。

9.5 提示框 / Admonition

不同方言写法不同。

9.5.1 mkdocs / Quarto 风格

源码:

:::note
这是一条提示。
:::

:::warning
这是一条警告。
:::

:::tip
这是一条技巧。
:::

渲染效果:分别渲染为不同颜色的提示框(取决于实现)。

9.5.2 VuePress / Docusaurus 风格

::: tip
提示内容
:::

::: warning
警告内容
:::

::: danger
危险操作
:::

9.5.3 Hugo Book 主题

Hugo Book 主题支持自定义提示框,使用 HTML 或主题类名:

<blockquote class="book-hint warning">
  警告内容
</blockquote>

9.5.4 兜底写法

不支持 admonition 时,用引用 + 表情:

> ⚠️ **警告**:这是一条警告。
> 💡 **提示**:这是一条提示。

9.6 数学公式

9.6.1 行内公式

源码:

质能方程 $E = mc^2$。

渲染效果(启用 KaTeX/MathJax):行内显示公式 E=mc²。

9.6.2 块级公式

源码:

$$
\int_0^1 x^2 \, dx = \frac{1}{3}
$$

渲染效果:块级显示积分公式。

9.6.3 启用 KaTeX(Hugo)

Hugo Book 主题需要引入 KaTeX 资源,常见做法在 layouts/_partials/docs/inject/head.html 注入:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js"
  onload="renderMathInElement(document.body,{delimiters:[{left:'$$',right:'$$',display:true},{left:'$',right:'$',display:false}]});"></script>

注意:默认 CommonMark 不渲染 LaTeX;需引入 KaTeX / MathJax。

9.7 折叠区块(details)

源码:

<details>
<summary>点击展开</summary>

隐藏内容详情。

- 项目 A
- 项目 B

</details>

渲染效果:默认折叠,点击展开。

9.8 图注(Figure)

源码:

<figure>
  <img src="https://commonmark.org/images/markdown.png" alt="Markdown Logo">
  <figcaption>图 1:Markdown Logo</figcaption>
</figure>

渲染效果:图片带图注。

9.9 综合实例

源码:

## 综合示例 {#overview}

- [跳转](#overview)
- [下节](#section-2)

> ⚠️ **警告**:示例仅供学习

<details>
<summary>详情</summary>

公式:$a^2 + b^2 = c^2$

</details>

:::note
本节为方言示例,并非所有实现都支持。
:::

渲染效果:自定义 ID 的标题、页内跳转、引用式警告、折叠区块、公式、admonition。

9.10 小结

  • 标题默认生成 slug id,可 {#custom-id} 自定义
  • 目录可手写或用主题 TableOfContents 自动渲染
  • 提示框各方言写法不一,需查实现文档
  • 数学公式需 KaTeX / MathJax
  • 折叠区块、图注用原生 HTML 兜底

📊 本站总访问量 加载中… 次
投诉建议邮箱: [email protected]
免责声明:本站(铭新文库)内容为学习用途,编译整理自各编程语言官方文档(Go / Python / C / C++ / C#)与开源资料(Markdown),版权归原作者所有。本站力求内容准确,但不对内容的完整性、时效性做保证;如有歧义以官方英文文档为准。使用本站内容所产生的一切后果,本站不承担责任。如发现侵权或内容错误,请通过上方邮箱联系我们。