` X kaF 9 FFFF000000060001001777AA00000000005B0000000010017101804904218000006000600323200-1032321FFFFF010AF0000100000035000000010AF84032321F5D038C000133231D300002000000B400000000 AF,A simple tool that renders outlines edited in Radio as a sequence of HTML slides. Useful for presentations, or just brainstorming and visualizing your ideas as a presentation.000400000009000000020B10000500000009000000020B10000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000B100000001 40,Arial 40, 404E44000321040008010100009000000170000000201092690109269000A000000150000000232321F32321F000B00000005000000020000C0000001700000001AF5281EB11D00000F000000520000000040010 4, 4, 4, 4, 4, 4,77A 4,77A00130000007E00000000DA91F8CE1C1D1E1F7F1B0 44,- . . ' " FFFF0FFFF0FFFE000000060001001777AA I 9 % ! V kaG ! 6 B N Z G author Dave WinerauthorEmail dave@userland.comdescription homePageUrl )http://radio.outliners.com/radioPointToolname RadioPoint Presentation ToolreleaseDateversion 1.0 % m Arial kc@Q N XLAND win on build () local (adroutline = window.frontmost ()) radioPointSuite.init () local (fname) bundle //set fname local (adrparent = parentof (adroutline^)) local (adratts = @adrparent^.["/atts"]) if not file.exists (adratts^.f) scriptError ("Can't build the presentation because the outline has not been saved.") fname = file.filefrompath (adratts^.f) local (folder) bundle //set the folder local (foldername = fname) if string.lower (foldername) endswith ".opml" foldername = string.mid (foldername, 1, sizeof (foldername) - 5) foldername = string.innercasename (foldername) folder = user.radioPoint.prefs.htmlFolder + foldername + file.getpathchar () file.surefolder (folder) local (xmltext = op.outlinetoxml (adroutline)) bundle //copy the outline, if XML button is enabled if user.radioPoint.prefs.flXmlIcon try {file.writetextfile (user.radioPoint.prefs.outlineFolder + fname, xmltext)} xml.compile (xmltext, @xstruct) on getfname (slidenum, ext) return ("slide" + string.padwithzeros (slidenum, 4) + ext) local (adropml = xml.getAddress (@xstruct, "opml")) local (adrbody = xml.getAddress (adropml, "body")) local (ctslides = sizeof (adrbody^), slidenum, adrslide, t) local (renderedFileExtension = ".html") bundle //set extension, patterned after code in radio.upstream.getUpstreamText local (atts) radio.webServer.gatherAttributes (folder, @atts) if defined (atts.renderedFileExtension) renderedFileExtension = atts.renderedFileExtension for slidenum = 1 to ctslides msg ("Building slide #" + slidenum + " of " + ctslides + ".") local (htmltext = "", indentlevel = 0) on add (s) htmltext = htmltext + (string.filledstring ("\t", indentlevel) + s + "\r\n"); adrslide = @adrbody^ [slidenum] add ("#title \"" + xml.entityDecode (adrslide^.["/atts"].text, true) + "\"") add ("#outlineFileName \"" + fname + "\"") bundle //set prevUrl local (prevnum) if slidenum == 1 prevnum = ctslides else prevnum = slidenum - 1 add ("#prevUrl \"" + getfname (prevnum, renderedFileExtension) + "\"") bundle //set nextUrl local (nextnum) if slidenum == ctslides nextnum = 1 else nextnum = slidenum + 1 add ("#nextUrl \"" + getfname (nextnum, renderedFileExtension) + "\"") add ("#homeUrl \"" + getfname (1, renderedFileExtension) + "\"") add ("#slideNum \"" + slidenum + "\"") add ("#ctSlides \"" + ctslides + "\"") add ("#xmlIcon radioPointSuite.getXmlIcon (\"" + fname + "\")") on addlevel (adrsuboutline) local (i, adrline) for i = 1 to sizeof (adrsuboutline^) adrline = @adrsuboutline^ [i] if nameof (adrline^) contains "outline" local (itemtext = xml.getattributevalue (adrline, "text")) add ("
") local (outlinelist = xml.getAddressList (adrline, "outline")) if sizeof (outlinelist) > 0 add (""); indentlevel++ addlevel (adrline) add (""); indentlevel-- addlevel (adrslide) file.writetextfile (folder + getfname (slidenum, ".txt"), htmltext) radio.thread.wake () msg ("") bundle //test code build (true) q ` Arial ?' V [7aLAND win Changes 5/30/02; 1:03:11 PM by DW Runs on the user's machine, when refreshing. local (adrtable = @system.temp.radioPointSnapshot) radioPointInfo = adrtable^.info radioPointSuite = adrtable^.suite radioPointWebsite = adrtable^.website filemenu.savemyroot (@radioPointSuite) local (x = string.parseAddress (@radioPointSuite), f = x [1]) frontier.tools.install (f) dialog.notify ("Thanks for updating.") q s B Arial ?Ә H 4LAND win 5/30/02; 1:03:20 PM by DW This is the Refresh menu command. local (url = "http://radio.weblogs.com/0001015/userland/publicTools/radioPoint/codeFreshener.fttb") local (urllist = string.urlsplit (url)) local (s = tcp.httpclient (server:urllist [2], path:urllist [3])) local (f = frontier.pathstring + "codeFreshener.fttb") file.writewholefile (f, s) fatpages.importfatfile (f) thread.callscript (@system.temp.radioPointSnapshot.loader, {}) s Arial =( K ANLAND win Changes 5/30/02; 1:01:40 PM by DW Created. radioPointInfo.releaseDate = clock.now () local (adrtable = @system.temp.radioPointSnapshot) new (tabletype, adrtable) adrtable^.info = radioPointInfo adrtable^.suite = radioPointSuite adrtable^.website = radioPointWebsite adrtable^.loader = radioPointSuite.codeFreshener.loadNewCode local (f = "C:\\Program Files\\Radio UserLand\\www\\userland\\publicTools\\radioPoint\\codeFreshener.fttb") file.surefilepath (f) export.sendobject (adrtable, f) f = "C:\\Program Files\\Radio UserLand\\www\\userland\\publicTools\\radioPoint\\radioPoint.root" target.set (this) fileMenu.saveCopy (f) radio.thread.wake () dialog.alert (file.filefrompath (f) + " is " + string.megabytestring (file.size (f))) } . R?RG $ 0 ?loadNewCode refreshCode NreleaseNewCode VArial 3x1 ] ( Arial wv ] LAND win
<%bodytext%>
<%xmlIcon%> |