Add a link to restview to our link list.
[docutils.git] / docutils / docs / user / links.txt
blob92fe745294b08c2aeb4f0eddf4e750a5b3ad4ae5
1 =====================
2  Docutils_ Link List
3 =====================
5 :Author: Lea Wiemann, the Docutils team
6 :Contact: docutils-develop@lists.sourceforge.net
7 :Revision: $Revision$
8 :Date: $Date$
9 :Copyright: This document has been placed in the public domain.
11 .. title:: Docutils Links
13 .. contents::
15 This document contains links users of Docutils and reStructuredText
16 may find useful.  Many of the projects
17 listed here are hosted in the `Docutils Sandbox`_.  If you have
18 something to publish, you can get write access, too!
20 The most current version of this link list can always be found at
21 http://docutils.sourceforge.net/docs/user/links.html.
23 .. _Docutils: http://docutils.sourceforge.net/
24 .. _Docutils Sandbox: http://docutils.sf.net/sandbox/README.html
27 Editors
28 -------
30 Advanced text editors with reStructuredText support, IDEs, and docutils GUIs:
32 * Emacs `rst mode <http://docutils.sf.net/tools/editors/emacs>`__.
34 * `Vim <http://www.vim.org/index.php>`__:
36   - `reStructuredText syntax highlighting mode
37     <http://www.vim.org/scripts/script.php?script_id=973>`__,
39   - `VST <http://www.vim.org/scripts/script.php?script_id=1334>`__ (Vim
40     reStructuredText) plugin for Vim7 with folding.
42   - `VOoM <http://www.vim.org/scripts/script.php?script_id=2657>`__
43     plugin for Vim that emulates two-pane outliner with
44     support for reStructuredText (since version 4.0b2).
46   - `Riv: Take notes in rst <https://github.com/Rykka/riv.vim>`__ Vim
47     plugin to take notes in reStructured text.
49 * `JED <http://www.jedsoft.org/jed/>`__ programmers editor with
50   `rst mode <http://jedmodes.sf.net/mode/rst/>`__
52 * `reStructuredText editor plug-in for Eclipse`__
54   __ http://resteditor.sf.net/
56 * Gnome's gedit offers syntax highlighting and a reST preview pane.
58   Latest version of the plugin is available from `bittner @ github`_
59   (See also: `Gedit third party plugins`__).
61   __ https://wiki.gnome.org/Apps/Gedit/ThirdPartyPlugins-v3.8
63   .. _bittner @ github:  https://github.com/bittner/gedit-reST-plugin
65 * A BBEdit_/TextWrangler `language module`__ for editing reST documents.
67   .. _BBEdit: https://en.wikipedia.org/wiki/BBEdit
68   __ http://ericfromcanada.bitbucket.org/
70 * Gunnar Schwant's DocFactory_ is a wxPython GUI application for
71   Docutils.
73 * ReSTedit_ by Bill Bumgarner is a Docutils GUI for Mac OS X.
75 * Leo_ is an outliner_, written in Python using PyQt. It can be used as IDE
76   for literal programming, as a filing cabinet holding any kind of data and
77   as `document editor`__ with outlines containing reStructuredText markup.
79   .. _outliner: http://en.wikipedia.org/wiki/Outliner
80   __ http://leoeditor.com/tutorial-rst3.html
82 * `NoTex <https://notex.ch>`_ is a browser-based reStructuredText editor
83   with syntax highlighting and PDF/HTML export functionality using Sphinx.
85 * `rsted <https://github.com/anru/rsted>`_ is a "simple online editor for
86   reStructuredText on Flask". You can try it on http://rst.ninjs.org/
88 .. _DocFactory: http://docutils.sf.net/sandbox/gschwant/docfactory/doc/
89 .. _ReSTedit: http://www.friday.com/bbum/index.php?s=restedit
90 .. _Leo: http://leoeditor.com/
93 Export
94 ------
96 Convert reStructuredText to other formats:
98 PDF
99 ```
101 * `rst2pdf (reportlab)
102   <http://rst2pdf.googlecode.com>`_ is a tool to go
103   directly from reStructuredText to PDF, via `reportlab
104   <http://www.reportlab.org/rl_toolkit.html>`_. No LaTeX installation is
105   required.
107 * `rst2pdf (pdflatex)
108   <http://docutils.sourceforge.net/sandbox/blais/rst2pdf/>`_ by Martin Blais
109   is a minimal front end producing LaTeX, compiling the LaTeX file, getting
110   the produced output to the destination location and finally deleting all
111   the messy temporary files that this process generates.
113 * `rst2pdf (rubber)
114   <http://docutils.sf.net/sandbox/rst2pdf/README.html>`_ is
115   a front end for the generation of PDF documents from a reStructuredText
116   source via LaTeX in one step cleaning up intermediate files. It uses the
117   `rubber <http://iml.univ-mrs.fr/~beffara/soft/rubber/>`_ Python wrapper
118   for LaTeX and friends.
120 * ``py.rest`` from the Codespeak `py Lib scripts`_ converts
121   reStructuredText files to HTML and PDF (cleaning up the intermediate
122   latex files).  Similar to ``buildhtml.py``, it looks recursively for
123   .txt files in the given PATHS.
125 * rlpdf_ is another PDF Writer based on ReportLabs.
127 * RinohType_ is a pure Python PDF Writer based on a document template and a
128   style sheet (beta).
130 .. _py Lib scripts: http://codespeak.net/py/dist/bin.html
131 .. _rlpdf: http://docutils.sf.net/sandbox/dreamcatcher/rlpdf/
132 .. _RinohType: http://pypi.python.org/pypi/RinohType/0.2.1
134 OpenOffice
135 ``````````
137 * Since version 0.5, the odtwriter_ by Dave Kuhlman is part of the Docutils_
138   core.
140 .. _odtwriter: http://docutils.sf.net/docs/user/odt.html
143 website generators and HTML variants
144 ````````````````````````````````````
146 * The Sphinx_ Python Documentation Generator by Georg Brandl was originally
147   created to translate the `Python documentation`_, and is now `used by
148   <http://sphinx.pocoo.org/examples.html>`__ a wide choice of projects.
150   It can generate complete web sites (interlinked and indexed HTML pages),
151   ePub, PDF, and others [#]_ from a set of rst source files.
153   .. [#] see http://sphinx-doc.org/config.html#options-for-epub-output
154   .. _Sphinx: http://sphinx.pocoo.org/
156 * The Nikola_ static site generator, uses reStructuredText by
157   default.
159   .. _nikola:  http://getnikola.com/
161 * Pelican_ is a static site generator (mainly for blogs). Articles/pages can
162   be written in reStructuredText or Markdown format.
164   .. _pelican: http://docs.getpelican.com
166 * tinkerer_ is a static bloggin framework based on Sphinx_.
168   .. _tinkerer: http://tinkerer.me
170 * rst2ht_ by Oliver Rutherfurd, converts reStructuredText to an .ht
171   template, for use with ht2html_.
173   .. _rst2ht: http://www.rutherfurd.net/articles/rst-ht2html.html
174   .. _ht2html: http://ht2html.sourceforge.net/
176 * htmlnav_ by Gunnar Schwant, is an HTML writer which supports navigation
177   bars.
179   .. _htmlnav: http://docutils.sf.net/sandbox/gschwant/htmlnav/
181 * rest2web_, by Michael Foord, is a tool for creating web sites with
182   reStructuredText.
184   .. _rest2web: http://www.voidspace.org.uk/python/rest2web/
186 * rst2chm_ by Oliver Rutherfurd, generates Microsoft HTML Help files from
187   reStructuredText files.
189   .. _rst2chm: http://www.rutherfurd.net/software/rst2chm/
191 * `html4strict <http://docutils.sf.net/sandbox/html4strict/>`__
192   produces XHTML that strictly conforms to the XHTML 1.0 specification.
194 * `html4trans <http://docutils.sf.net/sandbox/html4trans/>`__
195   produces XHTML conforming to the version 1.0 Transitional DTD that
196   contains enough formatting information to be viewed by a lightweight HTML
197   browser without CSS support.
199 * A `simple HTML writer`_ by Bill Bumgarner that doesn't rely on CSS
200   (stylesheets).
202   .. _simple HTML writer: http://docutils.sf.net/sandbox/bbum/DocArticle/
204 ePub
205 ````
207 * The `rst2epub`_ project by Robert Wierschke converts simple
208   reStructuredText doucments into valid epub files.
210   .. simple but well structured with classes/modules for epub components,
211      and a standard ``setup.py`` installation file.
213 * rst2epub2_ by Matt Harrison includes the epublib (originally by Tim
214   Tambin) and a rst2epub.py executable for the conversion.
216 * Sphinx_ provides ePub as output option, too.
218 .. _rst2epub: https://bitbucket.org/wierob/rst2epub
219 .. _rst2epub2: https://github.com/mattharrison/rst2epub2
222 Others
223 ``````
225 * Pandoc_ is a document converter that can write Markdown, reStructuredText,
226   HTML, LaTeX, RTF, DocBook XML, and S5.
228 * restxsl_ by Michael Alyn Miller, lets you transform reStructuredText
229   documents into XML/XHTML files using XSLT stylesheets.
231 * An `XSLT script`__ by Ladislav Lhotka enables reStructuredText annotations
232   to be included in RELAG NG XML schemas.
234   __ http://www.cesnet.cz/doc/techzpravy/2006/rngrest/
236 * `DocBook Writer`_ by Oliver Rutherfurd.
238 * Nabu_, written by Martin Blais, is a publishing system which
239   extracts information from reStructuredText documents and stores it
240   in a database.  Python knowledge is required to write extractor
241   functions (see `Writing an Extractor`_) and to retrieve the data
242   from the database again.
244 * The `pickle writer`_ by Martin Blais pickles the document tree to a binary
245   string. Later unpickling will allow you to publish with other Writers.
247 * The `Texinfo Writer`_, by Jon Waltman converts reStructuredText to
248   Texinfo, the documentation format used by the GNU project and the
249   Emacs text editor.  Texinfo can be used to produce multiple output
250   formats, including HTML, PDF, and Info.
252 * For `confluence CMS`_ see https://github.com/netresearch/rst2confluence.
254 * Deploying into wikis might be aided by deploy-rst_.
256 .. _Pandoc: http://sophos.berkeley.edu/macfarlane/pandoc/
257 .. _restxsl: http://www.strangeGizmo.com/products/restxsl/
258 .. _DocBook Writer: http://docutils.sf.net/sandbox/oliverr/docbook/
259 .. _Nabu: http://furius.ca/nabu/
260 .. _Writing an Extractor: http://furius.ca/nabu/doc/nabu-extractor.html
261 .. _pickle writer: http://docutils.sf.net/sandbox/blais/pickle_writer/
262 .. _Texinfo Writer: http://docutils.sf.net/sandbox/texinfo-writer/README.html
263 .. _confluence CMS: http://www.atlassian.com/software/confluence
264 .. _deploy-rst: https://github.com/netresearch/deploy-rst
267 Import
268 ------
270 Convert other formats to reStructuredText:
272 * sxw2rest_, by Trent W. Buck, converts StarOffice XML Writer (SXW)
273   files to reStructuredText.
275 * xml2rst_, an XSLT stylesheet written by Stefan Merten, converts XML
276   dumps of the document tree (e.g. created with rst2xml.py) back to
277   reStructuredText.
279 * xhtml2rest_, written by Antonios Christofides, is a simple utility
280   to convert XHTML to reStructuredText.
282 * DashTable_ by Gustav Klopp converts HTML tables into reStructuredText.
283   Colspan and Rowspan supported!
285   .. _DashTable: https://github.com/gustavklopp/DashTable
287 * Sphinx_ includes a `LaTeX to Rst converter
288   <http://svn.python.org/projects/doctools/converter/>`__ in its source code
289   (trimmed to importing the old Python docs).
291 * Pandoc_ can read Markdown and (subsets of) HTML, and LaTeX and export to
292   (amongst others) reStructuredText.
294 * PySource_, by Tony Ibbs, is an experimental Python source Reader.
295   There is some related code in David Goodger's sandbox
296   (pysource_reader_) and a `Python Source Reader`_ document.
298 .. _sxw2rest: http://twb.ath.cx/~twb/darcs/sxw2rest/
299 .. _xml2rst: http://www.merten-home.de/FreeSoftware/xml2rst/index.html
300 .. _xhtml2rest: http://docutils.sf.net/sandbox/wiemann/xhtml2rest/
302 .. _PySource: http://docutils.sf.net/sandbox/tibs/pysource/
303 .. _pysource_reader: http://docutils.sf.net/sandbox/davidg/pysource_reader/
304 .. _Python Source Reader: http://docutils.sf.net/docs/dev/pysource.html
307 Extensions
308 ----------
310 Extend the reStructuredText syntax or the features of Docutils.
311 More extensions are in the `Docutils Sandbox`_.
313 * Beni Cherniavsky has written a generic `preprocessing module`_ for
314   roles and/or directives and built preprocessors for TeX math for
315   both LaTeX and HTML output on top of it.
317 * Beni Cherniavsky maintains a Makefile_ for driving Docutils, hoping
318   to handle everything one might do with Docutils.
320 * The `ASCII art to SVG converter`_ (aafigure) developed by
321   Chris Liechti can parse ASCII art images, embedded in reST documents and
322   output an image. This would mean that simple illustrations could be
323   embedded as ASCII art in the reST source and still look nice when
324   converted to e.g. HTML
326 * zot4rst_ by Erik Hetzner is an extension that allows users to write reST
327   documents using citations from a Zotero_ library.
329 * Quick and easy publishing reStructuredText source files as blog posts
330   on blogger.com is possible with `rst2blogger`_ .
332 .. _preprocessing module: http://docutils.sf.net/sandbox/cben/rolehack/
333 .. _Makefile: http://docutils.sf.net/sandbox/cben/make/
334 .. _ASCII art to SVG converter:
335    http://docutils.sf.net/sandbox/cliechti/aafigure/
336 .. _zot4rst: http://e6h.org/~egh/hg/zotero-plain
337 .. _Zotero: http://www.zotero.org/
338 .. _rst2blogger: https://github.com/dhellmann/rst2blogger#readme
341 Related Applications
342 --------------------
344 Applications using docutils/reStructuredText and helper applications.
346 * For Wikis, please see the `FAQ entry about Wikis`_.
348 * For Blogs (Weblogs), please see the `FAQ entry about Blogs`_.
350 * `Project Gutenberg`_ uses a customized version of Docutils with it's own
351   xetex- and nroff-writer and epub generator.
353 .. _FAQ entry about Wikis: http://docutils.sf.net/FAQ.html#are-there-any-wikis-that-use-restructuredtext-syntax
354 .. _FAQ entry about Blogs: http://docutils.sf.net/FAQ.html#are-there-any-weblog-blog-projects-that-use-restructuredtext-syntax
355 .. _Project Gutenberg: http://www.gutenberg.org
357 Tools
358 `````
360 * rstcheck_ Checks syntax of reStructuredText and code blocks nested within
361   it. (Using the Sphinx syntax "code-block" for the "code" directive.)
363   .. _rstcheck: https://pypi.python.org/pypi/rstcheck
365 * restview_ is a viewer for ReStructuredText documents.
367   Pass the name of a ReStructuredText document to restview, and it will
368   launch a web server on localhost:random-port and open a web browser. It
369   will also watch for changes in that file and automatically reload and
370   rerender it. This is very convenient for previewing a document while
371   you're editing it.
372   
373   .. _restview: http://mg.pov.lt/restview/
376 Development
377 ```````````
379 * Sphinx_ extends the ReStructuredText syntax to better support the
380   documentation of Software (and other) *projects* (but other documents
381   can be written with it too).
383   Since version 2.6, the `Python documentation`_ is based on
384   reStructuredText and Sphinx.
386 * Trac_, a project management and bug/issue tracking system, supports
387   `using reStructuredText
388   <http://trac.edgewall.org/wiki/WikiRestructuredText>`__ as an
389   alternative to wiki markup.
391 * PyLit_ provides a bidirectional text <--> code converter for *literate
392   programming with reStructuredText*.
394 * If you are developing a Qt app, rst2qhc_ lets you generate the whole help
395   automatically from reStructuredText. That includes keywords, TOC,
396   multiple manuals per project, filters, project file, collection project
397   file, and more.
399 .. _Python documentation: http://docs.python.org/
400 .. _Trac: http://trac.edgewall.org/
401 .. _PyLit: http://repo.or.cz/pylit.git
402 .. _rst2qhc: http://rst2qhc.googlecode.com
405 CMS Systems
406 ```````````
408 * Plone_ and Zope_ both support reStructuredText markup.
409 * ZReST_, by Richard Jones, is a "ReStructuredText Document for Zope_"
410   application that is complete and ready to install.
412 .. _Plone: http://plone.org/
413 .. _Zope: http://www.zope.org/
414 .. _ZReST: http://docutils.sf.net/sandbox/richard/ZReST/
417 Presentations
418 `````````````
420 * rst2html5_ transform restructuredtext documents to html5 + twitter's
421   bootstrap css, deck.js or reveal.js
423 * landslide_ generates HTML5 slideshows from markdown, ReST, or textile.
425 * `native support for S5 <slide-shows.s5.html>`_.
427 * The `PythonPoint interface`_ by Richard Jones produces PDF
428   presentations using ReportLabs' PythonPoint_.
430 * rst2beamer_ generates a LaTeX source that uses the `Beamer` document class.
431   Can be converted to PDF slides with pdfLaTeX/XeLaTeX/LuaLaTeX.
433 * InkSlide_ quick and easy presentations using Inkscape_. InkSlide uses
434   reStructuredText for markup, although it renders only a subset of rst.
436 * rst2outline_ translates a reStructuredText document to a plain text
437   outline. This can then be transformed to PowerPoint.
439 * Pandoc_ can also be used to produce slides, as shown in this
440   `Pandoc Slides Demo`_
442 .. _PythonPoint: http://www.reportlab.org/python_point.html
443 .. _PythonPoint interface: http://docutils.sf.net/sandbox/richard/pythonpoint/
444 .. _rst2beamer: http://docutils.sf.net/sandbox/rst2beamer/
445 .. _Inkscape: http://inkscape.org/
446 .. _InkSlide: http://wiki.inkscape.org/wiki/index.php/InkSlide
447 .. _rst2html5: https://github.com/marianoguerra/rst2html5
448 .. _landslide: https://github.com/adamzap/landslide
449 .. _rst2outline: http://docutils.sf.net/sandbox/rst2outline/
450 .. _Pandoc Slides Demo:
451    http://johnmacfarlane.net/pandoc/demo/example9/producing-slide-shows-with-pandoc