|Developed by||David Goodger|
|Initial release||April 2, 2002|
(March 11, 2013)
|Open format?||Public domain|
The reStructuredText (frequently abbreviated as reST) project is part of the Python programming language Docutils project of the Python Doc-SIG (Documentation Special Interest Group). The goal of the project is to create a set of tools for Python similar to Javadoc for Java or POD for Perl. Docutils can extract comments and information from Python programs, and format them into various forms of useful program documentation.
The term reStructuredText is most frequently used to refer to the reST markup format developed by the reST project. In this sense, reST is a lightweight markup language designed to be both (a) processable by documentation-processing software such as Docutils, and (b) easily readable by human programmers who are reading and writing Python source code.
reStructuredText is sometimes abbreviated as RST, ReST, or reST. This can create confusion with Representational State Transfer (REST), an unrelated technology.
There were a number of problems with StructuredText. reST was a re-implementation and extension of the ideas in StructuredText, developed in order to address those problems. The name reStructuredText was chosen to indicate that reST is a "revised, reworked, and reinterpreted StructuredText."
reST began to see significant use in the Python community in 2002. Since 2008, reST has been a core component of Python's Sphinx document generation system.
reStructuredText is commonly used for technical documentation, for example, in documentation of Python libraries. However, reStructuredText is suitable for a wide range of texts.
reST is a core component of Python's Sphinx document generation system.
Examples of reST markup
Section Header ==============
Subsection Header -----------------
- A bullet list item - Second item - A sub item - Third item
1) An enumerated list item 2) Second item a) Sub item that goes on at length and thus needs to be wrapped. Note the indentation that must match the beginning of the text, not the enumerator. i) Sub-sub item 3) Third item
#) Another enumerated list item #) Second item
.. image:: /path/to/image.jpg
N.B.: named links and anonymous links are enclosed in grave accents (`), and not in apostrophes (').
:: some literal text
This may also be used inline at the end of a paragraph, like so:: some more literal text
.. code:: python print("A literal block directive explicitly marked as python code")
- Sphinx (documentation generator)
- Comparison of documentation generators
- Comparison of notetaking software
- Comparison of document markup languages
- Setext, an old lightweight markup language (1992).
- Markdown, a widespread lightweight markup language.
- MultiMarkdown, an improved Markdown.
- Org-mode, a similar lightweight markup.
- Textile, a similar lightweight markup language to produce HTML.
- Asciidoc, a similar lightweight markup language supporting many types of documents.
- txt2tags, another similar lightweight markup language.
- Mertz, David (2003-02-01). "XML Matters: reStructuredText". IBM developerWorks. Retrieved 2011-12-28.
- Goodger, David (2006-09-22). "reStructuredText: Markup Syntax and Parser Component of Docutils". Docutils Project. Retrieved 2008-06-11.
- Goodger, David (2008-01-05). "Docutils FAQ (Frequently Asked Questions)". Docutils Project. Retrieved 2008-06-25.
- Goodger, David. "reStructuredText Docstring Format". PFS. Retrieved 18 Jan 2009.
- Newby, Greg (2011-01-08). "Minutes of 2010 December 11 meeting". Distributed Proofreaders. Retrieved 2011-01-08.
- "CMake 3.0.0 Release Notes". Kitware, Inc. 2014-06-10. Retrieved 2014-07-09.