reStructuredText

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая 95.10.143.218 (обсуждение) в 15:49, 27 ноября 2012 (Поддержка текстовыми редакторами: typoНа основе браузера редактор rST). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

ReStructuredText
Изображение логотипа
Расширение ..rst
MIME-тип text/x-rst[1]
Тип формата текстовые форматы
Сайт docutils.sourceforge.io/… (англ.)

reStructuredText («ристракчурэдтекст», сокращение: ReST, расширение файла: .rst) — облегчённый язык разметки. Хорошо применим для создания простых веб-страниц и других документов, а также в качестве вспомогательного языка при написании комментариев в программном коде. Используется в системе подготовки технической документации Docutils[2], написанной в основном Дэвидом Гуджером (David Goodger)[3]. reStructuredText можно считать потомком легковесных систем разметки StructuredText и Setext. Парсер reStructuredText поддерживает достаточное количество конечных форматов, в том числе PDF, HTML, ODT, LaTeX и формат презентаций S5.

Система документирования Sphinx[4], написанная для нужд документирования языка программирования Python на сайте docs.python.org и построенная на базе Docutils, применяется уже в нескольких десятках проектов[5]. ReST является одним из языков разметки, используемых на github[6], в частности, для README-файлов. Формат имеет статус экспериментального в проекте «Гутенберг»[7][8].

Пример синтаксиса

 ==================
 Название документа
 ==================
 
 Заголовок
 ---------
 
 Какой-нибудь простой текст, *текст курсивом*, **текст жирным шрифтом** и ссылка_:
 
 * список1
 * список2
 
 1. нумерованный список1
 2. нумерованный список2

 .. figure:: /media/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png
 
     Логотип русской Википедии 
 
 .. _ссылка: http://ru.wikipedia.org

Разметка строк документации (внутри утроенных кавычек) в коде на Python[1]:

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[9]),
  • Vim (в базовой версии доступна подсветка синтаксиса),
  • JED (доступен специальный режим[10]),
  • ReText (специализированный редактор для языков разметки Markdown и ReST)[11],
  • NoTex (На основе браузера редактор rST),
  • Geany.

Примечания

Ссылки