Prise en charge de l'outil reStructuredText


128

Je suis un grand fan de reStructuredText , mais les outils qui le supportent sont disséminés sur Internet. La liste d'outils officielle est incomplète et / ou obsolète, et ne peut être mise à jour que via les privilèges de validation. Pendant un certain temps, il y avait une liste complète sur la page Wikipédia reStructuredText , mais celle-ci " ne respectait apparemment pas la directive de notabilité pour le contenu Web " et a été supprimée .

Donc, pour le mettre sous forme de question: quel support d'outils peut-on s'attendre à trouver en travaillant avec reStructuredText, par exemple les éditeurs de texte, les logiciels Wiki, les convertisseurs vers et depuis reStructuredText, etc.?

Réponses:


440

Récupérer (et étendre) la liste à partir d'une ancienne version de la page Wikipédia :

Documentation

Implémentations

Bien que l'implémentation de référence de reStructuredText soit écrite en Python, il existe également des analyseurs reStructuredText dans d'autres langages.

Python - Docutils

La distribution principale de reStructuredText est le package Python Docutils . Il contient plusieurs outils de conversion:

  • rst2html - du reStructuredText au HTML
  • rst2xml - de reStructuredText à XML
  • rst2latex - de reStructuredText à LaTeX
  • rst2odt - de reStructuredText au texte ODF (traitement de texte).
  • rst2s5 - de reStructuredText à S5 , un système de diaporama basé sur des normes simples
  • rst2man - de reStructuredText à la page Man

Haskell - Pandoc

Pandoc est une bibliothèque Haskell pour la conversion d'un format de balisage à un autre, et un outil de ligne de commande qui utilise cette bibliothèque. Il peut lire Markdown et (sous-ensembles de) reStructuredText, HTML et LaTeX, et il peut écrire Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, balisage MediaWiki, groff man pages et diaporamas HTML S5.

Il existe un outil en ligne Pandoc (POT) pour essayer cette bibliothèque. Malheureusement, par rapport au moteur de rendu en ligne reStructuredText (ROR),

  • POT tronque l'entrée un peu plus brièvement. L'utilisateur POT doit rendre l'entrée en morceaux qui pourraient être rendus entiers par le ROR.
  • La sortie POT n'a pas les messages d'erreur utiles affichés par le ROR (et générés par docutils)

Java - JRst

JRst est un analyseur Java reStructuredText. Il peut actuellement produire du HTML, XHTML, DocBook xdoc et PDF, MAIS semble avoir de sérieux problèmes: ni la génération PDF ni (X) HTML ne fonctionne avec le téléchargement complet actuel, les pages de résultats en (X) HTML sont vides et la génération PDF échoue sur IO problèmes avec les fichiers XSL (non fournis ??). Notez que le JRst d'origine a été supprimé du site Web; un fork est trouvé sur GitHub .

Scala - Laika

Laika est une nouvelle bibliothèque pour transformer les langages de balisage en d'autres formats de sortie. Actuellement, il prend en charge l'entrée de Markdown et reStructuredText et produit une sortie HTML. La bibliothèque est écrite en Scala mais devrait également être utilisable depuis Java.

Perl

PHP

C # /. NET

Nim / C

Le compilateur Nim propose les commandes rst2html et rst2texqui transforment les fichiers reStructuredText en fichiers HTML et TeX. La bibliothèque standard fournit les modules suivants (utilisés par le compilateur) pour gérer les fichiers reStructuredText par programme:

  • rst - implémente un analyseur reStructuredText
  • rstast - implémente un AST pour l'analyseur reStructuredText
  • rstgen - implémente un générateur de HTML / Latex à partir de reStructuredText

Autres convertisseurs tiers

La plupart (mais pas tous) de ces outils sont basés sur Docutils (voir ci-dessus) et fournissent une conversion vers ou à partir de formats qui pourraient ne pas être pris en charge par la distribution principale.

De reStructuredText

  • restview - Ce pippackage python -installable nécessite docutils, qui effectue le rendu réel. restviewLa principale caractéristique de facilité d'utilisation de ce logiciel est que, lorsque vous enregistrez les modifications apportées à vos documents, il les ré-affiche et les réaffiche automatiquement.restview
    1. démarre un petit serveur Web
    2. appels docutilspour rendre vos documents au format HTML
    3. appelle le navigateur de votre appareil pour afficher le code HTML de sortie.
  • rst2pdf - du reStructuredText au PDF
  • rst2odp - de reStructuredText à ODF Presentation
  • rst2beamer - de reStructuredText à LaTeX beamer Classe de présentation
  • Wikir - du reStructuredText à un Google (et éventuellement d'autres) formats Wiki
  • rst2qhc - Convertit une collection de fichiers reStructuredText en un fichier d'aide Qt (toolkit) et (facultatif) un fichier de projet d'aide Qt

Vers reStructuredText

  • xml2rst est un script XSLT pour convertir la représentation XML interne de Docutils (retour) en reStructuredText
  • Pandoc (voir ci-dessus) peut également convertir de Markdown, HTML et LaTeX en reStructuredText
  • db2rst est un traducteur DocBook vers reStructuredText simple et limité
  • pod2rst - convertir des fichiers .pod en fichiers reStructuredText

Extensions

Certains projets utilisent reStructuredText comme base de référence ou fournissent des fonctionnalités supplémentaires étendant l'utilitaire des outils reStructuredText.

Sphinx

Le générateur de documentation Sphinx traduit un ensemble de fichiers source reStructuredText en différents formats de sortie, produisant automatiquement des références croisées, des index, etc.

rest2web

rest2web est un outil simple qui vous permet de créer votre site Web à partir d'un seul modèle (ou autant que vous le souhaitez) et de conserver le contenu dans reStructuredText.

Pygments

Pygments est un surligneur de syntaxe générique pour une utilisation générale dans tous les types de logiciels tels que les systèmes de forum, les wikis ou d'autres applications qui ont besoin de jolimenter le code source. Voir Utilisation de Pygments dans les documents reStructuredText .

Éditeurs gratuits

Alors que n'importe quel éditeur de texte brut est adapté pour écrire des documents reStructuredText, certains éditeurs ont un meilleur support que d'autres.

Emacs

Le support Emacs via le premier mode fait partie du paquet Docutils sous/docutils/tools/editors/emacs/rst.el

Vigueur

Le vim-commonpaquet pour cela vient avec la plupart des distributions GNU / Linux a reStructuredText la mise en évidence de la syntaxe et le support d'indentation de reStructuredText prêt à l'emploi:

Jed

Il existe un premier mode pour l' éditeur de programmeurs Jed .

gedit

gedit, l'éditeur de texte officiel de l'environnement de bureau GNOME. Il existe un plugin gedit reStructuredText .

Geany

Geany , un environnement de développement intégré petit et léger, inclut la prise en charge de reStructuredText à partir de la version 0.12 (10 octobre 2007).

Leo

Leo , un éditeur de plans pour les programmeurs, prend en charge reStructuredText via rst-plugin ou via les nœuds "@ auto-rst" (ce n'est pas bien documenté, mais les nœuds @ auto-rst permettent d'éditer les premiers fichiers directement, en analysant la structure dans le contour Leo) .

Il fournit également un moyen de prévisualiser le HTML résultant, dans un volet "visualisé".

ETP

L' éditeur de texte pliable FTE - un éditeur de texte gratuit (sous licence GNU GPL) pour les développeurs. FTE a un mode pour le support reStructuredText. Il fournit une mise en évidence des couleurs des éléments RSTX de base et un menu spécial qui permet d'insérer facilement les éléments RSTX les plus populaires dans un document.

PyK

PyK est un successeur de PyEdit et reStInPeace, écrit en Python avec l'aide du toolkit Qt4.

Éclipse

L'IDE Eclipse avec le plug-in ReST Editor prend en charge la modification des fichiers reStructuredText.

NoTex

NoTex est un éditeur de texte (à usage général) basé sur un navigateur, avec gestion de projet intégrée et coloration syntaxique. De plus, il permet d'écrire des livres, des rapports, des articles, etc. en utilisant rST et de les convertir en LaTex, PDF ou HTML. Les fichiers PDF sont de haute qualité de publication et sont produits via Sphinx avec la suite Texlive LaTex.

Bloc-notes ++

Notepad ++ est un éditeur de texte à usage général pour Windows. Il intègre la coloration syntaxique de nombreux langages et prend en charge reStructuredText via un langage défini par l' utilisateur pour reStructuredText .

Code Visual Studio

Visual Studio Code est un éditeur de texte à usage général pour Windows / macOS / Linux. Il intègre la coloration syntaxique de nombreux langages et prend en charge reStructuredText via une extension de LeXtudio .

Éditeurs de texte reStructurés dédiés

Editeurs propriétaires

Texte sublime

Texte sublime est un éditeur de code source entièrement personnalisable et extensible disponible pour Windows, OS X et Linux. L'enregistrement est nécessaire pour une utilisation à long terme, mais toutes les fonctions sont disponibles dans la version non enregistrée, avec des rappels occasionnels pour l'achat d'une licence. Les versions 2 et 3 (actuellement en version bêta) prennent en charge la coloration syntaxique reStructuredText par défaut, et plusieurs plugins sont disponibles via le gestionnaire de packages Package Control pour fournir des extraits et la complétion de code, une coloration syntaxique supplémentaire, la conversion vers / depuis RST et d'autres formats, et un aperçu HTML dans le navigateur.

BBEdit / TextWrangler

BBModifier (et sa variante gratuite TextWrangler ) pour Mac peut mettre en évidence la syntaxe de reStructuredText à l'aide de ce module de langage sans code .

TextMate

TextMate , un éditeur de texte GUI à usage général exclusif pour Mac OS X, propose un bundle pour reStructuredText .

Intype

Intype est un éditeur de texte propriétaire pour Windows, qui prend en charge reStructuredText .

E Éditeur de texte

E est un éditeur de texte propriétaire sous licence "Open Company License". Il prend en charge les bundles de TextMate, il doit donc prendre en charge reStructuredText de la même manière que TextMate.

PyCharm

PyCharm (et d'autres IDE de plate-forme IntelliJ?) Prend en charge ReST / Sphinx (coloration syntaxique, saisie semi-automatique et aperçu).aperçu instantané)

Wiki

voici quelques programmes Wiki qui prennent en charge le balisage reStructuredText en tant que syntaxe de balisage natif ou en tant que module complémentaire:

MediaWiki

L'extension MediaWiki reStructuredText permet le balisage reStructuredText dans MediaWiki entouré de <rst>et </rst>.

MoinMoin

MoinMoin est un WikiEngine avancé, facile à utiliser et extensible avec une grande communauté d'utilisateurs. En quelques mots, il s'agit de collaboration sur des pages Web facilement modifiables.

Il existe un analyseur reStructuredText pour MoinMoin .

Trac

Trac est un wiki amélioré et un système de suivi des problèmes pour les projets de développement de logiciels. Il existe un support reStructuredText dans Trac .

Ce wiki

Ce Wiki est un Webware pour Python Wiki écrit par Ian Bicking. Ce wiki utilise ReStructuredText pour son balisage.

rstiki

rstiki est un wiki personnel minimaliste à fichier unique utilisant la syntaxe reStructuredText (via docutils) inspirée de pwyky . Il ne prend pas en charge l'indication d'auteur, la gestion des versions, la hiérarchie, le chrome / le cadrage / la création de modèles ou le style. Il exploite docutils / reStructuredText comme syntaxe wiki. En tant que tel, il fait moins de 200 lignes de code et dans un seul fichier. Vous le mettez dans un répertoire et il s'exécute.

ikiwiki

Ikiwiki est un compilateur wiki. Il convertit les pages wiki en pages HTML adaptées à la publication sur un site Web. Ikiwiki stocke les pages et l'historique dans un système de contrôle de révision tel que Subversion ou Git. Il existe de nombreuses autres fonctionnalités, notamment la prise en charge des blogs, ainsi qu'un large éventail de plugins. C'est le plugin reStructuredText , cependant, est quelque peu limité et n'est pas recommandé comme son principal langage de balisage pour le moment.

Services Web

bac à sable

Un éditeur en ligne reStructuredText peut être utilisé pour jouer avec le balisage et voir les résultats immédiatement.

Framework de blogs

WordPress

Plugin WordPreSt reStructuredText pour WordPress. (PHP)

Zine

Plugin d'analyse reStructuredText pour Zine (deviendra obsolète dans la version 0.2 lorsque Zine est programmé pour obtenir un support natif de reStructuredText). Zine est interrompu. (Python)

pélican

Pelican est un générateur de blog statique qui prend en charge la rédaction d'articles dans ReST. (Python)

Hyde

Hyde est un générateur de site Web statique qui prend en charge ReST. (Python)

Acrylamide

Acrylamid est un générateur de blog statique qui prend en charge la rédaction d'articles dans ReST. (Python)

Nikola

Nikola est un générateur de sites et de blogs statiques qui prend en charge ReST. (Python)

genres ipsum

Ipsum genera est un générateur de blog statique écrit en Nim.

Yozuch

Yozuch est un générateur de blog statique écrit en Python.

Plus


Pour PHP, le package Document de Zeta Components a un bon support reStructuredText.
Rob Allen

Vous pourriez également être intéressé par un aperçu en direct , ce qui est un peu comme ce que Markedapp propose pour les documents Markdown. Ce n'est pas un outil reStructredText persé, mais je le trouve vraiment utile.
Wilfred Springer du

1
Via le commentaire d'Amy Brown , j'ai appris que vous pouvez configurer Marked.app pour qu'il effectue le premier rendu en accédant à préférences> comportement, en activant "Custom Markdown Processor" et en le pointant vers un fichier rst2html.py.
Shon

Le temps rendra cette réponse également obsolète. J'ai vérifié quelques suggestions, comme PYK et RIP, qui ne peuvent pas fonctionner sur les systèmes actuels car ils dépendent de modules obsolètes, alors ...
thêta

3
J'ai ajouté un lien vers l'addon vim riv.vim, qui me fournit ce que je recherchais depuis longtemps. github.com/Rykka/riv.vim
Jan Vlcinsky
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.