Unterstützung des reStructuredText-Tools

128

Ich bin ein großer Fan von reStructuredText , aber die Tools, die es unterstützen, sind über das ganze Internet verteilt. Die offizielle Tool-Liste ist unvollständig und / oder veraltet und kann nur über Festschreibungsrechte aktualisiert werden. Für einige Zeit gab es eine umfassende Liste auf der Wikipedia-Seite reStructuredText , die jedoch anscheinend " nicht der Notability-Richtlinie für Webinhalte entsprach " und entfernt wurde .

Um es in ein Frageformular zu stellen: Welche Tool-Unterstützung kann man bei der Arbeit mit reStructuredText erwarten, z. B. Texteditoren, Wiki-Software, Konverter von und zu reStructuredText usw.?

Chen Levy
quelle

Antworten:

440

Rettung (und Erweiterung) der Liste aus einer alten Version der Wikipedia-Seite :

Dokumentation

Implementierungen

Obwohl die Referenzimplementierung von reStructuredText in Python geschrieben ist, gibt es reStructuredText-Parser auch in anderen Sprachen.

Python - Docutils

Die Hauptdistribution von reStructuredText ist das Python Docutils- Paket. Es enthält mehrere Konvertierungswerkzeuge:

  • rst2html - von reStructuredText zu HTML
  • rst2xml - von reStructuredText zu XML
  • rst2latex - von reStructuredText zu LaTeX
  • rst2odt - vom reStructuredText zum ODF- Textdokument (Textverarbeitung).
  • rst2s5 - von reStructuredText zu S5 , einem auf einfachen Standards basierenden Diashow -System
  • rst2man - von reStructuredText zur Manpage

Haskell - Pandoc

Pandoc ist eine Haskell-Bibliothek zum Konvertieren von einem Markup-Format in ein anderes und ein Befehlszeilentool, das diese Bibliothek verwendet. Es kann Markdown und (Teilmengen von) reStructuredText, HTML und LaTeX lesen und Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki-Markup, groff man schreiben Seiten und S5 HTML-Diashows.

Es gibt ein Pandoc-Online-Tool (POT), mit dem Sie diese Bibliothek testen können. Leider im Vergleich zum reStructuredText Online Renderer (ROR),

  • POT schneidet die Eingabe etwas kürzer ab. Der POT-Benutzer muss Eingaben in Blöcken rendern, die vom ROR als Ganzes gerendert werden können.
  • In der POT-Ausgabe fehlen die hilfreichen Fehlermeldungen, die vom ROR angezeigt (und generiert von docutils) werden.

Java - JRst

JRst ist ein Java reStructuredText-Parser. Es kann derzeit HTML, XHTML, DocBook xdoc und PDF ausgeben, ABER es scheint ernsthafte Probleme zu geben: Weder die PDF- noch die (X) HTML-Generierung funktioniert mit dem aktuellen vollständigen Download, die Ergebnisseiten in (X) HTML sind leer und die PDF-Generierung schlägt bei E / A fehl Probleme mit XSL-Dateien (nicht gebündelt ??). Beachten Sie, dass die ursprüngliche JRst von der Website entfernt wurde. Eine Gabel befindet sich auf GitHub .

Scala - Laika

Laika ist eine neue Bibliothek zur Umwandlung von Auszeichnungssprachen in andere Ausgabeformate. Derzeit unterstützt es Eingaben von Markdown und reStructuredText und erzeugt HTML-Ausgaben. Die Bibliothek ist in Scala geschrieben, sollte aber auch von Java aus verwendbar sein.

Perl

PHP

C # /. NET

Nim / C.

Der Nim- Compiler enthält die Befehle, rst2html mit rst2texdenen reStructuredText-Dateien in HTML- und TeX-Dateien umgewandelt werden. Die Standardbibliothek bietet die folgenden Module (vom Compiler verwendet), um reStructuredText-Dateien programmgesteuert zu verarbeiten:

  • rst - implementiert einen reStructuredText-Parser
  • rstast - implementiert einen AST für den Parser reStructuredText
  • rstgen - implementiert einen HTML / Latex-Generator aus reStructuredText

Andere Konverter von Drittanbietern

Die meisten (aber nicht alle) dieser Tools basieren auf Docutils (siehe oben) und ermöglichen die Konvertierung in oder aus Formaten, die von der Hauptdistribution möglicherweise nicht unterstützt werden.

Aus reStructuredText

  • restview - Für dieses pipinstallierbare Python-Paket docutilsist das eigentliche Rendering erforderlich . restviewDie wichtigste benutzerfreundliche Funktion besteht darin, dass beim Speichern von Änderungen an Ihren Dokumenten diese automatisch neu gerendert und angezeigt werden.restview
    1. startet einen kleinen Webserver
    2. Aufrufe docutilszum Rendern Ihrer Dokumente in HTML
    3. Ruft den Browser Ihres Geräts auf, um den Ausgabe-HTML-Code anzuzeigen.
  • rst2pdf - von reStructuredText zu PDF
  • rst2odp - von reStructuredText zur ODF-Präsentation
  • rst2beamer - von reStructuredText bis LaTeX Beamer Präsentationsklasse
  • Wikir - von reStructuredText zu einem Google (und möglicherweise anderen) Wiki-Format
  • rst2qhc - Konvertiert eine Sammlung von reStructuredText-Dateien in eine Qt-Hilfedatei (Toolkit) und (optional) eine Qt-Hilfsprojektdatei

Zu reStructuredText

  • xml2rst ist ein XSLT-Skript zum Konvertieren der internen XML-Darstellung von Docutils (zurück) in reStructuredText
  • Pandoc (siehe oben) kann auch von Markdown, HTML und LaTeX in reStructuredText konvertieren
  • db2rst ist ein einfacher und beschränkter DocBook to reStructuredText-Übersetzer
  • pod2rst - Konvertiert .pod-Dateien in reStructuredText-Dateien

Erweiterungen

Einige Projekte verwenden reStructuredText als Basis, um darauf aufzubauen, oder bieten zusätzliche Funktionen, die den Nutzen der reStructuredText-Tools erweitern.

Sphinx

Der Sphinx- Dokumentationsgenerator übersetzt eine Reihe von reStructuredText-Quelldateien in verschiedene Ausgabeformate und erzeugt automatisch Querverweise, Indizes usw.

rest2web

rest2web ist ein einfaches Tool, mit dem Sie Ihre Website aus einer einzigen Vorlage (oder so vielen wie Sie möchten) erstellen und den Inhalt in reStructuredText behalten können.

Pygamente

Pylements ist ein generischer Syntax- Textmarker für den allgemeinen Gebrauch in allen Arten von Software wie Forensystemen, Wikis oder anderen Anwendungen, die den Quellcode verschönern müssen. Siehe Verwenden von Pylements in reStructuredText-Dokumenten .

Kostenlose Editoren

Während jeder Nur-Text- Editor zum Schreiben von reStructuredText-Dokumenten geeignet ist, unterstützen einige Editoren besser als andere.

Emacs

Die Emacs-Unterstützung über den ersten Modus ist Teil des Docutils-Pakets unter/docutils/tools/editors/emacs/rst.el

Vim

Das vim-commonPaket, das mit den meisten GNU / Linux-Distributionen geliefert wird, verfügt über die Syntaxhervorhebung von reStructuredText und die sofortige Unterstützung der Einrückung von reStructuredText:

Jed

Es gibt einen ersten Modus für den Jed- Programmierer-Editor.

gedit

gedit, der offizielle Texteditor der GNOME-Desktop-Umgebung. Es gibt ein gedit reStructuredText-Plugin .

Geany

Geany , eine kleine und leichte integrierte Entwicklungsumgebung, unterstützt reStructuredText ab Version 0.12 (10. Oktober 2007).

Löwe

Leo , ein Gliederungseditor für Programmierer, unterstützt reStructuredText über das erste Plugin oder über "@ auto-rst" -Knoten (es ist nicht gut dokumentiert, aber @ auto-rst-Knoten ermöglichen das direkte Bearbeiten von ersten Dateien, indem die Struktur in die Leo-Gliederung analysiert wird). .

Es bietet auch eine Möglichkeit, eine Vorschau des resultierenden HTML-Codes in einem Bereich anzuzeigen, in dem die Ansicht angezeigt wird.

VZÄ

Der FTE Folding Text Editor - ein kostenloser (unter der GNU GPL lizenzierter) Texteditor für Entwickler. FTE verfügt über einen Modus für die Unterstützung von reStructuredText. Es bietet eine farbliche Hervorhebung grundlegender RSTX-Elemente und ein spezielles Menü, mit dem die beliebtesten RSTX-Elemente einfach in ein Dokument eingefügt werden können.

PyK

PyK ist ein Nachfolger von PyEdit und reStInPeace, die mit Hilfe des Qt4-Toolkits in Python geschrieben wurden.

Finsternis

Die Eclipse-IDE mit dem ReST-Editor-Plug-In bietet Unterstützung für das Bearbeiten von reStructuredText-Dateien.

NoTex

NoTex ist ein browserbasierter (Allzweck-) Texteditor mit integrierter Projektverwaltung und Syntaxhervorhebung. Außerdem können Sie mit rST Bücher, Berichte, Artikel usw. schreiben und in LaTex, PDF oder HTML konvertieren. Die PDF-Dateien sind von hoher Veröffentlichungsqualität und werden über Sphinx mit der Texlive LaTex-Suite erstellt.

Editor ++

Notepad ++ ist ein universeller Texteditor für Windows. Es verfügt über eine Syntaxhervorhebung für viele integrierte Sprachen und unterstützt reStructuredText über eine benutzerdefinierte Sprache für reStructuredText .

Visual Studio-Code

Visual Studio Code ist ein universeller Texteditor für Windows / macOS / Linux. Es verfügt über eine integrierte Syntaxhervorhebung für viele Sprachen und unterstützt reStructuredText über eine Erweiterung von LeXtudio .

Spezielle reStructuredText-Editoren

Proprietäre Redakteure

Erhabener Text

Sublime Text ist ein vollständig anpassbarer und erweiterbarer Quellcode-Editor, der für Windows, OS X und Linux verfügbar ist. Für die langfristige Nutzung ist eine Registrierung erforderlich, aber alle Funktionen sind in der nicht registrierten Version verfügbar, mit gelegentlichen Erinnerungen an den Kauf einer Lizenz. Die Versionen 2 und 3 (derzeit in der Beta-Version) unterstützen standardmäßig die Hervorhebung der reStructuredText-Syntax. Über den Paketmanager Package Control stehen mehrere Plugins zur Verfügung , um Snippets und Code-Vervollständigung, zusätzliche Hervorhebung der Syntax, Konvertierung in / aus RST und anderen Formaten sowie HTML-Vorschau bereitzustellen im Browser.

BBEdit / TextWrangler

BBEdit (und seine kostenlose Variante TextWrangler ) für Mac kann reStructuredText mithilfe dieses codelosen Sprachmoduls syntaktisch hervorheben .

TextMate

TextMate , ein proprietärer Allzweck-GUI-Texteditor für Mac OS X, enthält ein Bundle für reStructuredText .

Intype

Intype ist ein proprietärer Texteditor für Windows, der sofort reStructuredText unterstützt.

E Texteditor

E ist ein proprietärer Texteditor, der unter der "Open Company License" lizenziert ist. Es unterstützt die Bundles von TextMate, daher sollte es reStructuredText genauso unterstützen wie TextMate.

PyCharm

PyCharm (und andere IDEs der IntelliJ-Plattform?) Unterstützt ReST / Sphinx (Syntaxhervorhebung, automatische Vervollständigung und Vorschau). Sofortige Vorschau)

Wiki

Hier sind einige Wiki-Programme, die das reStructuredText-Markup als native Markup-Syntax oder als Add-On unterstützen:

MediaWiki

Die MediaWiki-Erweiterung reStructuredText ermöglicht das Markieren von reStructuredText in MediaWiki, umgeben von <rst>und </rst>.

Moin Moin

MoinMoin ist eine fortschrittliche, benutzerfreundliche und erweiterbare WikiEngine mit einer großen Benutzergemeinschaft. In wenigen Worten gesagt, es geht um die Zusammenarbeit auf leicht bearbeitbaren Webseiten.

Für MoinMoin gibt es einen reStructuredText-Parser .

Trac

Trac ist ein erweitertes Wiki und Issue Tracking System für Softwareentwicklungsprojekte. In Trac gibt es eine reStructuredText-Unterstützung .

Dieses Wiki

Dieses Wiki ist eine Webware für Python-Wiki, die von Ian Bicking geschrieben wurde. Dieses Wiki verwendet ReStructuredText für sein Markup.

rstiki

rstiki ist ein minimalistisches persönliches Wiki mit einer einzelnen Datei, das die von pwyky inspirierte reStructuredText-Syntax (über docutils) verwendet . Es werden keine Angaben zur Urheberschaft, Versionierung, Hierarchie, Chrom / Framing / Template oder Styling unterstützt. Es nutzt docutils / reStructuredText als Wiki-Syntax. Als solches ist es weniger als 200 Codezeilen und in einer einzigen Datei. Sie legen es in ein Verzeichnis und es läuft.

ikiwiki

Ikiwiki ist ein Wiki-Compiler. Es konvertiert Wiki-Seiten in HTML-Seiten, die zum Veröffentlichen auf einer Website geeignet sind. Ikiwiki speichert Seiten und Verlauf in einem Revisionskontrollsystem wie Subversion oder Git. Es gibt viele andere Funktionen, einschließlich der Unterstützung für das Bloggen sowie eine große Anzahl von Plugins. Das reStructuredText-Plugin ist jedoch etwas eingeschränkt und wird derzeit nicht als Hauptauszeichnungssprache empfohlen.

Internetdienste

Sandkasten

Ein Online-Editor für reStructuredText kann verwendet werden, um mit dem Markup zu spielen und die Ergebnisse sofort anzuzeigen.

Blogging-Frameworks

WordPress

WordPreSt reStructuredText Plugin für WordPress. (PHP)

Zine

reStructuredText-Parser-Plugin für Zine (wird in Version 0.2 veraltet sein, wenn Zine eine native reStructuredText-Unterstützung erhalten soll). Zine wird eingestellt. (Python)

Pelikan

Pelican ist ein statischer Bloggenerator, der das Schreiben von Artikeln in ReST unterstützt. (Python)

Hyde

Hyde ist ein statischer Website-Generator, der ReST unterstützt. (Python)

Acrylamid

Acrylamid ist ein statischer Bloggenerator, der das Schreiben von Artikeln in ReST unterstützt. (Python)

Nikola

Nikola ist ein statischer Site- und Blog-Generator, der ReST unterstützt. (Python)

ipsum Gattungen

Ipsum genera ist ein statischer Bloggenerator , der in Nim geschrieben wurde.

Yozuch

Yozuch ist ein statischer Bloggenerator , der in Python geschrieben wurde.

Mehr

Chen Levy
quelle
Für PHP bietet das Document- Paket von Zeta Components eine gute Unterstützung für reStructuredText.
Rob Allen
Möglicherweise möchten Sie auch eine Live-Vorschau haben , die dem entspricht, was Markedapp für Markdown-Dokumente anbietet. Es ist kein reStructredText-Tool persé, aber ich finde es wirklich hilfreich.
Wilfred Springer
1
Durch Amy Browns Kommentar habe ich erfahren, dass Sie Marked.app so einstellen können, dass es zuerst gerendert wird, indem Sie zu Einstellungen> Verhalten gehen, "benutzerdefinierten Markdown-Prozessor" aktivieren und auf eine Datei rst2html.py verweisen.
Shon
Die Zeit wird diese Antwort auch veraltet machen. Ich habe nur einige Vorschläge wie PYK und RIP geprüft, die auf heutigen Systemen nicht ausgeführt werden können, da sie von veralteten Modulen abhängen.
Theta
3
Ich habe einen Link zu vim addon riv.vim hinzugefügt, der mir das bietet, wonach ich lange gesucht habe. github.com/Rykka/riv.vim
Jan Vlcinsky