我是reStructuredText的忠实粉丝,但是支持它的工具分散在整个互联网上.在官方的工具列表是不完整的和/或过时的,并且只能通过提交更新特权.有一段时间,维基百科的reStructuredText页面上有一个全面的列表,但这显然" 不符合Web内容的知名度指南 " 并被删除.
所以把它放在一个问题形式中:在使用reStructuredText时,人们期望找到哪些工具支持,例如文本编辑器,Wiki软件,转换器和reStructuredText转换器等等?
从旧版维基百科页面中挽救(和扩展)列表:
文档
底漆
备忘单
快速参考
实现
虽然reStructuredText的参考实现是用Python编写的,但是在其他语言中也有reStructuredText解析器.
reStructuredText的主要发行版是Python Docutils包.它包含几个转换工具:
rst2html - 从reStructuredText到HTML
rst2xml - 从reStructuredText到XML
rst2latex - 从reStructuredText到LaTeX
rst2odt - 从reStructuredText到ODF Text(文字处理器)文档.
rst2s5 - 从reStructuredText到S5,一个基于简单标准的幻灯片放映系统
rst2man - 从reStructuredText到Man页面
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
)
JRst是一个Java reStructuredText解析器.它当前可以输出HTML,XHTML,DocBook xdoc和PDF,但是似乎有严重的问题:PDF或(X)HTML生成都不能使用当前的完整下载,(X)HTML中的结果页面是空的,IO生成失败的IO XSL文件的问题(没有捆绑??).
Laika是一个新的库,用于将标记语言转换为其他输出格式.目前它支持来自Markdown和reStructuredText的输入并生成HTML输出.该库是用Scala编写的,但也可以从Java中使用.
Text :: Restructured - reStructuredText解析器的Perl实现
Dotiac :: DTL :: Addon :: markup - 使用常见标记语言的过滤器 - 支持reStructuredText
Pod :: POM :: View :: Restructured - 查看输出reStructuredText的Pod :: POM
Gregwar/RST - 一个成熟的PHP5.3解析器,带有测试
php-restructuredtext - 一个简单,不完整(但功能)的实现
reStructuredText用于ANTLR - 基于AC#的解析器,带有测试(正在进行中).它还为Visual Studio Code提供了reStructuredText扩展背后的语言服务器.
The Nim compiler features the commands rst2html
and rst2tex
which transform reStructuredText files to HTML and TeX files. The standard library provides the following modules (used by the compiler) to handle reStructuredText files programmatically:
rst - implements a reStructuredText parser
rstast - implements an AST for the reStructuredText parser
rstgen - implements a generator of HTML/Latex from reStructuredText
Other 3rd party converters
Most (but not all) of these tools are based on Docutils (see above) and provide conversion to or from formats that might not be supported by the main distribution.
restview - This pip
-installable python package requires docutils
, which does the actual rendering. restview
's major ease-of-use feature is that, when you save changes to your document(s), it automagically re-renders and re-displays them. restview
starts a small web server
calls docutils
to render your document(s) to HTML
calls your device's browser to display the output HTML.
rst2pdf - from reStructuredText to PDF
rst2odp - from reStructuredText to ODF Presentation
rst2beamer - from reStructuredText to LaTeX beamer Presentation class
Wikir - from reStructuredText to a Google (and possibly other) Wiki formats
rst2qhc - Convert a collection of reStructuredText files into a Qt (toolkit) Help file and (optional) a Qt Help Project file
xml2rst is an XSLT script to convert Docutils internal XML representation (back) to reStructuredText
Pandoc (see above) can also convert from Markdown, HTML and LaTeX to reStructuredText
db2rst is a simple and limited DocBook to reStructuredText translator
pod2rst - convert .pod files to reStructuredText files
Extensions
Some projects use reStructuredText as a baseline to build on, or provide extra functionality extending the utility of the reStructuredText tools.
The Sphinx documentation generator translates a set of reStructuredText source files into various output formats, automatically producing cross-references, indices etc.
rest2web is a simple tool that lets you build your website from a single template (or as many as you want), and keep the contents in reStructuredText.
Pygments is a generic syntax highlighter for general use in all kinds of software such as forum systems, Wikis or other applications that need to prettify source code. See Using Pygments in reStructuredText documents.
Free EditorsWhile any plain text editor is suitable to write reStructuredText documents, some editors have better support than others.
The Emacs support via rst-mode comes as part of the Docutils package under /docutils/tools/editors/emacs/rst.el
The vim-common
package for that comes with most GNU/Linux distributions has reStructuredText syntax highlight and indentation support of reStructuredText out of the box:
reStructuredText syntax highlighting mode for vim
VST (Vim reStructured Text) is a plugin for Vim7 with folding for reStructuredText
Riv.vim - fresh vim plugin for authoring rst and Sphinx doc
Previm: Vim plugin for live previewing of reStructuredText and other mark up documents
There is a rst mode for the Jed programmers editor.
gedit, the official text editor of the GNOME desktop environment. There is a gedit reStructuredText plugin.
Geany, a small and lightweight Integrated Development Environment include support for reStructuredText from version 0.12 (October 10, 2007).
Leo, an outlining editor for programmers, supports reStructuredText via rst-plugin or via "@auto-rst" nodes (it's not well-documented, but @auto-rst nodes allow editing rst files directly, parsing the structure into the Leo outline).
It also provides a way to preview the resulting HTML, in a "viewrendered" pane.
The FTE Folding Text Editor - a free (licensed under the GNU GPL) text editor for developers. FTE has a mode for reStructuredText support. It provides color highlighting of basic RSTX elements and special menu that provide easy way to insert most popular RSTX elements to a document.
PyK is a successor of PyEdit and reStInPeace, written in Python with the help of the Qt4 toolkit.
The Eclipse IDE with the ReST Editor plug-in provides support for editing reStructuredText files.
NoTex is a browser based (general purpose) text editor, with integrated project management and syntax highlighting. Plus it enables to write books, reports, articles etc. using rST and convert them to LaTex, PDF or HTML. The PDF files are of high publication quality and are produced via Sphinx with the Texlive LaTex suite.
Notepad++ is a general purpose text editor for Windows. It has syntax highlighting for many languages built-in and support for reStructuredText via a user defined language for reStructuredText.
Visual Studio Code is a general purpose text editor for Windows/macOS/Linux. It has syntax highlighting for many languages built-in and supports reStructuredText via an extension from LeXtudio.
ReSTedit by Dinu Gherman and Bill Bumgarner
Rest in Peace
Enthought Tool Suite editor
ReText a cross platform program that works like Marked.
RSTPad a standalone cross-platform editor with live preview
Proprietary editors
Sublime Text is a completely customizable and extensible source code editor available for Windows, OS X, and Linux. Registration is required for long-term use, but all functions are available in the unregistered version, with occasional reminders to purchase a license. Versions 2 and 3 (currently in beta) support reStructuredText syntax highlighting by default, and several plugins are available through the package manager Package Control to provide snippets and code completion, additional syntax highlighting, conversion to/from RST and other formats, and HTML preview in the browser.
BBEdit (and its free variant TextWrangler) for Mac can syntax-highlight reStructuredText using this codeless language module.
TextMate, a proprietary general-purpose GUI text editor for Mac OS X, has a bundle for reStructuredText.
Intype is a proprietary text editor for Windows, that support reStructuredText out of the box.
E is a proprietary Text Editor licensed under the "Open Company License". It supports TextMate's bundles, so it should support reStructuredText the same way TextMate does.
PyCharm (and other IntelliJ platform IDEs?) has ReST/Sphinx support (syntax highlighting, autocomplete and preview).)
Wikihere are some Wiki programs that support the reStructuredText markup as the native markup syntax, or as an add-on:
MediaWiki reStructuredText extension allows for reStructuredText markup in MediaWiki surrounded by
and .
MoinMoin is an advanced, easy to use and extensible WikiEngine with a large community of users. Said in a few words, it is about collaboration on easily editable web pages.
There is a reStructuredText Parser for MoinMoin.
Trac is an enhanced wiki and issue tracking system for software development projects. There is a reStructuredText Support in Trac.
This Wiki is a Webware for Python Wiki written by Ian Bicking. This wiki uses ReStructuredText for its markup.
rstiki is a minimalist single-file personal wiki using reStructuredText syntax (via docutils) inspired by pwyky. It does not support authorship indication, versioning, hierarchy, chrome/framing/templating or styling. It leverages docutils/reStructuredText as the wiki syntax. As such, it's under 200 lines of code, and in a single file. You put it in a directory and it runs.
Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website. Ikiwiki stores pages and history in a revision control system such as Subversion or Git. There are many other features, including support for blogging, as well as a large array of plugins. It's reStructuredText plugin, however is somewhat limited and is not recommended as its' main markup language at this time.
Web ServicesAn Online reStructuredText editor can be used to play with the markup and see the results immediately.
Blogging frameworksWordPreSt reStructuredText plugin for WordPress. (PHP)
reStructuredText parser plugin for Zine (will become obsolete in version 0.2 when Zine is scheduled to get a native reStructuredText support). Zine is discontinued. (Python)
Pelican is a static blog generator that supports writing articles in ReST. (Python)
Hyde is a static website generator that supports ReST. (Python)
Acrylamid is a static blog generator that supports writing articles in ReST. (Python)
Nikola is a Static Site and Blog Generator that supports ReST. (Python)