ReSTedit

Author: Bill Bumgarner
Contact: restedit@mac.com
Version: 0.50

Note

Dinu Gherman wrote the original version of ReSTedit as a wonderful tool for exploring reStructuredText [ReST]. After finding myself editing reStructuredText documents on a regular basis, I [bbum] turned the explorer into a reStructuredText editor. The original motivation was to combine the power of Cocoa based text editing with something that would also render the ReST "source" as an integrated part of the editing process.

Contents

Summary

ReSTedit is an interactive editor/explorer for reStructuredText.

Overview

ReSTedit is a GUI tool for editing and interactivly exploring texts in the ReStructuredText [1] format (or ReST) as introduced by the Docutils [2] project. Despite being quite simple, ReSTedit is very useful for quickly checking if Docutils renders some text as you would expect it. You only paste it into a ReSTedit window to see if it's ok or not, without writing any test code around it.

Basics

ReSTedit is extremely simple to use. You open .txt file, type or paste input text into the left half of a ReSTedit document and ReSTedit renders the input into a default HTML format displayed in the right half of the document window. The rendering takes place automatically whenever there is a long pause in typing. Rendering errors are indicated in the rendered HTML.

Since the HTML view is a live WebView, the rendered HTML behaves exactly as it would in a Safari window. This includes the ability to click on links and browse the web.

Features

History

0.1:first release, relying on an external Python interpreter
0.2:repackaged with Python 2.2.3 and PyObjC 1.0b and Docutils 0.3 included
0.2.1:added file opening/saving capabilities (.txt)
0.3:added HTML and PDF export (PDF needs LaTeX)
0.4:added auto-scroll, rearranged UI to be more useful as a general editor, added toolbar, added open-in-external-browser, refactored implementation, moved implementation to a BSD style license
0.42:added Info panel with links to the source and feedback. Upgraded to be compatible with docutils 3.0.5. Upgraded to latest PyObjC runtime.
0.5:added RBSplitView and made the segmented control in the toolbar work. Upgraded to docutils 3.0.8 and latest PyObjC release. Moved to package the app wrapper via Bob Ippolito's py2app. Added automatic tracking of on disk document changes.

Requirements

There are no special requirements for running ReSTedit. From version 0.2 it ships as a standalone application which should be running on any Mac OS X 10.3 or higher installation. As it comes with full source code you can build ReSTedit yourself, if you have Apple's developer tools installed, plus some Python interpreter version 2.2 or higher, plus PyObjC 1.0b [3] or higher.

License

ReSTEdit 0.1 through 0.3 were released under the GPL.

As of 20-March-2004, Dinu made the decision to relicense ReSTEdit under the MIT License.

Download

The ReSTedit distribution, screenshots and a sample movie of ReSTedit in action are all available from:

http://python.net/~gherman/ReSTedit.html

The latest ReSTEdit source is hosted in a Subversion repository at:

http://svn.red-bean.com/restedit/

Notes

Among other GUI tools similar to ReSTedit is DocFactory [4]. If you know more of them, please send me a short note.

Authors

Dinu Gherman, dinu at mac dot com, 2003-11-28

Bill Bumgarner restedit@mac.com 2004-02-01

Contributors

Thank you to all that have contributed code. In general, this stuff was found through creative google searches motivated by bbum's desire not to reinvent a wheel (in other words, "laziness"). These people saved me (bbum) a lot of time and their generosity in making this code available to the world is hugely appreciated.

UKKQueue class was written by M. Uli Kusterer and the latest version can be found on his Source Code page which contains many other useful bits of software. Subject to a BSD style license.

RBSplitView and RBSplitSubview was written by Rainer Brockerhoff and is distributed under a BSD style license.

Blue Bars with Boxed Admonitions CSS was created by Ian Bicking who gave permission to add it to the project.