Some links and resources assembled by Joe Orr. Last update June 10, 2003 but still not completely current - see the Leo SourceForge site (link below).
It is a freely available Open Source project and can be downloaded from LEO's Sourceforge site:
LEO is a powerful tool for organizing text into tree structures, and for just generally attacking a number of problems from a tree-based perspective.
<opinion>There has been a lot of hype about XML and all the uses to which it can be put. But, to my mind, the greatest benefit of XML is that it allows people to easily work with tree structures. All the benefits of XML really flow from that. LEO is the best application I've seen for conceiving and planning the trees that are then put into action via varioius XML technologies.</opinion>Outlining Editors have existed for a while (e.g. PC-Outline, MORE) but LEO takes a major leap beyond previous tools for three reasons:
- You can embed a simple macro language inside of a LEO document to instruct LEO to assemble pieces of the LEO document into another file. This facilitates, among other things, one type of Literate Programming.
- LEO saves its files in XML format. This means that you can easily import and export LEO documents to any number of programs that can understand XML. for example, you can use an XSLT stylesheet (see below) to export a LEO file to HTML. And you can import any XML file into LEO using another XSLT stylesheet.
- LEO is fully scriptable via Python.
Output:
Here's a stylesheet for converting Leo files to HTML (by Ian Oeschger):
Some older XSLT files that only work with IE:
A sample LEO file which contains a Perl script and some helper files for the script. Of course, you'll need to install LEO before you can view this file. (When clicking on this link in IE 4+, it may display in the browser as an xml file. To save it to your machine for viewing in LEO, right click on the link and choose Save Target.)
The above LEO file converted to HTML. This page will only display properly in Internet Explorer 5.5+ because at the time of this writing IE is the only browser that can dynamically update content (which is necessary when you are opening and closing nodes) and only IE 5.5 has support for certain regular expressions in Javascript. If you see the "~" character in the page, then it is not displaying properly.
The XSLT stylesheet for converting a LEO file to HTML. This stylesheet does some highlighting of the Perl code embedded in the LEO document. The highlighting function could be fairly easily converted to do Java syntax highlighting etc. For more information about processing the XML with XSLT to produce the HTML, see my XSLT Resource Page.
Input:
A preliminary XSLT Stylesheet for converting XML to LEO format. This version of the stylesheet only imports the elements as nodes in a LEO document.
Sample XML file (created by XMLAuthority from one of the MISMO DTDs).
This resulting LEO file was created by applying the above XSLT Stylesheet to the above XML (using Instant Saxon. For more info about this process see my XSLT Resource Page).