Supporto dello strumento reStructuredText


128

Sono un grande fan di reStructuredText , tuttavia gli strumenti che lo supportano sono sparsi su Internet. L' elenco degli strumenti ufficiali è incompleto e / o obsoleto e può essere aggiornato solo tramite i privilegi di commit. Per qualche tempo c'è stato un elenco completo nella pagina Wikipedia reStructuredText , ma apparentemente "questo non ha soddisfatto le linee guida sulla notabilità per i contenuti web " ed è stato rimosso .

Quindi, per metterlo in una domanda: quale strumento di supporto ci si può aspettare di trovare quando si lavora con reStructuredText, ad esempio editor di testo, software Wiki, convertitori da e verso reStructuredText ecc.?

Risposte:


440

Salvataggio (ed estensione) dell'elenco da una vecchia versione della pagina di Wikipedia :

Documentazione

implementazioni

Sebbene l'implementazione di riferimento di reStructuredText sia scritta in Python, esistono anche parser reStructuredText in altre lingue.

Python - Docutils

La distribuzione principale di reStructuredText è il pacchetto Python Docutils . Contiene diversi strumenti di conversione:

  • rst2html - da reStructuredText a HTML
  • rst2xml - da reStructuredText a XML
  • rst2latex - da reStructuredText a LaTeX
  • rst2odt - da reStructuredText a documento di testo ODF (word processor).
  • rst2s5 - da reStructuredText a S5 , un sistema di presentazione basato su standard semplici
  • rst2man - da reStructuredText alla pagina Man

Haskell - Pandoc

Pandoc è una libreria Haskell per la conversione da un formato di markup a un altro e uno strumento da riga di comando che utilizza questa libreria. Può leggere Markdown e (sottoinsiemi di) reStructuredText, HTML e LaTeX e può scrivere Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man pagine e presentazioni HTML S5.

Esiste uno strumento Pandoc online (POT) per provare questa libreria. Sfortunatamente, rispetto al renderer online reStructuredText (ROR),

  • POT tronca l'input piuttosto in breve tempo. L'utente POT deve rendere l'input in blocchi che potrebbero essere resi interi dal ROR.
  • L'output POT è privo degli utili messaggi di errore visualizzati dal ROR (e generati da docutils)

Java - JRst

JRst è un parser Java reStructuredText. Attualmente può generare HTML, XHTML, DocBook xdoc e PDF, MA sembra avere seri problemi: né la generazione di PDF o (X) HTML funziona utilizzando il download completo corrente, le pagine dei risultati in (X) HTML sono vuote e la generazione di PDF non riesce su IO problemi con i file XSL (non in bundle ??). Si noti che il JRst originale è stato rimosso dal sito Web; un fork si trova su GitHub .

Scala - Laika

Laika è una nuova libreria per trasformare i linguaggi di markup in altri formati di output. Attualmente supporta input da Markdown e reStructuredText e produce output HTML. La libreria è scritta in Scala ma dovrebbe essere utilizzabile anche da Java.

Perl

PHP

C # /. NET

Nim / C

Il Nim compilatore presenta i comandi rst2html e rst2texche trasformano i file reStructuredText in file HTML e TeX. La libreria standard fornisce i seguenti moduli (usati dal compilatore) per gestire i file reStructuredText a livello di codice:

  • rst - implementa un parser reStructuredText
  • rstast - implementa un AST per il parser reStructuredText
  • rstgen - implementa un generatore di HTML / Latex da reStructuredText

Altri convertitori di terze parti

La maggior parte (ma non tutti) di questi strumenti si basa su Docutils (vedi sopra) e fornisce la conversione da o verso formati che potrebbero non essere supportati dalla distribuzione principale.

Da reStructuredText

  • restview - Richiede questo pippacchetto Python installabile docutils, che esegue il rendering effettivo. restviewLa principale funzionalità di facile utilizzo è che, quando si salvano le modifiche ai propri documenti, viene automaticamente eseguito nuovamente il rendering e la ri-visualizzazione.restview
    1. avvia un piccolo server web
    2. chiama docutilsper rendere i tuoi documenti in HTML
    3. chiama il browser del dispositivo per visualizzare l'output HTML.
  • rst2pdf - da reStructuredText a PDF
  • rst2odp - da reStructuredText alla presentazione ODF
  • rst2beamer - da reStructuredText a LaTeX beamer Classe di presentazione
  • Wikir - da reStructuredText a un formato Wiki di Google (e possibilmente altri)
  • rst2qhc - Converte una raccolta di file reStructuredText in un file della Guida di Qt (toolkit) e (opzionale) in un file del Progetto Guida di Qt

Per reStructuredText

  • xml2rst è uno script XSLT per convertire la rappresentazione XML interna di Docutils (indietro) in reStructuredText
  • Pandoc (vedi sopra) può anche convertire da Markdown, HTML e LaTeX in reStructuredText
  • db2rst è un DocBook semplice e limitato al traduttore reStructuredText
  • pod2rst - converte i file .pod in file reStructuredText

estensioni

Alcuni progetti utilizzano reStructuredText come base per sviluppare o fornire funzionalità extra che estendono l'utilità degli strumenti reStructuredText.

Sfinge

Il generatore di documentazione Sphinx traduce una serie di file sorgente reStructuredText in vari formati di output, producendo automaticamente riferimenti incrociati, indici ecc.

rest2web

rest2web è uno strumento semplice che ti consente di creare il tuo sito Web da un singolo modello (o di quanti ne desideri) e di conservare i contenuti in reStructuredText.

Pygments

Pygments è un evidenziatore di sintassi generico per uso generale in tutti i tipi di software come sistemi di forum, Wiki o altre applicazioni che devono preimpostare il codice sorgente. Vedere Uso di pigmenti nei documenti reStructuredText .

Redattori gratuiti

Mentre qualsiasi editor di testo semplice è adatto per scrivere documenti di testo ricostruito, alcuni editor hanno un supporto migliore di altri.

Emacs

Il supporto di Emacs tramite rst-mode è incluso nel pacchetto Docutils sotto/docutils/tools/editors/emacs/rst.el

Vim

Il vim-commonpacchetto per questo viene fornito con la maggior parte delle distribuzioni GNU / Linux e ha il supporto per evidenziare la sintassi di reStructuredText e il rientro di reStructuredText:

Jed

Esiste una prima modalità per l' editor dei programmatori Jed .

gedit

gedit, l'editor di testo ufficiale dell'ambiente desktop GNOME. Esiste un plug-in reedstructuredText gedit .

Geany

Geany , un ambiente di sviluppo integrato piccolo e leggero include il supporto per reStructuredText dalla versione 0.12 (10 ottobre 2007).

Leo

Leo , un editor di contorno per programmatori, supporta reStructuredText tramite rst-plugin o tramite nodi "@ auto-rst" (non è ben documentato, ma i nodi @ auto-rst consentono di modificare direttamente i primi file, analizzando la struttura nel contorno Leo) .

Fornisce inoltre un modo per visualizzare in anteprima il codice HTML risultante, in un riquadro "viewrendered".

FTE

Il FTE Text Editor pieghevole - un libero (rilasciato sotto licenza GNU GPL) editor di testo per gli sviluppatori. ETP ha una modalità per il supporto reStructuredText. Fornisce l'evidenziazione a colori degli elementi RSTX di base e un menu speciale che fornisce un modo semplice per inserire elementi RSTX più popolari in un documento.

Pyk

PyK è il successore di PyEdit e reStInPeace, scritto in Python con l'aiuto del toolkit Qt4.

Eclisse

L'IDE Eclipse con il plug-in ReST Editor fornisce supporto per la modifica dei file reStructuredText.

Notex

NoTex è un editor di testo basato su browser (per scopi generici), con gestione dei progetti integrata ed evidenziazione della sintassi. Inoltre consente di scrivere libri, rapporti, articoli ecc. Utilizzando rST e convertirli in LaTex, PDF o HTML. I file PDF sono di alta qualità di pubblicazione e sono prodotti tramite Sphinx con la suite Texlive LaTex.

Notepad ++

Notepad ++ è un editor di testo generico per Windows. Ha l'evidenziazione della sintassi per molte lingue integrate e il supporto per reStructuredText tramite una lingua definita dall'utente per reStructuredText .

Codice di Visual Studio

Visual Studio Code è un editor di testo generico per Windows / macOS / Linux. Ha l'evidenziazione della sintassi per molte lingue integrate e supporta reStructuredText tramite un'estensione da LeXtudio .

Redattori di testo dedicati riprogettati

Editor proprietari

Testo sublime

Sublime Text è un editor di codice sorgente completamente personalizzabile ed estensibile disponibile per Windows, OS X e Linux. La registrazione è necessaria per un uso a lungo termine, ma tutte le funzioni sono disponibili nella versione non registrata, con promemoria occasionali per l'acquisto di una licenza. Le versioni 2 e 3 (attualmente in versione beta) supportano l'evidenziazione della sintassi reStructuredText per impostazione predefinita e diversi plug-in sono disponibili tramite il controllo pacchetti del gestore pacchetti per fornire frammenti e completamento del codice, evidenziazione della sintassi aggiuntiva, conversione da / verso RST e altri formati e anteprima HTML nel browser.

BBEdit / TextWrangler

BBEdit (e la sua variante gratuita TextWrangler ) per Mac può evidenziare la sintassi reStructuredText usando questo modulo di linguaggio senza codice .

TextMate

TextMate , un editor di testo GUI per scopi generici proprietario per Mac OS X, ha un pacchetto per reStructuredText .

Intype

Intype è un editor di testo proprietario per Windows, che supporta reStructuredText immediatamente.

E Editor di testo

E è un editor di testo proprietario con licenza "Open Company License". Supporta i bundle di TextMate, quindi dovrebbe supportare reStructuredText allo stesso modo di TextMate.

PyCharm

PyCharm (e altri IDE della piattaforma IntelliJ?) Ha il supporto ReST / Sphinx (evidenziazione della sintassi, completamento automatico e anteprima). anteprima istantanea)

wiki

ecco alcuni programmi Wiki che supportano il markup reStructuredText come sintassi del markup nativo o come componente aggiuntivo:

MediaWiki

L'estensione reStructuredText di MediaWiki consente il markup reStructuredText in MediaWiki circondato da <rst>e </rst>.

MoinMoin

MoinMoin è un WikiEngine avanzato, facile da usare ed estensibile con una vasta comunità di utenti. Detto in poche parole, si tratta della collaborazione su pagine Web facilmente modificabili.

Esiste un parser reStructuredText per MoinMoin .

Trac

Trac è un wiki avanzato e sistema di tracciamento dei problemi per progetti di sviluppo software. C'è un supporto reStructuredText in Trac .

Questo Wiki

Questo Wiki è un Webware per Python Wiki scritto da Ian Bicking. Questo wiki utilizza ReStructuredText per il suo markup.

rstiki

rstiki è un wiki personale minimalista a file singolo che utilizza la sintassi reStructuredText (tramite docutils) ispirata a pwyky . Non supporta indicazioni di autore, versioning, gerarchia, chrome / framing / templating o styling. Sfrutta docutils / reStructuredText come sintassi wiki. Come tale, ha meno di 200 righe di codice e in un singolo file. Lo metti in una directory e viene eseguito.

ikiwiki

Ikiwiki è un compilatore wiki. Converte le pagine wiki in pagine HTML adatte alla pubblicazione su un sito Web. Ikiwiki archivia pagine e cronologia in un sistema di controllo di revisione come Subversion o Git. Esistono molte altre funzionalità, incluso il supporto per i blog, oltre a una vasta gamma di plug-in. È il plug-in reStructuredText , tuttavia è alquanto limitato e al momento non è raccomandato come "linguaggio di markup principale".

Servizi web

sandbox

Un editor online reStructuredText può essere usato per giocare con il markup e vedere immediatamente i risultati.

Framework di blog

WordPress

WordPreSt plug-in reStructuredText per WordPress. (PHP)

zine

plug-in parser reStructuredText per Zine (diventerà obsoleto nella versione 0.2 quando Zine è programmato per ottenere un supporto nativo reStructuredText). Zine è sospeso. (Pitone)

pellicano

Pelican è un generatore di blog statico che supporta la scrittura di articoli in ReST. (Pitone)

hyde

Hyde è un generatore di siti Web statici che supporta ReST. (Pitone)

acrilammide

Acrylamid è un generatore di blog statico che supporta la scrittura di articoli in ReST. (Pitone)

Nikola

Nikola è un sito statico e un generatore di blog che supporta ReST. (Pitone)

generi ipsum

Ipsum genera è un generatore di blog statico scritto in Nim.

Yozuch

Yozuch è un generatore di blog statico scritto in Python.

Di Più


Per PHP, il pacchetto di documenti di Zeta Components ha un buon supporto reStructuredText.
Rob Allen,

Potresti anche essere interessato ad avere un'anteprima dal vivo , un po 'come quello che Markedapp offre per i documenti Markdown. Non è uno strumento reStructredText, ma lo trovo davvero utile.
Wilfred Springer,

1
Tramite il commento di Amy Brown , ho appreso che puoi impostare Marked.app in modo da renderlo per primo andando in preferenze> comportamento, abilitando "Processore Markdown personalizzato" e puntandolo a un file rst2html.py.
Shon

Il tempo renderà anche questa risposta obsoleta. Ho controllato solo un paio di suggerimenti, come PYK e RIP, che non possono essere eseguiti sui sistemi di oggi poiché dipendono da moduli obsoleti, quindi ...
theta

3
Ho aggiunto un link a vim addon riv.vim, che per me fornisce ciò che stavo cercando da molto tempo. github.com/Rykka/riv.vim
Jan Vlcinsky
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.