Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.Frontier.tools.windowTypes.commands.saveAsHtml
on saveAsHtml (adr=nil, adrFilepath=nil, flPreview=false) { <<Changes <<12/26/00; 3:52:29 PM by PBS <<Works for odb outlines as well as local outlines. <<12/13/00; 5:52:54 PM by PBS <<Created. Save a document as HTML on the local file system. if adr == nil { adr = window.frontMost ()}; on runCallbacks (adrCallback) { //call callbacks local (adrScript); for adrScript in adrCallback { try { while typeOf (adrScript^) == addressType { //follow addresses adrScript = adrScript^}; if adrScript^ (adrItem) { return (true)}}}; return (false)}; if defined (user.tools.commandCallbacks.saveAsHtml) { if runCallbacks (@user.tools.commandCallbacks.saveAsHtml) { return (true)}}; if system.environment.isRadio { if defined (user.pike.commandCallbacks.saveAsHtml) { if runCallbacks (@user.pike.commandCallbacks.saveAsHtml) { return (true)}}}; local (adrtype); <<Find the saveAsHtml script for this window type. if Frontier.tools.windowTypes.findWindowType (adradrtable:@adrtype, adrwindow:adr) { if defined (adrtype^.saveAsHtml) { if adrtype^.saveAsHtml (adr, adrFilepath, flPreview) { return (false)}}}; <<For outlineType windows, we use the outlineFile windowType's saveAsHtml script to save the window. case typeOf (adr^) { tableType; scriptType; outlineType { if Frontier.tools.windowTypes.findWindowType ("outlinerFile", @adrtype) { if not adrtype^.saveAsHtml (adr, adrFilepath, flPreview) { return (false)}}}}; return (true); }; <<bundle //this code moved to Frontier.tools.data.windowTypes.outlinerFile.saveAsHtml <<local (extension = user.html.prefs.fileExtension) << <<local (title, fname) <<if window.attributes.getOne ("title", @title, adr) <<fname = title <<if string.lower (fname) endsWith ".opml" <<fname = string.popSuffix (fname) <<else //base the title on the title of the window <<title = window.getTitle (adr) <<if string.lower (title) == string.lower (string.popFileFromAddress (adr)) <<local (parts = string.parseAddress (string.popFileFromAddress (adr))) <<local (ct = sizeOf (parts)) <<fname = parts [ct] <<if ct > 1 <<fname = parts [ct - 1] + "." + fname << <<local (maxCharsMac = 31 - sizeOf (extension)) << <<if system.environment.isMac <<if sizeOf (fname) > maxCharsMac <<if ct > 1 <<fname = parts [ct] <<if system.environment.isMac <<if sizeOf (fname) > maxCharsMac <<fname = string.mid (fname, 1, 26) <<fname = fname + extension << <<local (f = fname) <<if file.putFileDialog ("Save " + title + " as HTML:", @f) <<pike.saveOutlineAsHtml (adrItem, f) <<bundle //test code <<saveAsHtml (window.frontmost ())
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.