поддержка инструмента reStructuredText

128

Я большой поклонник reStructuredText , однако инструменты, которые его поддерживают, разбросаны по всему Интернету. Официальный список инструментов является неполным и / или устаревшим, и может быть обновлен только через коммиттерские привилегии. Некоторое время на странице reStructuredText в Википедии существовал исчерпывающий список , но он, очевидно, « не соответствовал руководству по значимости для веб-контента » и был удален .

Итак, чтобы сформулировать это в форме вопроса: какую поддержку инструментов можно ожидать при работе с reStructuredText, например, текстовые редакторы, программное обеспечение Wiki, преобразователи в и из reStructuredText и т. Д.?

Чен Леви
источник

Ответы:

441

Сохранение (и расширение) списка из старой версии страницы Википедии :

Документация

Реализации

Хотя эталонная реализация reStructuredText написана на Python, существуют парсеры reStructuredText и на других языках.

Python - Docutils

Основным дистрибутивом reStructuredText является пакет Python Docutils . Он содержит несколько инструментов преобразования:

  • rst2html - из reStructuredText в HTML
  • rst2xml - из reStructuredText в XML
  • rst2latex - из reStructuredText в LaTeX
  • rst2odt - из reStructuredText в текстовый документ ODF (текстовый процессор).
  • rst2s5 - от reStructuredText до S5 , простой системы слайд-шоу на основе стандартов
  • rst2man - из reStructuredText на страницу Man

Haskell - Pandoc

Pandoc - это библиотека Haskell для преобразования из одного формата разметки в другой и инструмент командной строки, который использует эту библиотеку. Он может читать Markdown и (подмножества) reStructuredText, HTML и LaTeX, а также может писать Markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, разметку MediaWiki, groff man страниц и слайд-шоу S5 HTML.

Существует онлайн-инструмент Pandoc (POT), чтобы попробовать эту библиотеку. К сожалению, по сравнению с онлайн-рендерером reStructuredText (ROR),

  • POT короче обрезает ввод. Пользователь POT должен обрабатывать ввод по частям, которые могут быть отображены целиком с помощью ROR.
  • На выходе POT отсутствуют полезные сообщения об ошибках, отображаемые ROR (и генерируемые docutils).

Java - JRst

JRst - это парсер Java reStructuredText. В настоящее время он может выводить HTML, XHTML, DocBook xdoc и PDF, НО, похоже, имеет серьезные проблемы: генерация ни PDF, ни (X) HTML не работает с использованием текущей полной загрузки, страницы результатов в (X) HTML пусты, а создание PDF не выполняется на IO. проблемы с файлами XSL (не в комплекте ??). Обратите внимание, что исходный JRst был удален с веб-сайта; вилка находится на GitHub .

Скала - Лайка

Laika - это новая библиотека для преобразования языков разметки в другие форматы вывода. В настоящее время он поддерживает ввод из Markdown и reStructuredText и производит вывод HTML. Библиотека написана на Scala, но ее также можно использовать на Java.

Perl

PHP

  • Gregwar / RST - зрелый парсер PHP5.3 с тестами
  • php-restructuredtext - простая неполная (но функциональная) реализация

C # /. NET

Nim / C

Nim компилятор отличает команды rst2html и rst2texкоторые преобразуют ReStructuredText файлы HTML и TeX файлов. Стандартная библиотека предоставляет следующие модули (используемые компилятором) для программной обработки файлов reStructuredText:

  • rst - реализует парсер reStructuredText
  • rstast - реализует AST для парсера reStructuredText
  • rstgen - реализует генератор HTML / Latex из reStructuredText

Другие сторонние конвертеры

Большинство (но не все) этих инструментов основаны на Docutils (см. Выше) и обеспечивают преобразование в форматы или из них, которые могут не поддерживаться основным дистрибутивом.

Из reStructuredText

  • restview - для этого pipустанавливаемого пакета python требуется docutils, что фактически выполняет рендеринг. restviewОсновная функция простоты использования заключается в том, что когда вы сохраняете изменения в документе (-ах), он автоматически повторно отображает и повторно отображает их.restview
    1. запускает небольшой веб-сервер
    2. вызовы docutilsдля рендеринга вашего документа (ов) в HTML
    3. вызывает браузер вашего устройства для отображения выходного HTML.
  • rst2pdf - из reStructuredText в PDF
  • rst2odp - из reStructuredText в представление ODF
  • rst2beamer - от reStructuredText к классу презентации LaTeX beamer
  • Wikir - от reStructuredText к форматам Google (и, возможно, другим) Wiki
  • rst2qhc - Преобразует коллекцию файлов reStructuredText в файл справки Qt (инструментарий) и (необязательно) файл проекта справки Qt

Чтобы reStructuredText

  • xml2rst - это XSLT-скрипт для преобразования внутреннего XML-представления Docutils (назад) в reStructuredText
  • Pandoc (см. Выше) также может конвертировать из Markdown, HTML и LaTeX в reStructuredText.
  • db2rst - это простой и ограниченный переводчик DocBook для reStructuredText.
  • pod2rst - конвертировать файлы .pod в файлы reStructuredText

расширения

Некоторые проекты используют reStructuredText в качестве основы для развития или предоставляют дополнительные функции, расширяющие полезность инструментов reStructuredText.

сфинкс

Sphinx генератор документации преобразует набор исходных файлов ReStructuredText в различные форматы, автоматически производить перекрестные ссылки, индексы и т.д.

rest2web

rest2web - это простой инструмент, который позволяет вам создать свой веб-сайт из одного шаблона (или любого количества, которое вы хотите) и сохранить содержимое в reStructuredText.

Pygments

Pygments - это универсальный выделитель синтаксиса для общего использования во всех видах программного обеспечения, таких как системы форумов, вики-страницы или другие приложения, которые нуждаются в улучшении исходного кода. См. Использование пигментов в документах reStructuredText .

Бесплатные редакторы

Хотя любой текстовый редактор подходит для написания документов reStructuredText, некоторые редакторы имеют лучшую поддержку, чем другие.

Emacs

Поддержка Emacs через rst-mode входит в пакет Docutils в/docutils/tools/editors/emacs/rst.el

напор

vim-commonПакет , который поставляется с большинством дистрибутивов GNU / Linux имеет ReStructuredText подсветки синтаксиса и поддержку отступа ReStructuredText из коробки:

Джед

Существует первый режим для Jed редактора программистов.

Gedit

gedit, официальный текстовый редактор среды рабочего стола GNOME. Есть плагин gedit reStructuredText .

Geany

Geany , небольшая и легкая интегрированная среда разработки, включает поддержку reStructuredText начиная с версии 0.12 (10 октября 2007 г.).

Лео

Leo , редактор структуры для программистов, поддерживает reStructuredText через rst-plugin или через узлы @ auto-rst (это плохо документировано, но узлы @ auto-rst позволяют редактировать файлы rst напрямую, разбирая структуру в схему Leo) ,

Он также предоставляет способ предварительного просмотра результирующего HTML на панели с визуализацией.

FTE

FTE Текстовый редактор Folding - бесплатный (под лицензией GNU GPL) текстовый редактор для разработчиков. FTE имеет в режим для поддержки ReStructuredText. Он обеспечивает цветовую подсветку основных элементов RSTX и специальное меню, которое обеспечивает простой способ вставки наиболее популярных элементов RSTX в документ.

Pyk

PyK является преемником PyEdit и reStInPeace, написанным на Python с помощью набора инструментов Qt4.

Затмение

Eclipse IDE с подключаемым модулем ReST Editor обеспечивает поддержку редактирования файлов reStructuredText.

NoTex

NoTex - это текстовый редактор общего назначения на основе браузера со встроенным управлением проектами и подсветкой синтаксиса. Кроме того, он позволяет писать книги, отчеты, статьи и т. Д. С помощью rST и конвертировать их в LaTex, PDF или HTML. Файлы PDF имеют высокое качество публикации и создаются через Sphinx с помощью пакета Texlive LaTex.

Notepad ++

Notepad ++ - это текстовый редактор общего назначения для Windows. Он имеет встроенную подсветку синтаксиса для многих языков и поддержку reStructuredText через определяемый пользователем язык для reStructuredText .

Код Visual Studio

Visual Studio Code - это текстовый редактор общего назначения для Windows / macOS / Linux. Он имеет встроенную подсветку синтаксиса для многих языков и поддерживает reStructuredText через расширение от LeXtudio .

Специальные редакторы reStructuredText

Проприетарные редакторы

Возвышенный текст

Sublime Text - это полностью настраиваемый и расширяемый редактор исходного кода, доступный для Windows, OS X и Linux. Для долгосрочного использования требуется регистрация, но все функции доступны в незарегистрированной версии, с периодическими напоминаниями о покупке лицензии. Версии 2 и 3 (в настоящее время находятся в стадии бета-тестирования) поддерживают подсветку синтаксиса reStructuredText по умолчанию, и несколько подключаемых модулей доступны через диспетчер пакетов Package Control для обеспечения фрагментов и завершения кода, дополнительной подсветки синтаксиса, преобразования в / из RST и других форматов, а также предварительного просмотра HTML в браузере.

BBEdit / TextWrangler

BBEdit (и его бесплатный вариант TextWrangler ) для Mac может выделять синтаксис reStructuredText с помощью этого языкового модуля без кода .

TextMate

TextMate , проприетарный текстовый редактор с графическим интерфейсом пользователя общего назначения для Mac OS X, имеет комплект для reStructuredText .

Intype

Intype - это проприетарный текстовый редактор для Windows, который поддерживает reStructuredText из коробки.

Электронный текстовый редактор

E - это частный текстовый редактор, находящийся под лицензией «Open Company License». Он поддерживает пакеты TextMate, поэтому должен поддерживать reStructuredText так же, как и TextMate.

PyCharm

PyCharm (и другие IDE платформы IntelliJ?) Поддерживает ReST / Sphinx (подсветка синтаксиса, автозаполнение и предварительный просмотр). мгновенный предварительный просмотр)

Wiki

вот несколько программ Wiki, которые поддерживают разметку reStructuredText как собственный синтаксис разметки или как надстройку:

Обсуждение MediaWiki

Расширение MediaWiki reStructuredText позволяет разметку reStructuredText в MediaWiki в окружении <rst>и </rst>.

MoinMoin

MoinMoin - это продвинутый, простой в использовании и расширяемый WikiEngine с большим сообществом пользователей. В двух словах, речь идет о совместной работе над легко редактируемыми веб-страницами.

Для MoinMoin есть парсер reStructuredText .

Trac

Trac - это усовершенствованная вики-система и система отслеживания проблем для проектов разработки программного обеспечения. В Trac есть поддержка reStructuredText .

Эта вики

Эта Wiki представляет собой веб-приложение для Python Wiki, написанное Яном Бикингом. Эта вики использует для разметки ReStructuredText.

rstiki

rstiki - это минималистичная однофайловая персональная вики, использующая синтаксис reStructuredText (через документацию), вдохновленный pwyky . Он не поддерживает указание авторства, управление версиями, иерархию, хромирование / обрамление / шаблоны или стили. Он использует documenttils / reStructuredText в качестве синтаксиса вики. Таким образом, это менее 200 строк кода и в одном файле. Вы помещаете его в каталог, и он запускается.

ikiwiki

Ikiwiki - это вики-компилятор. Он преобразует вики-страницы в HTML-страницы, подходящие для публикации на веб-сайте. Ikiwiki хранит страницы и историю в системе контроля версий, такой как Subversion или Git. Есть много других функций, включая поддержку ведения блога, а также большой набор плагинов. Это плагин reStructuredText , однако он несколько ограничен и в настоящее время не рекомендуется в качестве основного языка разметки.

Веб-сервисы

песочница

Редактор Интернет ReStructuredText может быть использован для воспроизведения с разметкой и увидеть результаты сразу.

Фреймворки для блогов

WordPress

Плагин WordPreSt reStructuredText для WordPress. (PHP)

Зин

Плагин парсера reStructuredText для Zine (станет устаревшим в версии 0.2, когда Zine получит встроенную поддержку reStructuredText). Журнал прекращен. (Python)

пеликан

Пеликан - это генератор статических блогов, который поддерживает написание статей в ReST. (Python)

Хайд

Hyde - это генератор статических веб-сайтов, поддерживающий ReST. (Python)

акриламид

Acrylamid - это статический генератор блогов, который поддерживает написание статей в ReST. (Python)

Никола

Nikola - это генератор статических сайтов и блогов, поддерживающий ReST. (Python)

ipsum родов

Ipsum genera - статический генератор блогов, написанный на Nim.

Yozuch

Yozuch - генератор статических блогов, написанный на Python.

Больше

Чен Леви
источник
Для PHP пакет документов Zeta Components имеет хорошую поддержку reStructuredText.
Роб Аллен,
Вам также может быть интересно иметь предварительный просмотр в реальном времени , который немного похож на то, что Markedapp предлагает для документов Markdown. Это не инструмент reStructredText, но я считаю его действительно полезным.
Уилфред Спрингер,
1
Via Комментарий Эми Браун , я узнал , вы можете установить Marked.app , чтобы сделать первый, перейдя к предпочтениям> поведения, что позволяет «пользовательские Markdown процессора», и указывает его в файл rst2html.py.
Шон
Время сделает и этот ответ устаревшим. Я проверил только пару предложений, таких как PYK и RIP, которые не могут работать в современных системах, так как они зависят от устаревших модулей, так что ...
theta
3
Я добавил ссылку на vim addon riv.vim, который мне предоставляет то, что я давно искал. github.com/Rykka/riv.vim
Ян Влцинский