dukungan alat reStructuredText

128

Saya penggemar berat reStructuredText , namun alat yang mendukungnya tersebar di seluruh Internet. Daftar alat resmi tidak lengkap dan / atau ketinggalan zaman, dan hanya dapat diperbarui melalui hak istimewa komit. Untuk beberapa waktu ada daftar komprehensif di halaman Wikipedia reStructuredText , tetapi ini tampaknya " tidak memenuhi pedoman ketenaran untuk konten web " dan telah dihapus .

Jadi untuk memasukkannya ke dalam formulir pertanyaan: Dukungan alat apa yang bisa diharapkan seseorang ketika bekerja dengan reStructuredText, misalnya editor teks, perangkat lunak Wiki, konverter ke dan dari reStructuredText dll?

Chen Levy
sumber

Jawaban:

440

Menyelamatkan (dan memperluas) daftar dari versi lama halaman Wikipedia :

Dokumentasi

Implementasi

Meskipun implementasi referensi reStructuredText ditulis dalam Python, ada parser reStructuredText dalam bahasa lain juga.

Python - Docutils

Distribusi utama reStructuredText adalah paket Python Docutils . Ini berisi beberapa alat konversi:

  • rst2html - dari reStructuredText ke HTML
  • rst2xml - dari reStructuredText ke XML
  • rst2latex - dari reStructuredText ke LaTeX
  • rst2odt - dari dokumen reStructuredText ke ODF Text (word processor).
  • rst2s5 - dari reStructuredText ke S5 , Sistem Peragaan Slide berbasis Standar Sederhana
  • rst2man - dari reStructuredText ke Halaman manual

Haskell - Pandoc

Pandoc adalah pustaka Haskell untuk mengonversi dari satu format markup ke format lainnya, dan alat baris perintah yang menggunakan pustaka ini. Ia dapat membaca Markdown dan (himpunan bagian) reStructuredText, HTML, dan LaTeX, dan dapat menulis Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, markup MediaWiki, groff man halaman, dan peragaan slide HTML S5.

Ada alat Pandoc online (POT) untuk mencoba perpustakaan ini. Sayangnya, dibandingkan dengan renderer online reStructuredText (ROR),

  • POT memotong input lebih cepat. Pengguna POT harus memberikan input dalam potongan yang dapat diolah secara keseluruhan oleh ROR.
  • Output POT tidak memiliki pesan kesalahan bermanfaat yang ditampilkan oleh ROR (dan dihasilkan oleh docutils)

Jawa - JRst

JRst adalah parser Java reStructuredText. Saat ini dapat menampilkan HTML, XHTML, DocBook xdoc, dan PDF, TAPI tampaknya memiliki masalah serius: generasi PDF atau (X) HTML tidak berfungsi menggunakan unduhan lengkap saat ini, halaman hasil dalam (X) HTML kosong dan pembuatan PDF gagal pada IO masalah dengan file XSL (tidak dibundel ??). Perhatikan bahwa JRst asli telah dihapus dari situs web; garpu ditemukan di GitHub .

Scala - Laika

Laika adalah perpustakaan baru untuk mengubah bahasa markup ke format output lainnya. Saat ini mendukung input dari Markdown dan reStructuredText dan menghasilkan output HTML. Perpustakaan ditulis dalam Scala tetapi harus juga dapat digunakan dari Jawa.

Perl

PHP

C # /. NET

Nim / C

The Nim compiler fitur perintah rst2html dan rst2texyang mengubah file reStructuredText untuk HTML dan file TeX. Pustaka standar menyediakan modul-modul berikut (digunakan oleh kompiler) untuk menangani file reStructuredText secara terprogram:

  • pertama - mengimplementasikan parser reStructuredText
  • rstast - mengimplementasikan AST untuk parser reStructuredText
  • rstgen - mengimplementasikan generator HTML / Latex dari reStructuredText

Konverter pihak ketiga lainnya

Sebagian besar (tetapi tidak semua) alat ini didasarkan pada Docutils (lihat di atas) dan menyediakan konversi ke atau dari format yang mungkin tidak didukung oleh distribusi utama.

Dari reStructuredText

  • restview - pipPaket python -instalable ini membutuhkan docutils, yang melakukan rendering yang sebenarnya. restviewFitur kemudahan penggunaan utama adalah bahwa, ketika Anda menyimpan perubahan pada dokumen Anda, ia secara otomatis merender ulang dan menampilkannya kembali.restview
    1. memulai server web kecil
    2. panggilan docutilsuntuk merender dokumen Anda ke HTML
    3. memanggil browser perangkat Anda untuk menampilkan HTML hasil.
  • rst2pdf - dari reStructuredText ke PDF
  • rst2odp - dari reStructuredText ke ODF Presentation
  • rst2beamer - dari reStructuredText ke LaTeX beamer Presentation class
  • Wikir - dari reStructuredText ke Google (dan mungkin lainnya) format Wiki
  • rst2qhc - Mengubah koleksi file reStructuredText menjadi file Bantuan Qt (toolkit) dan (opsional) file Proyek Bantuan Qt

Untuk reStructuredText

  • xml2rst adalah skrip XSLT untuk mengonversi representasi XML internal Docutils (kembali) ke reStructuredText
  • Pandoc (lihat di atas) juga dapat mengonversi dari Markdown, HTML dan LaTeX ke reStructuredText
  • db2rst adalah DocBook yang sederhana dan terbatas untuk penerjemah reStructuredText
  • pod2rst - mengonversi file .pod ke file reStructuredText

Ekstensi

Beberapa proyek menggunakan reStructuredText sebagai dasar untuk membangun, atau menyediakan fungsionalitas tambahan memperluas utilitas alat reStructuredText.

Sphinx

The Sphinx dokumentasi Generator diterjemahkan satu set file sumber reStructuredText ke dalam berbagai format output, secara otomatis menghasilkan referensi silang, indeks dll

rest2web

rest2web adalah alat sederhana yang memungkinkan Anda membangun situs web dari satu templat (atau sebanyak yang Anda inginkan), dan menyimpan konten di reStructuredText.

Pigmen

Pygments adalah stabilo sintaksis generik untuk penggunaan umum di semua jenis perangkat lunak seperti sistem forum, wiki atau aplikasi lain yang perlu mempersonifikasi kode sumber. Lihat Menggunakan Pygments dalam dokumen reStructuredText .

Editor Gratis

Meskipun editor teks biasa cocok untuk menulis dokumen reStructuredText, beberapa editor memiliki dukungan yang lebih baik daripada yang lain.

Emacs

The dukungan Emacs melalui pertama-mode datang sebagai bagian dari paket Docutils bawah/docutils/tools/editors/emacs/rst.el

Vim

The vim-commonpaket untuk yang datang dengan kebanyakan distribusi GNU / Linux memiliki reStructuredText sintaks highlight dan dukungan lekukan dari reStructuredText luar kotak:

Jed

Ada mode pertama untuk editor programer Jed .

gedit

gedit, editor teks resmi dari lingkungan desktop GNOME. Ada plugin gedit reStructuredText .

Geany

Geany , Lingkungan Pengembangan Terpadu kecil dan ringan termasuk dukungan untuk reStructuredText dari versi 0.12 (10 Oktober 2007).

Leo

Leo , editor garis besar untuk programmer, mendukung reStructuredText melalui rst-plugin atau melalui node "@ auto-rst" (tidak didokumentasikan dengan baik, tetapi @ auto-rst node memungkinkan pengeditan file pertama secara langsung, mem-parsing struktur ke dalam garis besar Leo) .

Ini juga menyediakan cara untuk melihat pratinjau HTML yang dihasilkan, dalam panel "viewrendered".

FTE

The FTE Folding Text Editor - gratis (berlisensi di bawah GNU GPL) editor teks untuk pengembang. FTE memiliki sebuah modus untuk dukungan reStructuredText. Ini memberikan penyorotan warna elemen RSTX dasar dan menu khusus yang menyediakan cara mudah untuk memasukkan elemen RSTX paling populer ke dokumen.

PyK

PyK adalah penerus PyEdit dan reStInPeace, ditulis dengan Python dengan bantuan toolkit Qt4.

Gerhana

IDE Eclipse dengan plug-in Editor ReST menyediakan dukungan untuk mengedit file reStructuredText.

NoTex

NoTex adalah editor teks berbasis umum (keperluan umum), dengan manajemen proyek terintegrasi dan penyorotan sintaksis. Plus itu memungkinkan untuk menulis buku, laporan, artikel dll menggunakan rST dan mengonversinya ke LaTex, PDF atau HTML. File PDF berkualitas publikasi tinggi dan diproduksi melalui Sphinx dengan suite Texlive LaTex.

Notepad ++

Notepad ++ adalah editor teks untuk Windows. Ini memiliki penyorotan sintaksis untuk banyak bahasa built-in dan dukungan untuk reStructuredText melalui bahasa yang ditentukan pengguna untuk reStructuredText .

Kode Visual Studio

Visual Studio Code adalah editor teks untuk Windows / macOS / Linux. Ini memiliki penyorotan sintaks untuk banyak bahasa built-in dan mendukung reStructuredText melalui ekstensi dari LeXtudio .

Editor reStructuredText khusus

Editor eksklusif

Teks Sublim

Sublime Text adalah editor kode sumber yang sepenuhnya dapat disesuaikan dan dapat dikembangkan yang tersedia untuk Windows, OS X, dan Linux. Registrasi diperlukan untuk penggunaan jangka panjang, tetapi semua fungsi tersedia dalam versi yang tidak terdaftar, dengan pengingat sesekali untuk membeli lisensi. Versi 2 dan 3 (saat ini dalam versi beta) mendukung sintaksis reStructuredText secara default, dan beberapa plugin tersedia melalui manajer paket Kontrol Paket untuk memberikan cuplikan dan penyelesaian kode, penyorotan sintaksis tambahan, konversi ke / dari RST dan format lain, dan pratinjau HTML di browser.

BBEdit / TextWrangler

BBEdit (dan varian gratis TextWrangler ) untuk Mac dapat menggunakan sintaks-highlight reStructuredText menggunakan modul bahasa tanpa kode ini .

TextMate

TextMate , editor teks GUI untuk keperluan umum milik Mac OS X, memiliki bundel untuk reStructuredText .

Intype

Intype adalah editor teks eksklusif untuk Windows, yang mendukung reStructuredText di luar kotak.

Editor Teks E

E adalah Editor Teks milik yang dilisensikan di bawah "Open Company License". Ini mendukung bundel TextMate, sehingga harus mendukung reStructuredText dengan cara yang sama seperti yang dilakukan TextMate.

PyCharm

PyCharm (dan IDE platform IntelliJ lainnya?) Memiliki dukungan ReST / Sphinx (penyorotan sintaksis, pelengkapan otomatis, dan pratinjau). pratinjau instan)

Wiki

berikut adalah beberapa program Wiki yang mendukung marka reStructuredText sebagai sintaks markup asli, atau sebagai add-on:

MediaWiki

Ekstensi reStructuredText MediaWiki memungkinkan markup reStructuredText di MediaWiki dikelilingi oleh <rst>dan </rst>.

MoinMoin

MoinMoin adalah WikiEngine canggih, mudah digunakan dan dapat diperluas dengan komunitas pengguna yang besar. Dikatakan dalam beberapa kata, ini tentang kolaborasi pada halaman web yang mudah diedit.

Ada Parser reStructuredText untuk MoinMoin .

Trac

Trac adalah wiki yang disempurnakan dan sistem pelacakan masalah untuk proyek pengembangan perangkat lunak. Ada dukungan reStructuredText di Trac .

Wiki ini

Wiki ini adalah Webware untuk Python Wiki yang ditulis oleh Ian Bicking. Wiki ini menggunakan ReStructuredText untuk markupnya.

rstiki

rstiki adalah wiki pribadi file tunggal minimalis menggunakan sintaksis reStructuredText (via docutils) yang terinspirasi oleh pwyky . Itu tidak mendukung indikasi kepengarangan, versi, hierarki, chrome / framing / templating atau gaya. Ini memanfaatkan docutils / reStructuredText sebagai sintaks wiki. Dengan demikian, itu di bawah 200 baris kode, dan dalam satu file. Anda meletakkannya di direktori dan itu berjalan.

ikiwiki

Ikiwiki adalah kompiler wiki. Itu mengubah halaman wiki menjadi halaman HTML yang cocok untuk penerbitan di situs web. Ikiwiki menyimpan halaman dan riwayat dalam sistem kontrol revisi seperti Subversion atau Git. Ada banyak fitur lain, termasuk dukungan untuk blogging, serta sejumlah besar plugin. Ini adalah plugin reStructuredText , namun agak terbatas dan tidak direkomendasikan sebagai bahasa markup utamanya saat ini.

Layanan web

Bak pasir

Sebuah Editor online reStructuredText dapat digunakan untuk bermain dengan markup dan melihat hasil dengan segera.

Kerangka kerja blogging

WordPress

Plugin WordPreSt reStructuredText untuk WordPress. (PHP)

Zine

Plugin parser reStructuredText untuk Zine (akan menjadi usang dalam versi 0.2 ketika Zine dijadwalkan untuk mendapatkan dukungan reStructuredText asli). Zine dihentikan. (Python)

pelikan

Pelican adalah generator blog statis yang mendukung penulisan artikel dalam ReST. (Python)

Hyde

Hyde adalah generator situs web statis yang mendukung ReST. (Python)

Acrylamid

Acrylamid adalah generator blog statis yang mendukung penulisan artikel dalam ReST. (Python)

Nikola

Nikola adalah Generator Situs dan Blog Statis yang mendukung ReST. (Python)

genus ipsum

Ipsum genera adalah generator blog statis yang ditulis dalam Nim.

Yozuch

Yozuch adalah generator blog statis yang ditulis dengan Python.

Lebih

Chen Levy
sumber
Untuk PHP, paket Dokumen Zeta Components memiliki dukungan reStructuredText yang baik.
Rob Allen
Anda mungkin juga tertarik untuk memiliki pratinjau langsung , yang sedikit seperti apa yang ditawarkan Markedapp untuk dokumen Markdown. Ini bukan alat reStructredText perse, tapi saya merasa sangat membantu.
Wilfred Springer
1
Melalui Komentar Amy Brown , saya tahu Anda dapat mengatur Marked.app untuk membuat terlebih dahulu dengan membuka preferensi> perilaku, mengaktifkan "Prosesor Penurunan Nilai kustom", dan mengarahkannya ke file rst2html.py.
Shon
Waktu akan membuat jawaban ini juga ketinggalan jaman. Saya memeriksa hanya beberapa saran, seperti PYK dan RIP, yang tidak dapat berjalan pada sistem saat ini karena mereka bergantung pada modul yang sudah ketinggalan zaman, jadi ...
theta
3
Saya menambahkan tautan ke vim addon riv.vim, yang bagi saya memberikan apa yang saya cari sejak lama. github.com/Rykka/riv.vim
Jan Vlcinsky