Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.fatPages.buildFileAtts
on buildFileAtts (w, runnable = false) { <<Thursday, July 17, 1997 at 12:22:23 PM by PBS <<w may also be an odb address. <<New parameter: runnable. Desktop scripts <<are saved with runnable set to true. <<Changes: <<Fri, Jun 13, 1997 at 5:49:06 PM by dmb <<w may be a window title, or a filespec, depending on whether or not <<the window has ever been saved. <<05/24/01; 10:12:48 PM by PBS <<Added support for file-based OPML documents. local (htmltext = ""); on add (s) { htmltext = htmltext + s}; add ("\r<!--\r#fatPage\r"); //Wed, Feb 26, 1997 at 7:44:57 AM by DW, added extra \r before # on addHint (name, value, flencode=false) { local (s = string (value)); if flencode { s = base64.encode (string (value), 0)}; add ("#" + name + " " + s + "\r")}; addHint ("version", 1); addHint ("docs", "http://www.scripting.com/fatPages/faq.html"); <<bundle <<add window rect hint <<local (x, y, w, h) <<window.getPosition (w, @x, @y) <<window.getSize (w, @w, @h) <<addHint ("windowRect", string (y) + ',' + x + ',' + (y + h) + ',' + (x + w)) local (data); if (defined (w) && (parentOf (w^) == "" || parentOf (w^) == "system.compiler.files") && w != @root) { //It's a file-based object. packWindow (w, @data); if file.exists (w) { if string.lower (file.type (w)) == "text" || string.lower (file.type (w)) == "txt" { <<Sun, Oct 19, 1997 at 12:49:51 AM by PBS unpack (@data, @temp.lasttextfile); htmltext = string (temp.lasttextfile); htmltext = string.replaceall (htmltext, cr + lf, cr); return (htmltext)}; if string.lower (file.type (w)) == "opml" { //PBS 05/24/01: support for OPML files local (xmlText = op.outlineToXml (@[w])); return (xmlText)}}} else { //It's an odb object. adrPageData = w; data = binary (fatPages.encodePageData (adrPageData)); <<setBinaryType (@data, getBinaryType (adrpagedata)) setBinaryType (@data, typeof (adrpagedata^))}; if defined (adrPageData) { <<Thu, Mar 20, 1997 at 7:24:45 AM by DW addHint ("adrPageData", adrPageData)}; addHint ("objectType", "application/x-frontier-" + getbinarytype (data)); addHint ("runnable", string (runnable)); //Thursday, July 17, 1997 at 12:22:11 PM by PBS addHint ("pageData", string (data), true); add ("-->\r"); 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.