O X W) 0W$A prefsXVGeneva 2gGVYY  *K W[ gk pY authorDavid Davies @ Home authorEmaildavid-davies@blueyonder.co.uk description homePageUrlname trailBlazer releaseDateversion0.1 WW VGeneva WX'?LANDmac on any (pta) //boilerplate for your responder pta^.responseHeaders.["Content-Type"] = "text/html" pta^.code = 200 //everything was OK pta^.responseBody = "" //build response return (true) V2.WW anyJ2.WW >F N condition0(string.lower (path) beginsWith "/trailblazer/")enabledmethods WW WW Geneva XX'?LANDmac This script runs every hour. Geneva XX'?LANDmac This script runs every minute. Geneva XX'?LANDmac This script runs every night. {w.XX  ". 9 everyHour8 everyMinute8 everyNight8.{ XX XX XX nj.XX  ' ,fileMenu8]radio8user8n Geneva XX'?LANDmac dialog.notify ("Hello, World!") Geneva XX'?LANDmac TrailBlazer Hello World [p Geneva  t p }Geneva XY'?LANDmac This script returns a string which appears in the Status Center on the Radio UserLand home page. return ("I'm a cool Tool!") ~ Geneva 0wLANDmac bundle // my stuff local pta = html.getpagetableaddress () adrTrails = @trailBlazerData.["trails"] htmltext temp.mypta = pta^ trailBlazerSuite.trails.init () pta^.title = "TrailBlazer Tool v" + trailBlazerInfo.version on add (s) htmltext = htmltext + s + "\r\n" add ("

Thanks for trying out my trailBlazer tool! Please send comments & suggestions to me via email.


") add ("

Menu

") add ("
") if sizeof (adrTrails^.data) > 0 add ("

List trails...

") add ("

Publish trails...

") else add ("

You have no trails defined

") add ("

Create a new trail...

") add ("
") return (htmlText) $Geneva ?'?LANDmac if not defined (trailBlazerData.["trails"]) new (tableType, @trailBlazerData.["trails"]) if not defined (trailBlazerData.["trails"].data) new (tableType, @trailBlazerData.["trails"].data) if not defined (trailBlazerData.["trails"].next) trailBlazerData.["trails"].next = 1 Z Geneva "!LANDmac local pta = html.getpagetableaddress () adrTrails = @trailBlazerData.["trails"] htmltext on add (s) htmltext = htmltext + s + "\r\n" trailBlazerSuite.trails.init () pta^.title = "Listing trails" add ("

You have defined the following trails. You'll be able to edit them in the next version of this tool!

") add ("

") for n = 1 to sizeof (adrTrails^.data) add (adrTrails^.data[n].name + "
") add ("
") add ("<< back to the main menu") return (htmltext) V Geneva %7qLANDmac local pta = html.getpagetableaddress () adrTrails = @trailBlazerData.["trails"] htmltext on add (s) htmltext = htmltext + s + "\r\n" trailBlazerSuite.trails.init () temp.pta = pta^ if pta^.method == "GET" pta^.title = "Create a new trail" add ("
") add ("") add ("

") add ("") add ("") add ("") add ("") add ("") add ("") add ("") add ("
Name for this trail
Description for this trail

Add your first trail item
Item title
Item description
Item URL

") add ("

") add ("
") else pta^.title = "Add a trail item" if defined (pta^.radioresponder.postargs.new) // create trail and first item trailnum = string.padwithzeros (trailBlazerData.["trails"].next, 5) adrTrail = @trailBlazerData.["trails"].data.[trailnum] bundle // create trail table new (tabletype, adrTrail) new (tabletype, @adrTrail^.items) adrTrail^.nitems = 1 new (tabletype, @adrTrail^.items) trailBlazerData.["trails"].next++ bundle // create first item nitem = string.padwithzeros (adrTrail^.nitems, 5) new (tabletype, @adrTrail^.items.[nitem]) adrItem = @adrTrail^.items.[nitem] adrItem^.name = pta^.radioresponder.postargs.title adrItem^.description = pta^.radioresponder.postargs.description adrItem^.link = pta^.radioresponder.postargs.link adrTrail^.name = pta^.radioresponder.postargs.trailname adrTrail^.description = pta^.radioresponder.postargs.traildescription adrTrail^.nitems++ else // add new items bundle // add item trailNum = pta^.radioresponder.postargs.trailnum adrTrail = @trailBlazerData.["trails"].data.[trailnum] nitem = string.padwithzeros (adrTrail^.nitems, 5) new (tabletype, @adrTrail^.items.[nitem]) adrItem = @adrTrail^.items.[nitem] adrItem^.name = pta^.radioresponder.postargs.title adrItem^.description = pta^.radioresponder.postargs.description adrItem^.link = pta^.radioresponder.postargs.link adrTrail^.nitems++ bundle // add new item form add ("
") add ("") add ("

") add ("") add ("") add ("") add ("
Item title
Item description
Item URL

") add ("

") add ("
") bundle // add trail so far add ("

" + adrTrail^.name + "
") add (adrTrail^.description + "

") add ("

") for n = 1 to sizeof (adrTrail^.items) add ("

" + adrTrail^.items[n].name + "
") add ("" + adrTrail^.items[n].description + "

") add ("

") add ("<< back to the main menu") return (htmltext) V Geneva fLANDmac local pta = html.getpagetableaddress () adrTrails = @trailBlazerData.["trails"] htmltext on add (s) htmltext = htmltext + s + "\r\n" trailBlazerSuite.trails.init () pta^.title = "Publish trails" if pta^.method=="GET" add ("

Publishing a trail creates an RSS 0.91 file in your weblog that others can subscribe to or use in their own trails.

") add ("

Choose the trail you want to publish from the pop-up menu

") add ("
") add ("

") add ("

") add ("
") else trail = pta^.radioresponder.postargs.trail url = trailblazersuite.trails.writerss (trail) add ("

Your trail has been been published! Right-click to copy the URL of the orange XML button for your trail. ") add ("

") add ("<< back to the main menu") return (htmltext) B Geneva l gLANDmac local pta = html.getpagetableaddress () adrTrails = @trailBlazerData.["trails"] htmltext on add (s) htmltext = htmltext + s + "\r\n" trailBlazerSuite.trails.init () pta^.title = "Page title" add ("<< back to the main menu") return (htmltext)  '2} Geneva ̈́?5RLANDmac on writeRSS (trail) local rssText p = file.getpathchar () froot = user.radio.prefs.wwwfolder adrTrails = @trailBlazerData.["trails"].data on add (s, t = 0) local tabs for n = 1 to t tabs = tabs + tab rssText = rssText + tabs + s + cr on encode (s) if system.environment.isMac return (xml.entityEncode (latinToMac.macToLatin (s), true)) else return (xml.entityEncode (s, true)) adrTrail = @adrtrails^.[trail] bundle // work out filename f = string.replaceall (adrtrail^.name, " ", "") + ".xml" bundle // build header add ("") add ("") add ("", 1) add ("" + adrtrail^.name + "", 2) add ("" + user.radio.prefs.defaultCloudData.url + "", 2) add ("" + adrtrail^.description + "", 2) add ("en-gb", 2) add ("Copyright 2003, " + user.radio.prefs.defaultCloudData.weblogTitle + "", 2) add ("" + user.radio.prefs.defaultCloudData.email + "", 2) add ("" + user.radio.prefs.defaultCloudData.email + "", 2) bundle // add items for n = 1 to sizeof (adrtrail^.items) title = encode (adrtrail^.items[n].name) description = encode (adrtrail^.items[n].description) link = adrtrail^.items[n].link add ("", 2) add ("" + title + "", 3) add ("" + description + "", 3) add ("" + link + "", 3) add ("", 2) bundle // add footer add ("", 1) add ("") bundle // check for trails folder if not file.exists (froot + "trails") file.newfolder (froot + "trails") file.writeTextFile (froot + "trails" + p + f, rssText) return (user.radio.prefs.defaultclouddata.url + "trails/" + f) bundle // test code writeRSSfile ("testtrail2.xml") '@V{<  & +7 ;G O[ kw homepage Ainitblistnewpublish%^script template+writeRSS,VGeneva 2<@BX{  !- 2> R^ e background callbacksmenu statusCenterMessage 4trails6VGeneva j=*vGeneva YY'?LANDmac This script runs in its own thread. loop //loop until the application quits Add your code here. thread.sleepFor (10) //sleep for ten seconds TP.YY ctenabledscript8TtArial FF2LANDmac on finalFilter (pta) pta^.renderedText = string.replace (pta^.renderedText, "[[title]]", "") return (true) ����������������������������� ���-����Geneva���������������������������� ��������������Eu`Q�������2LAND������mac ������������on firstFilter (adrPageTable) return (true) �����������������������*��[����Geneva���������������������������� ��������������Eu7a���m���L�3*lLAND������mac ������������on pageFilter (pta) if typeOf (pta^.template) == outlineType or typeOf (pta^.template) == wpTextType table.assign (@pta^.template, string (pta^.template)) if typeOf (pta^.template) == stringType and not pta^.indirectTemplate pta^.template = string.replace (pta^.template, "<title>", "[[title]]") html.addPageToGlossary (pta) return (true) �����������������������������������������������y���.���EF�������� ���� ��� ����$���0 ����; finalFilter������: firstFilter������; pagefilter������;��VGeneva���������������������������� �����������P�E��$����������������������������G�������C������7Y�������� ����url���http://127.0.0.1/trailBlazer/���G�������������$���VV�������� ���� ���i ����nlinetext���\["Macintosh HD:Applications:Radio UserLand:Tools:trailBlazer.root"].trailBlazerWebsite.indexpath��� index.wsf������d�������`���$���ߕߕ�������� ���� ���& ����+linetext���Asset Manager Tool v0.992path��� index.wsf���d���O�������K���$���((�������� ���� ��� ����linetext���Homepath��� index.wsf���O���V�������R���$����������� ���� ��� ����linetext��� TrailBlazerpath��� index.wsf���V��N����������8�������ߕ�������� ����]���i ������� ������� ����\["Macintosh HD:Applications:Radio UserLand:Tools:trailBlazer.root"].trailBlazerWebsite.index������? Asset Manager Tool v0.992������?Home������@/ TrailBlazer������@��VArial����������������������������� �����������������������������������������������N����������W����������������������space���/GIFfGIF89a�������!����,�������D�;��VArial����������������������������� ������������������������������������������������������������V��������������� ������� �������"�������+ ����0���: ����C���L ����Q���[ ����aalink���008000bgcolor���FFFFFFflRenderlink���0000FFspaceGif���spacetext���000000vlink���800080��VArial����������������������������� ��������������������������������������������������n�����������������8>������VArial����������������������������� ������������������������������������������������n��������������-����Geneva���������������������������� �������������������'?LAND������mac ������������return (trailBlazerSuite.trails.homepage ()) ����������������������)����Geneva���������������������������� ��������������.��� �'?LAND������mac ������������return (trailBlazerSuite.trails.list ()) ����������������������(����Geneva���������������������������� �������������������'?LAND������mac ������������return (trailBlazerSuite.trails.new ()) ����������������������,����Geneva���������������������������� �������������������'?LAND������mac ������������return (trailBlazerSuite.trails.publish ()) ����������������9���t���7$�������� ���� ��� �������* ����4���@ ����H���T ����[���g ����n���z ������� ������� ������� ����#filters�������=#ftpSite�������> #glossary�������@#images�������BF#prefs�������C#tools�������D.index�������Dlist�������E_new�������Fpublish�������F��VVerdana��������������������������� ������������??8��������������������������� ������������WJ��������������� �����������t���WY�������� ������� ����,���8 ����M���Y ����n���z ������� ������� ������� ������� ����� ���2trailBlazerData��������trailBlazerInfo�������trailBlazerNodeTypes�������trailBlazerResponder�������trailBlazerRpcHandlers�������trailBlazerSoapHandlers�������trailBlazerSuite�������7btrailBlazerThread�������9trailBlazerWebsite�������GztrailBlazerWindowTypes�������I��V Lucida Grande���������������������������������H�P�����������������������������Geneva���������������������������� ��������������Z$A���o��'?LAND������mac ������������trailBlazerData prefs trailBlazerInfo author authorEmail description homePageUrl name releaseDate version trailBlazerNodeTypes trailBlazerResponder trailBlazerRpcHandlers trailBlazerSoapHandlers trailBlazerSuite trailBlazerThread trailBlazerWebsite trailBlazerWindowTypes �����(8D������������������(~l������������������(8D�������������������(H��������������������(H��������������������(H��������������������(H��������������������(H��������������������(H��������������������(H�������������������(8D������������������(8D������������������(8D������������������(8D������������������(8D������������������(8D������������������(8D������������������(8D������������������������IE@8Chicago��������������������������?� ���������������� Lucida Grande���������������������� �����������������A��Geneva����������������������������� ����������������^=Chicago��������������������������?� ����������������m.Chicago��������������������������?� ���������������� Lucida Grande���������������������� ��������������������������������������������������������������������������������