views:

1361

answers:

3

I am a great fan of reStructuredText, however the tools that support it are scattered all over the Internet. The official tool list is incomplete and/or outdated, and can be updated only via commit privileges. For some time there was a comprehensive list at the Wikipedia reStructuredText page, but this apparently "did not meet the notability guideline for web content" and was removed.

So to put it in a question form: What tool support can one expect to find when working with reStructuredText, e.g. text editors, Wiki software, converters to and from reStructuredText etc.?

+12  A: 

Salvaging (and extending) the list from an old version of the Wikipedia page:

Documentation

Converters

Docutils

The main distribution of reStructuredText is the Python Docutils package. It contains several conversion tools:

  • rst2html - from reStructuredText to HTML
  • rst2xml - from reStructuredText to XML
  • rst2latex - from reStructuredText to LaTeX
  • rst2odt - from reStructuredText to ODF Text (word processor) document.
  • rst2s5 - from reStructuredText to S5 a Simple Standards-based Slide Show System.
  • rst2man - from reStructuredText to Man page

Pandoc

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it can write markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man pages, and S5 HTML slide shows.

There is an online tool to try this library.

JRst

JRst is a Java reStructuredText parser enabling to create a tree representation document. It becomes easy to generate document representation towards different formats. It can currently output HTML, xHTML, DocBook xdoc and PDF, BUT seems to have serious problems: neither pdf or (x)html generation works using the current full download, result pages in (x)html are empty, pdf genration fails on IO problems with xsl files (not bundled??)

Other 3rd party converters

  • rst2pdf - from reStructuredText to PDF
  • rst2odp 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.
  • restview - starts a small web server that re-renders documents every time you refresh (useful for previewing documents)

To reStructuredText

  • 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

Extensions

Some projects use reStructuredText as a baseline to build on, or provide extra functionality extending the utility of the ReStructuredText tools.

Sphinx

The Sphinx documentation generator, translates a set of reStructuredText source files into various output formats, automatically producing cross-references, indices etc.

rest2web

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. (You can still keep pages in HTML if needed.)

Pygments

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 ReST documents.

Free Editors

While any plain text editor is suitable to write reStructuredText documents, some editors have better support than others.

Emacs

The Emacs support via rst-mode comes as part of the docutils package under /docutils/tools/editors/emacs/rst.el

Vim

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:

Jed

There is a rst mode for the Jed programmers editor.

gedit

gedit, the official text editor of the GNOME desktop environment. There is a gedit reStructuredText plugin.

Geany

Geany, a small and lightweight Integrated Development Environment include support for reStructuredText from version 0.12 (October 10, 2007).

Leo

Leo, an outlining editor for programmers, supports reStructuredText via rst-plugin.

FTE

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

PyK is a successor of PyEdit and reStInPeace, written in Python with the help of the Qt4 toolkit.

Dedicated reStructuredText Editors

Proprietary editors

TextMate

TextMate, a proprietary general-purpose GUI text editor for Mac OS X, has a bundle for reStructuredText.

Intype

Intype is a proprietary text editor for Windows, that support reStructuredText out of the box.

E Text Editor

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.

Wiki

here are some Wiki programs that support the reStructuredText markup as the native markup syntax, or as an add-on:

MediaWiki

MediaWiki reStructuredText extension allows for reStructuredText markup in MediaWiki surrounded by <rst> and </rst>.

MoinMoin

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

Trac is an enhanced wiki and issue tracking system for software development projects. There is a reStructuredText Support in Trac.

This Wiki

This Wiki is a Webware for Python Wiki written by Ian Bicking. This wiki uses ReStructuredText for its markup.

rstiki

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

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 Services

ReStructuredText API

The ReStructuredText API site provides an API to a ReStructuredText conversion process that is part of the docutils library. This makes it really easy to generate rst documents from within any other application even if you don't have python installed

Sandbox

An Online reStructuredText editor can be used to play with the markup and see the results immediately.

Rst2a

Rst2a is web service to convert reStructuredText to everything, plus a repository for style-sheets. (inactive)

Blogging frameworks

WordPress

WordPreSt reStructuredText plugin for WordPress.

Zine

reStructuredText parser plugin for Zine (will become obsolete in version 0.2 when Zine is scheduled to get a native reStructuredText support)

More

Chen Levy
Thanks a lot for this list! Its very helpful.
Matti Pastell
A: 

Sandbox referred in post is no longer available. But there is another: http://rst.ninjs.org/

mirrorw
This is a community wiki, you should be able to edit this yourself. Anyway Thanks for the feedback. Fixed.
Chen Levy
A: 

For PHP, Zeta Components' Document package has good reStructuredText support.

Rob Allen