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 -------- - automatically re-renders ReST source after 5 seconds of inactivity - HTML automatically scrolls to somewhere close to the same position as the scroller on the source view. This is a total hack. It is far, far from accurate. - one click to open rendered content in Safari (or preferred browser) - full Find panel support in source view, including auto-scroll - an info panel that features a gratuitous use of CPU cycles 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. Links ----- See below. .. [1] http://docutils.sourceforge.net/spec/rst/reStructuredText.html .. [2] http://docutils.sourceforge.net .. [3] http://pyobjc.sourceforge.net .. [4] http://docutils.sourceforge.net/sandbox/gschwant/docfactory/doc/ 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. .. _UKKQueue class: http://www.zathras.de/programming/sourcecode.htm#UKKQueue .. _Rainer Brockerhoff: http://www.brockerhoff.net/ .. _M. Uli Kusterer: http://zathras.de/contact.php?return_url= .. _Source Code: http://zathras.de/angelweb/sourcecode.htm .. _bbum: http://bbum.pycs.net/ .. _py2app: http://svn.red-bean.com/bob/py2app/trunk/ .. _reStructuredText: http://docutils.sourceforge.net/spec/rst/reStructuredText.html .. _PyObjC: http://pyobjc.sourceforge.net .. _Ian Bicking: http://blog.ianbicking.org/