**reStructuredText**（**RST**、**ReST**或**reST**）是一种用于文本数据的文件格式，主要用于 Python 编程语言社区的技术文档。

它是Python Doc-SIG（Documentation Special Interest Group）的 Docutils 项目的一部分，旨在为 Python 创建一组类似于 Java 的 Javadoc 或 Perl 的 Plain Old Documentation（pod）的工具。Docutils 可以从 Python 程序中提取注释和信息，并将它们格式化为各种形式的程序文档。

从这个意义上说，reStructuredText 是一种轻量级标记语言，其设计目的是令文档处理软件（如Docutils）可以处理它，和使读、写 Python 源代码的程序员很容易读它。

历史
--

早期的轻量级标记语言 StructuredText（由 Zope 开发）存在许多问题，reST 就是为了解决这些问题而开发的。选择了 reStructuredText 这个名称是为了表明 reST 是一个"经过修改、重写和重新解释的结构化文本"。

reST 在 2002 年开始在 Python 社区中得到了重要的应用。

参考实现
----

reST 解析器的引用实现是 Python 编程语言中的 Docutils 文本处理框架的一个组件，但是还可以使用其他解析器。

没有正式的 MIME 类型注册为 reStructuredText，但非官方的是``text/x-rst``。

应用程序
----

reStructuredText 通常用于技术文档，例如 Python 库的文档。然而，它也适用于广泛的文本。

自 2008 年以来，reST 一直是 Python 的 Sphinx 文档生成系统的核心组件。

Trac 也支持 reStructuredText，GitHub 和 Bitbucket 也是如此。

为古登堡计划准备文本的分布式校对器正在考虑采用 reST 作为一种基本格式，其他电子书格式可以从这种格式生成。

2016 年 7 月，Linux 内核项目决定从基于 DocBook 的文档过渡到 reStructuredText 和 Sphinx 工具链。

在 3.0 版本中，软件构建工具 CMake 从自定义标记语言转换为 reStructuredText。

reST标记示例
--------

### 标题

```
节标题
==============

小节标题
------------------
```

### 列表

```
- 列表条目
- 另一个列表条目

  - 子列表条目

- 列表之间空行以分隔条目

\* 改变条目标点以分割列表

- 又一个条目

1) 编号列表条目

2) 另一条

   a) 一个很长很长的列表条目，这条的内容太长了以至于\
      要换行书写。注意换行时左侧要对齐文本，而不是编\
      号。行末加反斜杠可避免在中文之间空格。

      i) 列表里面甚至还可以

         分段。

3) 第三条

#) 又一个条目

#) 再一个条目

```

### 图片

```
.. image:: /path/to/image.jpg

```

### 指定链接

```
链接到\ `维基百科`\_\ 和\ `Linux 内核存档`\_\ 。汉字与格式标志之间插入反斜杠和空格以进行分隔。

.. \_维基百科: https://www.wikipedia.org/
.. \_Linux 内核存档: https://www.kernel.org/

```

### 匿名链接

```
这句话可以\ `匿名链接到 Python 网站`\_\_。

__ https://www.python.org/

```
N.B.: 指定链接和匿名链接用重字符(`)括起来，而不是用引号(')括起来。

### 文字块

```
::

 Literal 文本

在段落最后也可以插入 Literal 文本标志符::

 又一段 Literal 文本

.. code:: python

   print("一段明示为 Python 语言代码的 Literal 文本")

```

另请参阅
----

* 文档标记语言比较
* 文档生成器比较（英语：）
* 笔记软件比较（英语：）

参考文献
----

1. ↑  Mertz, David.. IBM developerWorks. 2003-02-01  [2016-10-05]. （原始内容存档于2016-10-06）.
2. ↑  Goodger, David.. Docutils Project. 2016-05-24  [2016-10-05]. （原始内容存档于2016-10-05）.
3. ↑  Goodger, David.. Docutils Project. 2016-02-26  [2016-10-05]. （原始内容存档于2016-09-30）.
4. ↑ . Docutils Project.  [2017-12-20]. （原始内容存档于2017-12-10）.
5. ↑  Goodger, David.. Python Software Foundation. 2002-04-02  [2016-10-05]. （原始内容存档于2016-10-06）.
6. ↑ . Trac. 2016-09-13  [2016-10-05]. （原始内容存档于2016-10-06）.
7. ↑  Newby, Greg.. Distributed Proofreaders. 2011-01-08  [2011-01-08].
8. ↑ . LWN.net. 2016-07-06  [2016-10-27]. （原始内容存档于2016-10-25）.
9. ↑ . Kitware, Inc. 2014-06-10  [2016-10-05]. （原始内容存档于2016-12-02）.

外部链接
----

* reStructuredText官方网站，附有参考页面（页面存档备份，存于）

|  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
文档标记语言 |
| --- |
|  |
| 辦公室套件 | 
* Compound Document Format（英语：）
* OOXML
	+ SpreadsheetML（英语：）
	+ Office Open XML
	+ WordprocessingML（英语：）
* ODF
* UOF

 |
|  |
| 知名 | 
* HTML
* XHTML
* MathML
* RTF
* TeX
* LaTeX
* Markdown

 |
|  |
| 不太知名 | 
* Amigaguide
* CML
* C-HTML
* ConTeXt（英语：）
* Crossmark（英语：）
* DITA（英语：）
* DocBook
* eLML（英语：）
* EAD（英语：）
* Enriched text（英语：）
* FHTML（英语：）
* GML（英语：）
* GuideML（英语：）
* HDML（英语：）
* HyTime
* HyperTeX（英语：）
* IPF（英语：）
* LilyPond
* LinuxDoc（英语：）
* Lout（英语：）
* MIF（英语：）
* MAML（英语：）
* MEI（英语：）
* MusicXML
* OMDoc（英语：）
* OpenMath（英语：）
* POD（英语：）
* RTML（英语：）
* RTML（英语：）
* RFT（英语：）
* S1000D（英语：）
* TEI
* Texinfo（英语：）
* Troff
* Wikitext
* WML
* WapTV（英语：）
* XAML
* YAML

 |
|  |
| 文档标记语言列表（英语：） |

 |