Введение

Легкий язык разметки

В этом смысле reStructuredText — это лёгкий язык разметки, разработанный для обработки программным обеспечением для работы с документацией, таким как Docutils, и для удобства чтения программистами при чтении и написании исходного кода Python.

История

reStructuredText произошел от более раннего легковесного языка разметки под названием StructuredText (разработанного Zope). В StructuredText было несколько проблем, и reST был разработан для их устранения. Название reStructuredText было выбрано, чтобы подчеркнуть, что reST является «пересмотренным, переработанным и переосмысленным StructuredText». Некоторые элементы синтаксиса reST были вдохновлены языком Setext начала 1990-х годов. При разработке также рассматривалась возможность включения элементов общепринятых форматов RFC822 для интернет-сообщений и форматов Javadoc. reStructuredText был впервые выпущен в июне 2001 года. Его активное использование в сообществе Python началось в 2002 году.

Референтная реализация

Референтная реализация парсера reST является компонентом фреймворка обработки текста Docutils, написанного на языке программирования Python, но существуют и другие парсеры. Официальный тип MIME для reStructuredText не зарегистрирован, однако используется неофициальный тип text/x-rst.

Приложения

reStructuredText обычно используется для технической документации, например, в документации к библиотекам Python. Однако он подходит для широкого спектра текстов. С 2008 года reST является основным компонентом системы генерации документации Sphinx для Python. Trac, GitHub и Bitbucket также поддерживают reStructuredText. В 2011 году Distributed Proofreaders, готовившая тексты для проекта «Гутенберг», рассматривала возможность использования reST в качестве базового формата, из которого можно было бы генерировать другие форматы электронных книг. В июле 2016 года проект ядра Linux принял решение перейти от документации на основе DocBook к reStructuredText и инструментарию Sphinx. Инструмент для сборки программного обеспечения CMake перешел с собственного языка разметки на reStructuredText в версии 3.0 для своей документации.