reStructuredText ( RST , ReST или reST ) — это формат файла для текстовых данных, используемый в основном в сообществе языков программирования Python для технической документации .
Это часть проекта Docutils группы Python Doc-SIG (Documentation Special Interest Group), направленного на создание набора инструментов для Python, аналогичного Javadoc для Java или Plain Old Documentation (POD) для Perl . Docutils может извлекать комментарии и информацию из программ Python и форматировать их в различные формы программной документации. [2]
В этом смысле reStructuredText — это легкий язык разметки , предназначенный для обработки с помощью программного обеспечения для обработки документации, такого как Docutils, и для легкого чтения людьми-программистами, которые читают и пишут исходный код Python .
reStructuredText произошел от более раннего облегченного языка разметки под названием StructuredText [3] (разработанного Zope ). У StructuredText был ряд проблем, и для их решения был разработан reST. [4] Название reStructuredText было выбрано, чтобы указать, что reST представляет собой «пересмотренный, переработанный и переосмысленный StructuredText». [5]
Части синтаксиса reST были вдохновлены языком Setext начала 1990-х годов. Элементы общего формата интернет-сообщений RFC822 и форматов Javadoc также рассматривались для включения в проект. [6]
reStructuredText был впервые выпущен в июне 2001 года. [1] Он начал широко использоваться в сообществе Python в 2002 году. [7]
Эталонная реализация парсера reST является компонентом платформы обработки текста Docutils на языке программирования Python , но доступны и другие парсеры.
Для reStructuredText не зарегистрировано официального типа MIME , но неофициальным является text/x-rst
. [8]
reStructuredText обычно используется для технической документации, например, в документации библиотек Python. [9] Однако он подходит для широкого круга текстов.
С 2008 года reST является основным компонентом системы генерации документов Python Sphinx .
Trac также поддерживает reStructuredText [10] , как и GitHub и Bitbucket .
В 2011 году компания Distributed Proofreaders , готовившая тексты для Project Gutenberg , рассматривала возможность принятия reST в качестве базового формата, на основе которого можно было бы генерировать другие форматы электронных книг. [11] [ нужно обновить ]
В июле 2016 года проект ядра Linux решил перейти от документации на основе DocBook к reStructuredText и набору инструментов Sphinx . [12]
Инструмент сборки программного обеспечения CMake перешел с собственного языка разметки на reStructuredText в версии 3.0 для документации. [13]