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 Internet Message Format и форматов Javadoc также рассматривались для включения в дизайн. [6]
reStructuredText был впервые выпущен в июне 2001 года. [1] Он начал активно использоваться в сообществе Python в 2002 году. [7]
Эталонная реализация парсера reST является компонентом фреймворка обработки текста Docutils на языке программирования Python , но доступны и другие парсеры.
Проект Docutils не зарегистрировал ни одного типа MIME для reStructuredText и не обозначил ни одного незарегистрированного типа MIME как официального, но документирует тип MIME text/x-rst
как фактически используемый, например, системой сборки веб-сайта Python. [8] Тот же тип MIME используется в базе данных типов файлов freedesktop.org, используемой средами рабочего стола в Linux . [9] Другой тип MIME, text/prs.fallenstein.rst
, был зарегистрирован как тип MIME vanity третьей стороной в 2003 году для представления reStructuredText и остается единственным зарегистрированным IANA типом MIME для reStructuredText, [10] хотя он не признан таковым проектом Docutils. [8]
reStructuredText обычно используется для технической документации, например, в документации библиотек Python. [11] Однако он подходит для широкого спектра текстов.
С 2008 года reST является основным компонентом системы генерации документов Python Sphinx .
Trac также поддерживает reStructuredText [12] , как и GitHub и Bitbucket .
В 2011 году компания Distributed Proofreaders , которая готовила тексты для проекта Gutenberg , рассматривала возможность принятия reST в качестве базового формата, на основе которого можно было бы создавать другие форматы электронных книг. [13] [ требуется обновление ]
В июле 2016 года проект ядра Linux принял решение перейти от документации на основе DocBook к reStructuredText и цепочке инструментов Sphinx . [14] [15] [ циклическая ссылка ]
Инструмент сборки программного обеспечения CMake перешел с пользовательского языка разметки на reStructuredText в версии 3.0 для своей документации. [16]
ReStructuredText был разработан и реализован Дэвидом Гудгером, а не регистратором этого типа носителя. Регистратору просто понадобился зарегистрированный тип носителя для него. […] Контроль изменений для этой регистрации в настоящее время находится у Бенджи Фалленштейна. (Если кто-то, более тесно связанный с ReStructuredText, захочет взять его на себя, он будет с радостью отдан.)