reStructuredText oder kurz ReST ist ein Format für Text-Markup, das ähnlich wie Wikiformatierung oder Markdown, Textile usw. versucht, die Textauszeichnungen möglichst natürlich aussehen zu lassen, im Gegensatz zu bspw. HTML-Tags. ReST ist quasi das Standardauszeichnungsformat in der Python-Welt, da es extra für die docutils (siehe unten) entwickelt wurde.
Ein typisches ReST-Dokument könnte so aussehen:
====
ReST
====
Das ist ein ReST-Dokument mit *kursiven*, **fetten** und ``literalen``
Textstücken.
* Auch Listen
* gibt es
Codeblöcke werden so eingeleitet::
# wichtig ist der doppelte Doppelpunkt!
def foo(bar):
pass
`Links`_ sind auch besonders einfach einzubauen.
.. _Links: http://www.google.de/ReST-Dokumente sind also auch im unformatierten Zustand schön anzusehen. Eine Spezifikation des Dateiformates gibt es unter http://docutils.sf.net/rst.html.
Zuständig für die Übersetzung in HTML oder LaTeX sind die docutils (http://docutils.sf.net). Diese lassen sich auch einfach erweitern, so ist es z.B. möglich, eigene Direktiven einzubauen oder das Parsen von Markup den eigenen Erfordernissen anzupassen.
Eine gute Einsatzmöglichkeit für ReST sind z.B. auch Docstrings, die dadurch gut mit automatisierten Tools wie Epydoc in HTML übersetzt werden können.