From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

reStructuredText is a lightweight markup language intended to be highly readable in source format. Its formal name indicates that it is a "revised, reworked, and reinterpreted StructuredText."[1]

reStructuredText is sometimes abbreviated as RST; while sometimes abbreviated as ReST or reST, this can create confusion with REST, an unrelated technology.

The reference parser is implemented as a component of the Docutils text processing framework in the Python programming language, but other parsers are available. It was a re-implementation and extension of the StructuredText and Setext lightweight markup systems,[2] and was meant in particular to address the Problems with StructuredText.

reStructuredText is commonly used for technical documentation, for example, in documentation of Python libraries. However, reStructuredText is suitable for a wide range of texts.


Examples of 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

      i) Sub-sub item

3) Third item
# Another enumerated list item

# Second item   

Named links:

A sentence with links to Wikipedia_ and the `Linux kernel archive`_.

.. _Wikipedia:
.. _Linux kernel archive:

Anonymous links:

Another sentence with an `anonymous link to the Python website`__.


Please note that Named links and Anonymous links enclose text in grave accents (`), and not in apostrophes ('). If your keyboard doesn't have the grave accent key, on Microsoft Windows you can type it on the number keypad with the combination Alt+96.

Tool support

This is a list of tools made to interact with reStructuredText.


reStructuredText home page is part of the python docutils project.



Arguably the main point of any markup language, is to be automatically represented as something else, e.g. a nice readable layout. In the case of reStructuredText, there are some software packages that allow converting it to a variety of formats, and in some cases converting from some other formats back to reStructuredText.


The main distribution of reStructuredText is the Python Docutils package. It contains several conversion tools:

  • rst2html - from reStructuredText to HTML
  • rst2latex - from reStructuredText to LaTeX
  • rst2odt - from reStructuredText to ODF Text (word processor) document.
  • rst2s5 - from reStructuredText to S5 (file format) a Simple Standards-based Slide Show System.


Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it can write markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man pages, and S5 HTML slide shows.

There is an online tool to try this library.


JRst is a Java reStructuredText parser enabling to create a tree representation document. It becomes easy to generate document representation towards different formats. It can currently output HTML, xHTML, DocBook xdoc and PDF

Other 3rd party converters

  • rst2pdf - from reStructuredText to PDF
  • rst2odp - from reStructuredText to ODF Presentation.
  • rst2beamer - from reStructuredText to LaTeX beamer Presentation class.
  • Wikir - from reStructuredText to a Google (and possibly other) Wiki formats.
  • rst2qhc - Convert a collection of reStructuredText files into a Qt (toolkit) Help file and (optional) a Qt Help Project file.

To reStructuredText

  • xml2rst is an XSLT script to convert Docutils internal XML representation (back) to reStructuredText.
  • Pandoc (see above) can also convert from Markdown, HTML and LaTeX to reStructuredText


Some projects use reStructuredText as a baseline to build on, or provide extra functionality extending the utility of the ReStructuredText tools.


Sphinx is a tool that makes it easy to create intelligent and beautiful documentation. Sphinx translates a set of reStructuredText source files into various output formats, automatically producing cross-references, indices etc.


rest2web is a simple tool that lets you build your website from a single template (or as many as you want), and keep the contents in reStructuredText. (You can still keep pages in HTML if needed.)


Pygments is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code.

See: Using Pygments in ReST documents. t


While any plain text editor is suitable to write reStructuredText documents, some editors have better support than others.

Free editors


The Emacs support via rst-mode comes as part of the `docutils` package under /docutils/tools/editors/emacs/rst.el


The `vim-common` package that comes with CentOS 4.x (vim 6.3) and CentOS 5.x (vim 7.0), comes with reStructuredText syntax highlight and indentation support of reStructuredText out of the box.


There is a rst mode_ for the Jed programmers editor.


gedit is the official text editor of the GNOME desktop environment.

There is a gedit reStructuredText plugin


Leo, an outlining editor for programmers, supports reStructuredText via rst-plugin.


The FTE Folding Text Editor - a free (licensed under the GNU GPL) text editor for developers. It is really powerful, yet very easy and intuitive to use.

FTE has a mode for reStructuredText support. It provides color highlighting of basic RSTX elements and special menu that provide easy way to insert most popular RSTX elements to a document.


PyK is a successor of PyEdit and reStInPeace, written in Python with the help of the Qt4 toolkit.

Dedicated reStructuredText Editors

Proprietary editors


TextMate, a proprietary general-purpose GUI text editor for Mac OS X, has a bundle for reStructuredText.


Intype is a proprietary text editor for Windows, that support reStructuredText out of the box.

Intype is a powerful and intuitive code editor for Windows with lightning fast response. It is easily extensible and customizable, thanks in part to its support for scripting and native plug-ins. It makes development in any programming or scripting language quick and easy.

E Text Editor

E is a proprietary Text Editor licensed under the "Open Company License". It supports TextMaite's bundles, so it should support reStructuredText the same way TextMate does.


here are some Wiki programs that support the reStructuredText markup as the native markup syntax, or as an add-on:


MediaWiki reStructuredText extension allows for `reStructuredText` markup surrounded by <rst> and </rst>


MoinMoin is an advanced, easy to use and extensible WikiEngine with a large community of users. Said in a few words, it is about collaboration on easily editable web pages.

There is a ReStructuredText Parser for MoinMoin


Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.

There is a reStructuredText Support in Trac.

This Wiki

This Wiki is a Webware for Python Wiki written by Ian Bicking. This wiki uses ReStructuredText for its markup.

Web Services


Here you can play with the markup and see the results immediately.


A web service to convert reStructuredText to everything, plus a repository for style-sheets. (inactive)


See also


External links


es:ReStructuredText it:ReStructuredText ja:ReStructuredText pt:ReStructuredText


Personal tools

Served in 0.569 secs.