RST 基本语法 ============ reStructuredText(简称 RST)是一种轻量级标记语言,广泛用于 Python 生态及其文档编写。RST 语法简洁,支持丰富的排版格式,适合编写技术文档和说明书。 本阶段你将学习: .. contents:: :local: :depth: 2 学习过程中,可使用下面的在线工具进行练习: .. raw:: html 段落 ---------- 段落是 RST 文档中最基本的块,由一个或多个空行分隔。在写 RST 文档时,请注意缩进。 内联格式 ------------ 什么是内联格式呢?内联格式是指在文本中使用特殊符号来指定格式,而不会影响文本的结构。 在 RST 中,可通过特殊符号来指定内联格式。常用的特殊符号包括: - 星号(*):斜体 - 双星号(**):粗体 - 反引号(`):字面量 - 波浪线(~):删除线 - 下划线(_):下划线 - 等号(=):标题 斜体 ^^^^^^ 在 RST 中,可以使用单个星号来将文本显示为斜体。 语法: .. code-block:: rst *text* 渲染结果: *text* 粗体 ^^^^ 在 RST 中,可以使用双星号来将文本显示为加粗。 语法: .. code-block:: rst **text** 渲染结果: **text** 字面量 ^^^^^^^ 你可以使用双引号来将文本显示为字面量,以指示代码片段、变量名、UI 元素等。 语法: .. code-block:: rst ``code`` 渲染结果: ``code`` 标题和标题级别 ------------------- 标题级别由标题的排列顺序自动确定,因此无需为特定字符分配固定的级别。然而,在项目中保持统一的约定有助于维护一致性。推荐遵循如下规范: - ``=``,用于表示「节」(sections) - ``-``,用于表示「小节」(subsections) - ``^``,用于表示「子小节」(subsubsections) - ``"``,用于表示「段落」(paragraphs) 列表 ----- 使用列表对有序或无序事件进行说明 无序列表 ^^^^^^^^^^^^^^ 语法和示例: .. code-block:: rst - 每个列表项以符号和空格开头。 - 可使用的符号包括 ``-``、``*``、``+`` 等。 渲染效果: - 每个列表项以符号和空格开头。 - 可使用的符号包括 ``-``、``*``、``+`` 等。 有序列表 ^^^^^^^^^^^^^^ 语法与示例: .. code-block:: rst 1. 每个编号列表项以数字或字母、点号和空格开头。 2. 可使用的符号包括 1、A、i、(1) 等。 渲染效果: 1. 每个编号列表项以数字或字母、点号和空格开头。 2. 可使用的符号包括 1、A、i、(1) 等。 代码块 ----------- 代码块由 ``code-block`` 指令和实际代码组成。为与其他代码库保持一致,代码部分通常缩进四个空格。对于 Python、C、Bash 等编程语言,关键字会默认高亮显示。下面以 Python 语言为例进行说明。 语法与示例: .. code-block:: rst .. code-block:: python for i in range(10): print(i) 渲染效果: .. code-block:: python for i in range(10): print(i) 更多内容,见 `RST 代码块 `_。 索引 (Index) 文件 ------------------- 索引文件使用 toctree 指令创建跨文件的目录。Sphinx 编译文档时,安装 index.rst 中索引的文件进行编译。所以,如果项目中存在 RST 文档,且希望被编译出来,则必须放在 index.rst 文件中。 语法与示例: .. code-block:: rst .. toctree:: :hidden: :maxdepth: 2 basic-tasks/index.rst intermediate-tasks/index.rst advanced-tasks/index.rst 编译结果: 见 :doc:`../index` 该指令支持以下选项: - ``:maxdepth:``:指定目录的最大深度。 - ``:hidden:``:隐藏 toctree,使其用于构建左侧导航栏,但不显示在主页面中。 更多信息,见 `Sphinx TOC tree `__。