Obsługa narzędzi reStructuredText

128

Jestem wielkim fanem reStructuredText , jednak narzędzia, które go obsługują, są rozproszone po całym Internecie. Oficjalna lista narzędzi jest niepełna i / lub nieaktualne i może być aktualizowana tylko przez popełnić przywileje. Przez jakiś czas na stronie reStructuredText w Wikipedii istniała wyczerpująca lista , ale najwyraźniej „ nie spełniała ona wytycznych dotyczących uwagi dla treści internetowych ” i została usunięta .

A więc w formie pytania: Jakiego wsparcia narzędziowego można się spodziewać podczas pracy z reStructuredText, np. Edytorów tekstu, oprogramowania Wiki, konwerterów do iz reStructuredText itp.?

Chen Levy
źródło

Odpowiedzi:

443

Odzyskanie (i rozszerzenie) listy ze starej wersji strony Wikipedii :

Dokumentacja

Wdrożenia

Chociaż implementacja referencyjna reStructuredText jest napisana w Pythonie, istnieją również parsery reStructuredText w innych językach.

Python - Docutils

Główną dystrybucją reStructuredText jest pakiet Python Docutils . Zawiera kilka narzędzi do konwersji:

  • rst2html - z reStructuredText do HTML
  • rst2xml - z reStructuredText do XML
  • rst2latex - z reStructuredText do LaTeX
  • rst2odt - z reStructuredText do dokumentu ODF Text (edytor tekstu).
  • rst2s5 - od reStructuredText do S5 , systemu pokazu slajdów opartego na prostych standardach
  • rst2man - z reStructuredText do strony Man

Haskell - Pandoc

Pandoc to biblioteka Haskell do konwersji z jednego formatu znaczników na inny oraz narzędzie wiersza poleceń, które korzysta z tej biblioteki. Może czytać Markdown i (podzbiory) reStructuredText, HTML i LaTeX, a także pisać Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, znaczniki MediaWiki, groff man stron i pokazów slajdów S5 HTML.

Istnieje narzędzie online Pandoc (POT) umożliwiające wypróbowanie tej biblioteki. Niestety, w porównaniu z mechanizmem renderowania online reStructuredText (ROR),

  • POT skraca dane wejściowe raczej krócej. Użytkownik POT musi renderować dane wejściowe w kawałkach, które mogą być renderowane w całości przez ROR.
  • Wyjście POT nie zawiera pomocnych komunikatów o błędach wyświetlanych przez ROR (i generowanych przez docutils)

Java - JRst

JRst to parser reStructuredText Java. Obecnie może wyświetlać pliki HTML, XHTML, DocBook xdoc i PDF, ALE wydaje się, że ma poważne problemy: ani generowanie PDF, ani (X) HTML nie działa z bieżącym pełnym pobieraniem, strony wyników w (X) HTML są puste, a generowanie PDF kończy się niepowodzeniem w IO problemy z plikami XSL (brak w zestawie ??). Zwróć uwagę, że oryginalny JRst został usunięty ze strony internetowej; widelec znajduje się na GitHub .

Scala - Laika

Laika to nowa biblioteka do przekształcania języków znaczników na inne formaty wyjściowe. Obecnie obsługuje dane wejściowe z Markdown i reStructuredText oraz tworzy dane wyjściowe HTML. Biblioteka jest napisana w Scali, ale powinna być również używana z Java.

Perl

PHP

C # / .NET

Nim / C

Nim kompilator dysponuje polecenia rst2html i rst2texktóre przekształcają pliki reStructuredText do HTML i plików TeX. Biblioteka standardowa udostępnia następujące moduły (używane przez kompilator) do programowej obsługi plików reStructuredText:

  • rst - implementuje parser reStructuredText
  • rstast - implementuje AST dla parsera reStructuredText
  • rstgen - implementuje generator HTML / Latex z reStructuredText

Inne konwertery firm zewnętrznych

Większość (ale nie wszystkie) z tych narzędzi jest oparta na Docutils (patrz wyżej) i zapewnia konwersję do lub z formatów, które mogą nie być obsługiwane przez główną dystrybucję.

Z reStructuredText

  • restview - pipwymaga tego -instalowalnego pakietu Pythona docutils, który wykonuje rzeczywiste renderowanie. restviewGłówną łatwą w użyciu cechą jest to, że po zapisaniu zmian w dokumencie (dokumentach) automatycznie je renderuje i ponownie wyświetla.restview
    1. uruchamia mały serwer WWW
    2. wywołania docutilsdo renderowania dokumentów do HTML
    3. wywołuje przeglądarkę urządzenia, aby wyświetlić wyjściowy kod HTML.
  • rst2pdf - z reStructuredText do PDF
  • rst2odp - z reStructuredText do prezentacji ODF
  • rst2beamer - z reStructuredText do klasy LaTeX beamer Presentation
  • Wikir - od reStructuredText do formatów Wiki Google (i prawdopodobnie innych)
  • rst2qhc - Konwertuj kolekcję plików reStructuredText na plik pomocy Qt (toolkit) i (opcjonalnie) plik pomocy Qt Help Project

Aby reStructuredText

  • xml2rst to skrypt XSLT do konwersji wewnętrznej reprezentacji XML Docutils (z powrotem) do reStructuredText
  • Pandoc (patrz wyżej) może również konwertować z Markdown, HTML i LaTeX do reStructuredText
  • db2rst to prosty i ograniczony tłumacz DocBook do reStructuredText
  • pod2rst - konwertuj pliki .pod na pliki reStructuredText

Rozszerzenia

Niektóre projekty używają reStructuredText jako podstawy do tworzenia lub zapewniają dodatkową funkcjonalność rozszerzającą użyteczność narzędzi reStructuredText.

Sfinks

Sfinks generator dokumentacji przekłada zestaw plików źródłowych reStructuredText do różnych formatów wyjściowych, automatycznie produkcji odsyłacze, indeksy itp

rest2web

rest2web to proste narzędzie, które pozwala zbudować witrynę internetową z jednego szablonu (lub dowolnej liczby) i zachować zawartość w reStructuredText.

Pigmenty

Pygments to generyczne narzędzie do wyróżniania składni do ogólnego użytku we wszelkiego rodzaju oprogramowaniu, takim jak systemy forum, Wiki lub inne aplikacje, które wymagają ulepszenia kodu źródłowego. Zobacz Używanie Pygments w dokumentach reStructuredText .

Wolni redaktorzy

Chociaż każdy edytor zwykłego tekstu jest odpowiedni do pisania dokumentów reStructuredText, niektóre edytory mają lepszą obsługę niż inne.

Emacs

Wsparcie Emacsa w trybie rst-mode jest częścią pakietu Docutils w ramach/docutils/tools/editors/emacs/rst.el

Krzepkość

vim-commonPakiet, który jest wyposażony w większości dystrybucji GNU / Linux ma reStructuredText podświetlanie składni i wsparcie wcięcia z reStructuredText wyjęciu z pudełka:

Jed

Jest pierwszy tryb dla edytora programistów Jeda .

gedit

gedit, oficjalny edytor tekstu środowiska graficznego GNOME. Istnieje wtyczka gedit reStructuredText .

Geany

Geany , małe i lekkie zintegrowane środowisko programistyczne, obsługuje reStructuredText od wersji 0.12 (10 października 2007).

Lew

Leo , edytor konturów dla programistów, obsługuje reStructuredText za pośrednictwem wtyczki rst lub węzłów „@ auto-rst” (nie jest to dobrze udokumentowane, ale węzły @ auto-rst umożliwiają bezpośrednią edycję pierwszych plików, parsując strukturę do konspektu Leo) .

Zapewnia również sposób podglądu wynikowego kodu HTML w okienku „wyświetlanego renderowania”.

FTE

FTE Folding Edytor tekstu - darmowe (na licencji GNU GPL) edytor tekstu dla programistów. FTE ma do trybu wsparcia reStructuredText. Zapewnia kolorowe podświetlanie podstawowych elementów RSTX oraz specjalne menu, które zapewnia łatwy sposób wstawiania najpopularniejszych elementów RSTX do dokumentu.

PyK

PyK jest następcą PyEdit i reStInPeace, napisanym w Pythonie przy pomocy zestawu narzędzi Qt4.

Zaćmienie

Eclipse IDE z wtyczką ReST Editor zapewnia obsługę edycji plików reStructuredText.

NoTex

NoTex to oparty na przeglądarce (ogólnego przeznaczenia) edytor tekstu ze zintegrowanym zarządzaniem projektami i podświetlaniem składni. Dodatkowo umożliwia pisanie książek, raportów, artykułów itp. Przy użyciu rST i konwersję ich do LaTex, PDF lub HTML. Pliki PDF mają wysoką jakość publikacji i są tworzone przez Sphinx z pakietem Texlive LaTex.

Notepad ++

Notepad ++ to edytor tekstu ogólnego przeznaczenia dla systemu Windows. Posiada wbudowane podświetlanie składni dla wielu języków i obsługę reStructuredText poprzez język zdefiniowany przez użytkownika dla reStructuredText .

Visual Studio Code

Visual Studio Code to edytor tekstu ogólnego przeznaczenia dla systemów Windows / macOS / Linux. Ma wbudowane podświetlanie składni dla wielu języków i obsługuje reStructuredText poprzez rozszerzenie z LeXtudio .

Dedykowane edytory reStructuredText

Autorscy redaktorzy

Wysublimowany tekst

Sublime Text to w pełni konfigurowalny i rozszerzalny edytor kodu źródłowego dostępny dla systemów Windows, OS X i Linux. Rejestracja jest wymagana do długotrwałego użytkowania, ale wszystkie funkcje są dostępne w wersji niezarejestrowanej, z okazjonalnymi przypomnieniami o zakupie licencji. Wersje 2 i 3 (obecnie w wersji beta) obsługują domyślnie podświetlanie składni reStructuredText, a za pośrednictwem Kontroli pakietów dostępnych jest kilka wtyczek, które zapewniają fragmenty i uzupełnianie kodu, dodatkowe podświetlanie składni, konwersję do / z RST i innych formatów oraz podgląd HTML w przeglądarce.

BBEdit / TextWrangler

BBEdit (i jego darmowy wariant TextWrangler ) dla Maca może podświetlać składnię reStructuredText używając tego bezkodowego modułu językowego .

TextMate

TextMate , zastrzeżony edytor tekstu GUI ogólnego przeznaczenia dla systemu Mac OS X, zawiera pakiet dla reStructuredText .

Intype

Intype to zastrzeżony edytor tekstu dla systemu Windows, który obsługuje reStructuredText po wyjęciu z pudełka.

E Text Editor

E jest zastrzeżonym edytorem tekstu na licencji „Open Company License”. Obsługuje pakiety TextMate, więc powinien obsługiwać reStructuredText w taki sam sposób jak TextMate.

PyCharm

PyCharm (i inne IDE platformy IntelliJ?) Obsługuje ReST / Sphinx (podświetlanie składni, autouzupełnianie i podgląd). natychmiastowy podgląd)

Wiki

oto kilka programów Wiki, które obsługują znaczniki reStructuredText jako natywną składnię znaczników lub jako dodatek:

MediaWiki

Rozszerzenie MediaWiki reStructuredText pozwala na znaczniki reStructuredText w MediaWiki otoczone znakami <rst>i </rst>.

MoinMoin

MoinMoin to zaawansowany, łatwy w użyciu i rozszerzalny WikiEngine z dużą społecznością użytkowników. Mówiąc w kilku słowach, chodzi o współpracę na łatwo edytowalnych stronach internetowych.

Istnieje parser reStructuredText dla MoinMoin .

Trac

Trac to ulepszona wiki i system śledzenia problemów dla projektów rozwoju oprogramowania. W Trac jest obsługa reStructuredText .

Ta Wiki

Ta Wiki jest oprogramowaniem Webware dla Python Wiki napisanym przez Iana Bickinga. Ta wiki używa ReStructuredText do swoich znaczników.

rstiki

rstiki to minimalistyczna jednoplikowa osobista wiki wykorzystująca składnię reStructuredText (poprzez docutils) inspirowana pwyky . Nie obsługuje wskazywania autorstwa, wersjonowania, hierarchii, chromowania / ramkowania / tworzenia szablonów ani stylizacji. Wykorzystuje docutils / reStructuredText jako składnię wiki. W związku z tym zawiera mniej niż 200 wierszy kodu w jednym pliku. Umieszczasz go w katalogu i działa.

ikiwiki

Ikiwiki to kompilator wiki. Konwertuje strony wiki na strony HTML nadające się do publikacji w serwisie WWW. Ikiwiki przechowuje strony i historię w systemie kontroli wersji, takim jak Subversion lub Git. Istnieje wiele innych funkcji, w tym obsługa blogów, a także szeroki wachlarz wtyczek. Jest to wtyczka reStructuredText , jednak jest nieco ograniczona i nie jest obecnie zalecana jako jej główny język znaczników.

Usługi internetowe

Piaskownica

Online Edytor reStructuredText może być używany do odtwarzania ze znacznikami i zobaczyć wyniki natychmiast.

Framework do blogowania

WordPress

Wtyczka WordPreSt reStructuredText dla WordPress. (PHP)

Zine

Wtyczka parsera reStructuredText dla Zine (stanie się przestarzała w wersji 0.2, kiedy Zine ma otrzymać natywną obsługę reStructuredText). Zin zostaje przerwany. (Pyton)

pelikan

Pelican to statyczny generator blogów, który obsługuje pisanie artykułów w ReST. (Pyton)

hyde

Hyde to statyczny generator witryn internetowych, który obsługuje technologię ReST. (Pyton)

Akrylamid

Acrylamid to statyczny generator blogów, który obsługuje pisanie artykułów w ReST. (Pyton)

Nikola

Nikola to statyczna witryna i generator blogów, który obsługuje technologię ReST. (Pyton)

ipsum rodzaje

Ipsum genera to statyczny generator blogów napisany w Nim.

Yozuch

Yozuch to statyczny generator blogów napisany w Pythonie.

Jeszcze

Chen Levy
źródło
W przypadku PHP pakiet dokumentów Zeta Components ma dobrą obsługę reStructuredText.
Rob Allen
Możesz być również zainteresowany podglądem na żywo , który jest trochę podobny do tego, co Markedapp oferuje dla dokumentów Markdown. Nie jest to narzędzie reStructredText persé, ale uważam, że jest naprawdę pomocne.
Wilfred Springer,
1
Via Komentarz Amy Browna , dowiedziałem można ustawić Marked.app do renderowania najpierw przechodząc do Preferencje> zachowania, umożliwiających „custom Markdown procesora”, i kierując go do pliku rst2html.py.
Shon
Czas sprawi, że ta odpowiedź będzie również nieaktualna. Sprawdziłem tylko kilka sugestii, takich jak PYK i RIP, które nie mogą działać na dzisiejszych systemach, ponieważ zależą od przestarzałych modułów, więc ...
theta
3
Dodałem link do vim addon riv.vim, który dostarcza mi tego, czego szukałem od dawna. github.com/Rykka/riv.vim
Jan Vlcinsky