reStructuredText (сокращение: ReST, расширение файла: .rst) — облегчённый язык разметки. Хорошо применим для создания простых веб-страниц и других документов, а также в качестве вспомогательного языка при написании комментариев в программном коде. Используется в системе подготовки технической документации Docutils, написанной в основном Дэвидом Гуджером (David Goodger). reStructuredText можно считать потомком легковесных систем разметки StructuredText и Setext. Парсер reStructuredText поддерживает достаточное количество конечных форматов, в том числе PDF, HTML, ODT, LaTeX и формат презентаций S5.
Система документирования Sphinx, написанная для нужд документирования языка программирования Python на сайте docs.python.org и построенная на базе Docutils, применяется уже в нескольких десятках проектов. ReST является одним из языков разметки, используемых на github[6], в частности, для README-файлов. Формат имеет статус экспериментального в проекте «Гутенберг».
Пример синтаксиса
================== Название документа ==================
Заголовок ---------
Какой-нибудь простой текст, *текст курсивом*, **текст жирным шрифтом** и ссылка_:
* элемент маркированного списка * элемент маркированного списка
1. Первый элемент нумерованного списка 2. Второй элемент нумерованного списка
Разметка строк документации (внутри утроенных кавычек) в коде на Python:
class Keeper(Storer):
""" Keep data fresher longer.
Extend `Storer`. Class attribute `instances` keeps track of the number of `Keeper` objects instantiated. """
instances = 0 """How many `Keeper` objects are there?"""
def __init__(self): """ Extend `Storer.__init__()` to keep track of instances. Keep count in `self.instances` and data in `self.data`. """ Storer.__init__(self) self.instances += 1
self.data = [] """Store data in a list, most recent last.""" ...
Поддержка текстовыми редакторами
Универсальные текстовые редакторы:
Emacs (с помощью специального пакета rst-mode),
Vim (в базовой версии доступна подсветка синтаксиса),
JED (доступен специальный режим),
ReText (специализированный редактор для языков разметки Markdown и ReST),