Soporte de herramienta reStructuredText

128

Soy un gran admirador de reStructuredText , sin embargo, las herramientas que lo soportan están dispersas por todo Internet. La lista oficial de herramientas está incompleta y / o desactualizada, y solo se puede actualizar mediante privilegios de confirmación. Durante algún tiempo hubo una lista exhaustiva en la página Wikipedia ReStructuredText , pero aparentemente " no cumplía con la directriz de notoriedad para el contenido web " y fue eliminada .

Para ponerlo en forma de pregunta: ¿Qué soporte de herramientas se puede encontrar al trabajar con reStructuredText, por ejemplo, editores de texto, software Wiki, convertidores hacia y desde reStructuredText, etc.?

Chen Levy
fuente

Respuestas:

440

Recuperar (y ampliar) la lista de una versión anterior de la página de Wikipedia :

Documentación

Implementaciones

Aunque la implementación de referencia de reStructuredText está escrita en Python, también hay analizadores de reStructuredText en otros idiomas.

Python - Docutils

La distribución principal de reStructuredText es el paquete Python Docutils . Contiene varias herramientas de conversión:

  • rst2html - de reStructuredText a HTML
  • rst2xml: de reStructuredText a XML
  • rst2latex: de reStructuredText a LaTeX
  • rst2odt: de reStructuredText a documento de texto ODF (procesador de textos).
  • rst2s5: de reStructuredText a S5 , un sistema de presentación de diapositivas simple basado en estándares
  • rst2man - de reStructuredText a la página Man

Haskell - Pandoc

Pandoc es una biblioteca de Haskell para convertir de un formato de marcado a otro, y una herramienta de línea de comandos que utiliza esta biblioteca. Puede leer Markdown y (subconjuntos de) reStructuredText, HTML y LaTeX, y puede escribir Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man páginas y presentaciones de diapositivas HTML S5.

Hay una herramienta en línea de Pandoc (POT) para probar esta biblioteca. Desafortunadamente, en comparación con el renderizador en línea reStructuredText (ROR),

  • POT trunca la entrada bastante más brevemente. El usuario POT debe representar la entrada en fragmentos que ROR podría procesar en su totalidad.
  • La salida POT carece de los mensajes de error útiles mostrados por el ROR (y generados por docutils)

Java - JRst

JRst es un analizador de texto reStructuredText de Java. Actualmente puede generar HTML, XHTML, DocBook xdoc y PDF, PERO parece tener serios problemas: ni la generación de PDF o (X) HTML funciona con la descarga completa actual, las páginas de resultados en (X) HTML están vacías y la generación de PDF falla en IO problemas con archivos XSL (¿no incluidos?) Tenga en cuenta que el JRst original se ha eliminado del sitio web; Se encuentra un tenedor en GitHub .

Scala - Laika

Laika es una nueva biblioteca para transformar lenguajes de marcado a otros formatos de salida. Actualmente admite entrada de Markdown y reStructuredText y produce salida HTML. La biblioteca está escrita en Scala, pero también debe ser utilizable desde Java.

Perl

PHP

C # /. NET

Nim / C

El compilador de Nim presenta los comandos rst2html y rst2textransforma los archivos reStructuredText en archivos HTML y TeX. La biblioteca estándar proporciona los siguientes módulos (utilizados por el compilador) para manejar los archivos reStructuredText mediante programación:

  • primero : implementa un analizador reStructuredText
  • rstast : implementa un AST para el analizador reStructuredText
  • rstgen : implementa un generador de HTML / Latex de reStructuredText

Otros convertidores de terceros

La mayoría (pero no todas) de estas herramientas se basan en Docutils (ver arriba) y proporcionan conversión ao desde formatos que podrían no ser compatibles con la distribución principal.

De reStructuredText

  • restview : este pippaquete de Python que se puede instalar requiere docutilsla representación real. restviewLa principal característica de facilidad de uso es que, cuando guarda los cambios en su (s) documento (s), los vuelve a representar y volver a mostrar automáticamente.restview
    1. inicia un pequeño servidor web
    2. llamadas docutilspara representar sus documentos a HTML
    3. llama al navegador de su dispositivo para mostrar el HTML de salida.
  • rst2pdf - de reStructuredText a PDF
  • rst2odp : de reStructuredText a ODF Presentation
  • rst2beamer : de reStructuredText a LaTeX beamer Presentation class
  • Wikir : de reStructuredText a Google (y posiblemente a otros) formatos Wiki
  • rst2qhc - Convierte una colección de archivos reStructuredText en un archivo de Ayuda Qt (kit de herramientas) y (opcional) un archivo de Proyecto de Ayuda Qt

Para reStructuredText

  • xml2rst es un script XSLT para convertir la representación XML interna de Docutils (atrás) a reStructuredText
  • Pandoc (ver arriba) también puede convertir de Markdown, HTML y LaTeX a reStructuredText
  • db2rst es un traductor de DocBook simple a reStructuredText
  • pod2rst - convierte archivos .pod a archivos reStructuredText

Extensiones

Algunos proyectos usan reStructuredText como línea de base para construir, o proporcionan una funcionalidad adicional que extiende la utilidad de las herramientas reStructuredText.

Esfinge

El generador de documentación de Sphinx traduce un conjunto de archivos fuente reStructuredText a varios formatos de salida, produciendo automáticamente referencias cruzadas, índices, etc.

rest2web

rest2web es una herramienta simple que le permite construir su sitio web a partir de una sola plantilla (o tantas como desee) y mantener el contenido en reStructuredText.

Pigmentos

Pygments es un resaltador de sintaxis genérico para uso general en todo tipo de software, como sistemas de foros, Wikis u otras aplicaciones que necesitan embellecer el código fuente. Consulte Uso de pigmentos en documentos reStructuredText .

Editores Gratis

Si bien cualquier editor de texto sin formato es adecuado para escribir documentos reStructuredText, algunos editores tienen mejor soporte que otros.

Emacs

El soporte de Emacs a través del primer modo viene como parte del paquete Docutils en/docutils/tools/editors/emacs/rst.el

Empuje

El vim-commonpaquete que viene con la mayoría de las distribuciones de GNU / Linux tiene resaltado de sintaxis reStructuredText y soporte de sangría de reStructuredText listo para usar:

Jed

Hay un primer modo para el editor de programadores Jed .

gedit

gedit, el editor de texto oficial del entorno de escritorio GNOME. Hay un complemento gedit reStructuredText .

Geany

Geany , un entorno de desarrollo integrado pequeño y ligero, incluye soporte para reStructuredText de la versión 0.12 (10 de octubre de 2007).

León

Leo , un editor de esquemas para programadores, admite reStructuredText a través del primer plugin o de los nodos "@ auto-first" (no está bien documentado, pero los nodos @ auto-first permiten editar los primeros archivos directamente, analizando la estructura en el esquema de Leo) .

También proporciona una forma de obtener una vista previa del HTML resultante, en un panel "visualizado".

ETC

El FTE Editor de texto plegable - un país libre (licencia GPL de GNU) editor de texto para los desarrolladores. FTE tiene un modo para soporte de reStructuredText. Proporciona resaltado de color de elementos RSTX básicos y menú especial que proporciona una manera fácil de insertar los elementos RSTX más populares en un documento.

PyK

PyK es un sucesor de PyEdit y reStInPeace, escrito en Python con la ayuda del kit de herramientas Qt4.

Eclipse

El IDE de Eclipse con el complemento ReST Editor proporciona soporte para editar archivos reStructuredText.

NoTex

NoTex es un editor de texto basado en navegador (uso general), con gestión de proyectos integrada y resaltado de sintaxis. Además, permite escribir libros, informes, artículos, etc. usando rST y convertirlos a LaTex, PDF o HTML. Los archivos PDF son de alta calidad de publicación y se producen a través de Sphinx con la suite Texlive LaTex.

Notepad ++

Notepad ++ es un editor de texto de propósito general para Windows. Tiene resaltado de sintaxis para muchos idiomas integrados y soporte para reStructuredText a través de un lenguaje definido por el usuario para reStructuredText .

Visual Studio Code

Visual Studio Code es un editor de texto de propósito general para Windows / macOS / Linux. Tiene resaltado de sintaxis para muchos idiomas integrados y admite reStructuredText a través de una extensión de LeXtudio .

Editores de texto reStructuredText dedicados

Editores propietarios

Texto sublime

Sublime Text es un editor de código fuente completamente personalizable y extensible disponible para Windows, OS X y Linux. Es necesario registrarse para un uso a largo plazo, pero todas las funciones están disponibles en la versión no registrada, con recordatorios ocasionales para comprar una licencia. Las versiones 2 y 3 (actualmente en versión beta) admiten el resaltado de sintaxis de texto reStructuredText de forma predeterminada, y varios complementos están disponibles a través del Administrador de paquetes Package Control para proporcionar fragmentos y finalización de código, resaltado de sintaxis adicional, conversión a / desde RST y otros formatos, y vista previa de HTML en el navegador

BBEdit / TextWrangler

BBEdit (y su variante gratuita TextWrangler ) para Mac puede resaltar sintaxis reStructuredText usando este módulo de lenguaje sin código .

TextMate

TextMate , un editor de texto GUI de propósito general patentado para Mac OS X, tiene un paquete para reStructuredText .

Intype

Intype es un editor de texto patentado para Windows, que admite reStructuredText listo para usar .

E Editor de texto

E es un editor de texto patentado con licencia bajo la "Open Company License". Admite paquetes de TextMate, por lo que debería admitir reStructuredText de la misma manera que TextMate.

PyCharm

PyCharm (y otros IDE de plataforma IntelliJ?) Tiene soporte ReST / Sphinx (resaltado de sintaxis, autocompletado y vista previa). vista previa instantánea)

Wiki

Estos son algunos programas de Wiki que admiten el marcado reStructuredText como sintaxis de marcado nativo o como complemento:

MediaWiki

La extensión reStructuredText de MediaWiki permite el marcado reStructuredText en MediaWiki rodeado por <rst>y </rst>.

MoinMoin

MoinMoin es un WikiEngine avanzado, fácil de usar y extensible con una gran comunidad de usuarios. Dicho en pocas palabras, se trata de colaboración en páginas web fácilmente editables.

Hay un analizador reStructuredText para MoinMoin .

Trac

Trac es un wiki mejorado y un sistema de seguimiento de problemas para proyectos de desarrollo de software. Hay un soporte reStructuredText en Trac .

Este Wiki

Este Wiki es un Webware para Python Wiki escrito por Ian Bicking. Este wiki usa ReStructuredText para su marcado.

rstiki

rstiki es un wiki personal minimalista de un solo archivo que utiliza la sintaxis reStructuredText (a través de docutils) inspirada en pwyky . No es compatible con la indicación de autoría, el control de versiones, la jerarquía, el cromo / encuadre / plantilla o el estilo. Aprovecha docutils / reStructuredText como sintaxis wiki. Como tal, tiene menos de 200 líneas de código y está en un solo archivo. Lo pones en un directorio y se ejecuta.

ikiwiki

Ikiwiki es un compilador de wiki. Convierte páginas wiki en páginas HTML adecuadas para su publicación en un sitio web. Ikiwiki almacena páginas e historial en un sistema de control de revisiones como Subversion o Git. Hay muchas otras características, incluido el soporte para blogs, así como una gran variedad de complementos. Es un complemento reStructuredText , sin embargo, es algo limitado y no se recomienda como su principal lenguaje de marcado en este momento.

Servicios web

Salvadera

Se puede usar un editor de texto reStructuredText en línea para jugar con el marcado y ver los resultados de inmediato.

Marcos de blogs

WordPress

WordPreSt reStructuredText plugin para WordPress. (PHP)

Zine

Complemento del analizador reStructuredText para Zine (quedará obsoleto en la versión 0.2 cuando Zine esté programado para obtener un soporte nativo de reStructuredText). Zine se suspende. (Pitón)

pelícano

Pelican es un generador de blog estático que admite la escritura de artículos en ReST. (Pitón)

Hyde

Hyde es un generador de sitio web estático que admite ReST. (Pitón)

Acrilamida

Acrylamid es un generador de blog estático que admite la escritura de artículos en ReST. (Pitón)

Nikola

Nikola es un sitio estático y un generador de blogs que admite ReST. (Pitón)

géneros ipsum

Ipsum genera es un generador de blog estático escrito en Nim.

Yozuch

Yozuch es un generador de blog estático escrito en Python.

Más

Chen Levy
fuente
Para PHP, el paquete de documentos de Zeta Components tiene un buen soporte reStructuredText.
Rob Allen el
También puede estar interesado en tener una vista previa en vivo , que es un poco como lo que Markedapp está ofreciendo para los documentos de Markdown. No es una herramienta reStructredText persé, pero me parece realmente útil.
Wilfred Springer
1
Mediante el comentario de Amy Brown , supe que puede configurar Marked.app para que se muestre primero yendo a preferencias> comportamiento, habilitando el "Procesador de marcado personalizado" y apuntándolo a un archivo rst2html.py.
Shon
El tiempo hará que esta respuesta también esté desactualizada. Revisé solo par de sugerencias, como PYK y RIP, que no puede ejecutarse en sistemas hoy en día ya que dependen de los módulos obsoletos, así que ...
theta
3
Agregué un enlace a vim addon riv.vim, que me proporciona lo que estaba buscando durante mucho tiempo. github.com/Rykka/riv.vim
Jan Vlcinsky