reStructuredText ( RST , ReST o reST ) es un formato de archivo para datos textuales utilizado principalmente en la comunidad del lenguaje de programación Python para documentación técnica .
Forma parte del proyecto Docutils del Python Doc-SIG (Documentation Special Interest Group), cuyo objetivo es crear un conjunto de herramientas para Python similar a Javadoc para Java o Plain Old Documentation (POD) para Perl . Docutils puede extraer comentarios e información de programas Python y formatearlos en diversas formas de documentación del programa. [2]
En este sentido, reStructuredText es un lenguaje de marcado liviano diseñado para ser procesable por software de procesamiento de documentación como Docutils y fácilmente legible por programadores humanos que leen y escriben código fuente Python .
reStructuredText evolucionó a partir de un lenguaje de marcado ligero anterior llamado StructuredText [3] (desarrollado por Zope ). Hubo una serie de problemas con StructuredText y reST se desarrolló para solucionarlos. [4] El nombre reStructuredText fue elegido para indicar que reST es un "Texto Estructurado revisado, reelaborado y reinterpretado". [5]
Partes de la sintaxis reST se inspiraron en el lenguaje Setext de principios de la década de 1990. También se consideró la inclusión en el diseño de elementos del formato común de mensajes de Internet RFC822 y de los formatos Javadoc . [6]
reStructuredText se lanzó por primera vez en junio de 2001. [1] Comenzó a tener un uso significativo en la comunidad Python en 2002. [7]
La implementación de referencia del analizador reST es un componente del marco de procesamiento de texto Docutils en el lenguaje de programación Python , pero hay otros analizadores disponibles.
No hay ningún tipo MIME oficial registrado para reStructuredText, pero el no oficial es text/x-rst
. [8]
reStructuredText se usa comúnmente para documentación técnica, por ejemplo, en documentación de bibliotecas de Python. [9] Sin embargo, es adecuado para una amplia gama de textos.
Desde 2008, reST ha sido un componente central del sistema de generación de documentos Sphinx de Python .
Trac también admite reStructuredText, [10] al igual que GitHub y Bitbucket .
En 2011, Distributed Proofreaders , que preparaba textos para el Proyecto Gutenberg , estaba considerando la adopción de reST como formato básico a partir del cual se podrían generar otros formatos de libros electrónicos. [11] [ necesita actualización ]
En julio de 2016, el proyecto del kernel de Linux decidió realizar la transición de la documentación basada en DocBook a reStructuredText y la cadena de herramientas Sphinx . [12] [13]
La herramienta de creación de software CMake cambió de un lenguaje de marcado personalizado a reStructuredText en la versión 3.0 para su documentación. [14]