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 .
Es parte del proyecto Docutils del Python Doc-SIG (Documentation Special Interest Group), cuyo objetivo es crear un conjunto de herramientas para Python similares a Javadoc para Java o Plain Old Documentation (POD) para Perl . Docutils puede extraer comentarios e información de programas Python y formatearlos en varias formas de documentación de programas. [2]
En este sentido, reStructuredText es un lenguaje de marcado ligero 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 de Python .
reStructuredText evolucionó a partir de un lenguaje de marcado ligero anterior llamado StructuredText [3] (desarrollado por Zope ). StructuredText tenía varios problemas y se desarrolló reST para solucionarlos. [4] El nombre reStructuredText se eligió para indicar que reST es un "StructuredText revisado, reelaborado y reinterpretado". [5]
Algunas partes de la sintaxis reST se inspiraron en el lenguaje Setext de principios de los años 1990. También se consideraron para su inclusión en el diseño elementos del formato de mensajes de Internet RFC822 y de los formatos Javadoc . [6]
reStructuredText se lanzó por primera vez en junio de 2001. [1] Comenzó a verse 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.
El proyecto Docutils no ha registrado ningún tipo MIME para reStructuredText ni ha designado ningún tipo MIME no registrado como oficial, pero documenta el tipo MIME text/x-rst
como el que se utiliza de facto , por ejemplo, en el sistema de compilación del sitio web Python. [8] El mismo tipo MIME se utiliza en la base de datos de tipos de archivos freedesktop.org que utilizan los entornos de escritorio en Linux . [9] Otro tipo MIME, text/prs.fallenstein.rst
, fue registrado como un tipo MIME de vanidad por un tercero en 2003 para representar a reStructuredText, y sigue siendo el único tipo MIME registrado por la IANA para reStructuredText, [10] aunque no es reconocido como tal por el proyecto Docutils. [8]
reStructuredText se utiliza comúnmente para documentación técnica, por ejemplo, en la documentación de bibliotecas de Python. [11] 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, [12] al igual que GitHub y Bitbucket .
En 2011, Distributed Proofreaders , que preparó 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. [13] [ necesita actualización ]
En julio de 2016, el proyecto del kernel de Linux decidió pasar de la documentación basada en DocBook a reStructuredText y la cadena de herramientas Sphinx . [14] [15] [ referencia circular ]
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. [16]
ReStructuredText fue diseñado e implementado por David Goodger, no por el registrante de este tipo de medio. El registrante simplemente necesitaba un tipo de medio registrado para él. […] El control de cambios para este registro está actualmente en manos de Benja Fallenstein. (Si alguien más involucrado con ReStructuredText quiere hacerse cargo, se lo entregará con gusto).