Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.getOutlineHTML
on getOutlineHTML (adroutline, indentstring, outdentstring, linestartstring, lineendstring, flprettyPrint=true) { try { //only works on Mac OS return (html.ucmds.getOutlineHTML (adroutline, indentstring, outdentstring, linestartstring, lineendstring))} else { local (level = 0); local (htmltext = ""); on add (s) { htmltext = htmltext + s}; on addLine (s) { if flPrettyPrint { add (string.filledString ("\t", level) + s + "\r")} else { add (s)}}; on visit () { loop { addLine (linestartstring + op.getLineText () + lineendstring); if op.go (right, 1) > 0 { level++; addLine (indentstring); visit (); addLine (outdentstring); level--; op.go (left, 1)}; if not op.go (down, 1) { break}}}; local (oldtarget = target.get ()); target.set (adroutline); op.firstSummit (); op.fullExpand (); if flPrettyPrint { add ("\r")}; visit (); try {target.set (oldtarget)}; return (htmltext)}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.