Xh _ _ ,^XArial MS Sans Serif 7Times New Roman! @SArial 1bArial MS Sans Serif  I_ wpf 40_ _ prefsJm4XV_ _  '? KO [_ dq_ } authorRogers Cadenhead authorEmailrogers@cadenhead.org description homePageUrlname Workbench releaseDateversion0.1 _ w VArial _ _ w@LANDwinon 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._ _ any2._ _ <D L condition.(string.lower (path) beginsWith "/workbench/")enabledmethods: _ w _ w Arial _ _ wFLANDwinThis script runs every hour. Arial _ _ wFLANDwinThis script runs every minute. Arial _ _ wFLANDwinThis script runs every night. {w._ _  ". 9 everyHourj everyMinute everyNight{ _ w _ w^ _ w nj._ _  ' ,fileMenuradioDuser An $wowo 8 =linetext+Displaying a Post Index with Radio UserLandpathviewPostIndex.wsfHello, World!"Arial _ wlwPLANDwinWorkbench Update Post Indexes Kp Y\Arial |pJ$wowo  linetextWorkbench.rootpath index.wsf Uـmw( $wowo 8 =linetext+Displaying a Post Index with Radio UserLandpathviewPostIndex.wsf~ 8_ _  !- 2> R backgroundb callbacks mmenu BstatusCenterMessageۀArial _ _ wDLANDwinThis script runs in its own thread. loop //loop until the application quits Add your code here. thread.sleepFor (10) //sleep for ten seconds TP._ _  ctenabledscript uTtArial FF2LANDwinon finalFilter (pta) pta^.renderedText = string.replace (pta^.renderedText, "[[title]]", "") return (true) ����������������������������� ���-���� MS Sans Serif��������������������� ��������������Eu`Q�������2LAND�������win������������on firstFilter (adrPageTable) return (true) �����������������������*��[���� MS Sans Serif��������������������� ��������������Eu7a���m���L�3*lLAND�������win������������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���������V MS Sans Serif��������������������� �����������P�E��$����������������������������E�������A������7_ �������� ����url���http://127.0.0.1/Workbench/���E�+������L����������8H������VArial����������������������������� �����������������������������������������������n����������W����������������������space���/GIFfGIF89a�������!����,�������D�;��VArial����������������������������� ����������������������������������������������+������������V��������������� ������� �������"�������+ ����0���: ����C���L ����Q���[ ����aalink���008000bgcolor���FFFFFFflRenderlink���0000FFspaceGif���spacetext���000000vlink���800080��VArial����������������������������� ������������������������������������������������d��������<��������Arial����������������������������� ��������������FF�������LAND�������win������������<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>{title} {metaTags ()} {bodyXb+kn6k!kEL&tX dn8>VArial nt000000060001001777AA00000000005A&[Aʻ   #/ ;T ^d ko y}    (, <A IQ [d ny  aimnamebase_refsameblurbA font_familyTimes New Roman,serif font_size12gender icqnumber link_days3location real_namesmall_font_familyTimes New Roman,serifsmall_font_size10theme1timezone0titles0 underlines1 user_emailuser_email_pref0user_ID1108 user_namercade user_passzoog100user_web'zipcode32084A .Arial xГwDLANDwinon user_web() return (radio.weblog.getUrl()) WL$   user_namercade user_passzoog100TL.__  /; IrandomTextLink'7upstreamPostIndexes0F viewPostIndex6` V7wSB  * 2> EQ [g nz #filters#ftpSite#imagesz#prefs7 #template#toolsindexcVVerdana ??8??8 _ w 8t_ _  (4 GS fr   WorkbenchDatav WorkbenchInfoWorkbenchNodeTypes8_bgt  +7 KW epostFormGateway randomTextLink'7upstreamPostIndexes0F viewPostIndexVZ(L.ϻVȼ  # +loginpost~publishGmLV_ _  '? Ku _ authorRogers Cadenhead authorEmailrogers@cadenhead.org description&A collection of useful Radio utilities homePageUrl(http://www.cadenhead.org/workbench/code/name Workbench releaseDateversion0.18kE~_ _  $0 >J ]i |   4 WorkbenchE WorkbenchDatav WorkbenchInfo |WorkbenchNodeTypesWorkbenchResponderxWorkbenchRpcHandlersWorkbenchSoapHandlers>WorkbenchSuite WorkbenchThreadWorkbenchWebsiteWorkbenchWindowTypesHVArial IVArial IWorkbenchData WorkbenchInfo WorkbenchNodeTypes WorkbenchResponder WorkbenchRpcHandlers WorkbenchSoapHandlers WorkbenchSuite background callbacks menu statusCenterMessage WorkbenchThread ct enabled script WorkbenchWebsite WorkbenchWindowTypes l0rl0rl0rl0rl0rl0rl0rl~l~l~l~l0rlll'8!'EL&tX urArial ׉_m LANDwinon randomTextLink() 5/11/03; 11:08:43 AM by Rogers Cadenhead http://www.cadenhead.org/workbench Based on the randomLink script by Peter Backx http://radio.weblogs.com/0118796/stories/2003/02/19/randomLinkForRadioUserland.html Modified to support text links instead of pictures local (s = "", pc = file.getPathChar ()) local (f = user.radio.prefs.wwwfolder + pc + "gems" + pc + "randomtextlinks.xml") local (table) xml.compile (file.readWholeFile (f), @table) local (adrlinks=xml.getAddress(@table, "links")) local (ltable=xml.getAddressList(adrlinks, "item")) local (i = random(1,sizeof(ltable))) local (name = xml.getAttributeValue(ltable[i],"name")) local (url = xml.getAttributeValue(ltable[i],"pagename")) s=""+name+"" return s Workbench.randomTextLink() "End of the World Predictions" m000000060001001777AA00000000005A0000000010017101904900218000006000600329200-10329273FFFF010E0000100000031000000010E840329273E048E000163293000020000001200000000E,#title "Home" 0004000008S _ w^  , :F T` s   )5 J #glossaryE Workbench;r WorkbenchDatav WorkbenchInfoLWorkbenchNodeTypesWorkbenchResponderxWorkbenchRpcHandlersWorkbenchSoapHandlers>WorkbenchSuiteI2WorkbenchThreadWorkbenchWebsiteAWorkbenchWindowTypesHVArial  8gRM0Arial 0-_ w!wPLANDwin#glossary Workbench internal createPostIndexes updatePostIndexes viewCategories viewPostIndex WorkbenchData prefs flPostIndexesCreated WorkbenchInfo author authorEmail description homePageUrl name releaseDate version WorkbenchNodeTypes item #1 WorkbenchResponder condition enabled methods any WorkbenchRpcHandlers item #1 WorkbenchSoapHandlers item #1 WorkbenchSuite background everyHour everyMinute everyNight callbacks fileMenu radio publishItem user menu statusCenterMessage WorkbenchThread ct enabled script WorkbenchWebsite #filters finalFilter firstFilter pagefilter #ftpSite url #images space workbench #prefs alink bgcolor flRender link spaceGif text vlink #template #tools index viewCategories viewPostExample viewPostIndex WorkbenchWindowTypes item #1  jx j jx j j j jP j j j j j j jx j ji jt jx j j j j j j j j j j j j j j j jx j j j jx j jj jj jj jȼ jx j jpj jx j jj jx j jPj j(j j(j j(j jPj j`i j`i ji j`i jPj jPj jx j jj jj jj jx j j@j jkf jkf jkf j@j j]f j@j jj jj j@j jX_f jX_f jX_f jX_f jX_f jX_f jX_f j@j j@j j@j j@j j@j j@j jx j jiSOL$wQEwQE  linetextHomepath index.wsfO.8_wq  '3 BN \internal updatePostIndexes-viewCategories) At some point, this will be part of a Workbench Radio tool. http://www.cadenhead.org/workbench local (htmltext = "") local (f = file.folderFromPath (Frontier.getProgramPath ()) + "Data Files" + file.getPathChar() + "weblogData.root") local (adrtable = @[f].weblogData.categories) for i = 1 to sizeof (adrtable^) local (adrcat = @adrtable^[i]) if adrcat^.flRenderHtml local (name = adrcat^.displayName) local (url = adrcat^.htmlUrl) htmltext = htmltext + preText + "" + name + "" + postText return htmltext Workbench.viewCategories("links") ^"Ut7wo  * 2> EQ [g nz #filters#ftpSite#imagesw7#prefs7 #template#toolsindexi\viewCategoriesdviewPostExampleqQ viewPostIndexVVerdana ??85 5 5% 58рd 000000060001001777AA00000000005B0000000010017101804904218000006000600373200-10373273FFFF0102F00001000000350000000108646Arial wp¼wq/hDLANDwinlog.add("Workbench", "Tool initialized", clock.now()) d\9w Workbench.rootvVArial h.root"].WorkbenchWebsite.["#images"].["stylesheet.css"]xX["C:\\Program Files\\Radio UserLand\\Tools\\Workbench.root"].WorkbenchWebsite.stylesheetv+Displaying a Post Index with Radio UserLand+Displaying Category Links in Radio UserLandG!Example Output of viewPostIndex()GsHome;Workbench.rootVArial \;$wo޼wo . 3linetext!Example Output of viewPostIndex()pathviewPostExample.wsfv1 $woͼwo 8 =linetext+Displaying Category Links in Radio UvGs;OL puH eJ Ij JCd  x=cLbd+Lt8X 8_ ww  !- 2> R backgroundb callbacks mmenu BstatusCenterMessage~*usCenterMessagej wKC  yQx=csbdj73_ wwIflPostIndexesCreated7C$wowo  linetextWorkbench.rootpath index.wsfYC$wnwn 8 =linetext+Displaying Category Links in Radio UserLandpathviewCategories.wsf iArial _ wmwPLANDwinWorkbench.updatePostIndexes() dialog.notify("All post indexes updated. They should be upstreamed soon.") ) pu_ w^  , :F T` s   )5 J #glossaryE Workbench;r WorkbenchDatav WorkbenchInfoLWorkbenchNodeTypesWorkbenchResponderxWorkbenchRpcHandlersWorkbenchSoapHandlers>WorkbenchSuiteI2WorkbenchThreadWorkbenchWebsiteAWorkbenchWindowTypesHV Kg5 Arial _ wxwPLANDwin#glossary Workbench WorkbenchData WorkbenchInfo WorkbenchNodeTypes WorkbenchResponder WorkbenchRpcHandlers WorkbenchSoapHandlers WorkbenchSuite WorkbenchThread WorkbenchWebsite #filters #ftpSite #images #prefs #template #toGIFfGIF89a^%Ͽppp```PPP@@@000 ,^% dihlp,tmx|pH,Ȥrl:ШtJZجvz`^@ `C:' <؍&c6z@uvEus< o 3d}+g/ % 5 5 5% 58˰ 3 + 6 4*,$ #5о7, ꆾ} a,{8B6c(Ŋm j sTPr6,8+r:i<,PWMj]tg_5:Es]}AyvAļK{jm4-,03a+dU0}.{V^( p%i J4$?]C,uɰ%p` aQ5 wa7|WPm Lv/8b=! )`D[s,Ø IB"/<#҈E8Of@+ , ' Q$`" h ZSS-d !76$'(@jx25H9b D `@7872Lt;pj/Q)lXؠfu` *w" T3$~vTb6xqC!( ,1Ϲ4BMvS}Dʃ\C굯Pp (,g?RHW[ba3|lZbNk֘@<Dzkڰu*D1V `4ZT簲b 5=RAmj2%>FެK1" if (itemClass != "") divtag = "
" local (cMonth = "") for i = sizeof (adrtable^) downto 1 local (adrpost = @adrtable^[i]) if catname == "" if adrpost^.flNotOnHomePage continue else if !defined (adrpost^.categories.[catname]) continue local (id = number (nameof (adrpost^) ) ) local (when = adrpost^.when) local (year = date.year (when) ) local (month = string.padWithZeros (date.month (when), 2 )) local (day = string.padWithZeros (date.day (when), 2 )) local (ymd = year + "/" + month + "/" + day) if (htmltext == "") htmltext = "

" + year + "/" + month + ultag + divtag else if (cMonth != month) htmltext = htmltext + "" + year + "/" + month + ultag + divtag cMonth = month local (title = "") if defined (adrpost^.title) title = adrpost^.title else title = when local (url = radio.weblog.getUrl() ) if (catname != "") if defined (adrblog^.categories.[catname].htmlUrl) url = adrblog^.categories.[catname].htmlUrl htmltext = htmltext + "" + "" + title + "" + "" htmltext = htmltext + "

" return htmltext Lb000000060001001777AA00000000005B00000000100171019049002180000060006003AE200-103lfGIF89a^%Ͽppp```PPP@@@000 ,^% dihlp,tmx|pH,Ȥrl:ШtJZجvz`^@ `C:' <؍&c6z@uvEus< o 3d}+g/ % 5 5 5% 58˰ 3 + 6 4*,$ #5о7, ꆾ} a,{8B6c(Ŋm j sTPr6,8+r:i<,PWMj]tg_5:Es]}AyvAļK{jm4-,03a+dU0}.{V^( p%i J4$?]C,uɰ%p` aQ5 wa7|WPm Lv/8b=! )`D[s,Ø IB"/<#҈E8Of@+ , ' Q$`" h ZSS-d !76$'(@jx25H9b D `@7872Lt;pj/Q)lXؠfu` *w" T3$~vTb6xqC!( ,1Ϲ4BMvS}Dʃ\C굯Pp (,g?RHW[ba3|lZbNk֘@<Dzkڰu*D1V `4ZT簲b 5=RAmj2%>FެK1Release: 0.1 (beta)

Workbench.root is a set of easy-to-use scripts that enhance the functionality of a Radio UserLand weblog. It was developed by Rogers Cadenhead and can be discussed on his Workbench weblog.

Scripts:

00040000000A000000020265000050000000A0000000202650000600000032000000010F310FFFF0C00000 20 000700000019000000010201E00008000000AF0000000140,Geneva40,10A0304E4400010400010000900000015000000020E927F0E927F000A000000170000000231592733159273000B00000005000000020000C0000002900000002012FA696026312FA696110000F0000005200000000400 10 4,appn4,send4,84,&4,84,34,800130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAPļw^cc\ HJ IjH JCd  ypx=cLbd+[+LtX C:' <؍&c&FFFF000000060001001777AA00000000005B0000000010017101804904218000006000600393200-10393273FFFF0104E0000100000033000000010A5840393273A5038E00083393300002000000AA00000000A5,#title "Example Output of viewPostIndex()"

<%Workbench.viewPostIndex()%>

Here's what this script produces on your weblog:

{Workbench.viewPostIndex()} 000400000009000000020A70000500000009000000020A70000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000B10000000140,Arial40,404E440003210400080101000090000001500000002093174093174000A0000001500000002393273393273000B00000005000000020000C00000012000000014D33D430000F0000005200000000400 10 4,77A4,www\4,77A4,77A4,64,77A4,14600130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAwo0woYOH&CGs$wX@wX@ e jlinetextX["C:\\ProgCYU$ww  linetextWorkbench.rootpath index.wsfY-s$wW9Cspace/GIFfGIF89a!,D; workbenchPLVArial c`7wT  ,YU$wWOwWO  linetextWorkbench.rootpath index.wsfDx=$wWqwWq y ~linetextl["C:\\Program Files\\Radio UserLand\\Tools\\Workbench.root"].WorkbenchWebsite.["#images"].["stylesheet.css"]path#images/stylesheet.css.wsfȀpx=000000060001001777AA000000000059000000001001710180490421800000600060031B3200-1031B3273FFFF01000010000003B00000001060E4084031B32735F6038C0001A331B39000002000006140000000060E,#flRender false body { fontGIFfGIF89a^%Ͽppp```PPP@@@000 ,^% dihlp,tmx|pH,Ȥrl:ШtJZجvz`^@ `C:' <؍&c6z@uvEus< o 3d}+g/ % 5 5 5% 58˰ 3 + 6 4*,$ #5о7, ꆾ} a,{8B6c(Ŋm j sTPr6,8+r:i<,PWMj]tg_5:Es]}AyvAļK{jm4-,03a+dU0}.{V^( p%i J4$?]C,uɰ%p` aQ5 wa7|WPm Lv/8b=! )`D[s,Ø IB"/<#҈E8Of@+ , ' Q$`" h ZSS-d !76$'(@jx25?Arial _ wvw0LANDwinThis script returns a string which appears in the Status Center on the Radio UserLand home page. if (!WorkbenchData.prefs.flPostIndexesCreated) Workbench.internal.createPostIndexes() WorkbenchData.prefs.flPostIndexesCreated = true return ("Scripts that extend Radio UserLand. Version " + WorkbenchInfo.version + ".") .<wrwv6 createPostIndexesXVArial 3OP3OPĀeJArial _ wvw8LANDwinvYU$wybwyb  linetextWorkbench.rootpath index.wsf~z$wygwyg 8 =linetext+Displaying a Post Index with Radio UserLandpathviewPostIndex.wsfe93V_ w{  'B Nt w^ authorRogers Cadenhead authorEmailworkbench@cadenhead.org description"Scripts that extend Radio UserLand homePageUrl(http://www.cadenhead.org/workbench/code/name Workbench releaseDateversion0.1.19x=$w]fw]f 8 ) +Arial wtwuDhHLANDwinWorkbench.createPostIndexes() if (defined(  FFFF000000060001001777AA00000000006500000000100171019049042180000060006003203200-101803203273FFFF01028D000010000003A000000010310408403203273310038E0001F332033000020000031600000000310, Workbench.root

Workbench: Programming and publishing news and comment

 

Workbench.root

{bodytext}

More scripts

 

Copyright 2004 Rogers Cadenhead. 00040000000A000000020312000050000000A0000000203120000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000B10000000140,Arial40,404E44000321040008010100009000000170000000201C72EB01C72EB000A000000170000000232032733203273000B00000005000000020000C0000001A0000000128D2561396E262C0000F0000005200000000400 10 4,77A4,14,4,d4,4,4,_00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAwSBw[ -jhtml">About Me
Send an E-Mail
RSS Feed
Weblog Archive

 

Visit Workbench

<%title%>

<%bodytext%> <%radio.macros.commentOnThisPage()%>
<%radio.macros.editThisPageButton()%> <%radio.macros.staticSiteStatsImage()%>

Copyright <%year%> Rogers Cadenhead. Last updated <%radio.macros.getLastUpdate()%>. 00040000000A000000020B3E000050000000A000000020B3E0000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000AF0000000140,Arial40,404E440001040008010100009000000170000000201E330701E3307000A000000170000000234A327334A3273000B00000005000000020000C00000030000000022B02A11243205302C912412A20FA0000F0000002100000000400 10 00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAwSBwS} <7 000000060001001777AA00000000005B0000000010017101804904218000006000600393200-10393273FFFF0104E0000100000035000000010A540840393273A5038E00083393300002000000AA00000000A5,#title "Example Output of viewPostIndex()"

<%Workbench.viewPostIndex()%>

Here's what this script produces on your weblog:

{Workbench.viewPostIndex()} 000400000009000000020A70000500000009000000020A70000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000AF0000000140,Arial40,404E4400010400080101000090000001500000002097178097178000A0000001500000002393273393273000B00000005000000020000C00000013000000014E2C24340000F0000002100000000400 10 00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAwo0woYSLr0-10000000060001001777AA00000000006500000000100171019049002180000060006003159200-103E03159273FFFF0101GIFfGIF89a^%Ͽppp```PPP@@@000 ,^% dihlp,tmx|pH,Ȥrl:ШtJZجvz`^@ `C:' <؍&c6z@uvEus< o 3d}+g/ % 5 5 5% 58˰ 3 + 6 4*,$ #5о7, ꆾ} a,{8B6c(Ŋm j sTPr6,8+r:i<,PWMj]tg_5:Es]}AyvAļK{jm4-,03a+dU0}.{V^( p%i J4$?]C,uɰ%p` aQ5 wa7|WPm Lv/8b=! )`D[s,Ø IB"/<#҈E8Of@+ , ' Q$`" h ZSS-d !76$'(@jx25H9b D `@7872Lt;pj/Q)lXؠfu` *w" T3$~vTb6xqC!( ,1Ϲ4BMvS}Dʃ\C굯Pp (,g?RHW[ba3|lZbNk֘@<Dzkڰu*D1V `4ZT簲b 5=RAmj2%>FެK1Workbench.viewCategories()

This script displays a list of links to each of a weblog's categories that is being rendered as HTML. Other categories are ignored.

To use the script on a Web page or a template such as #homeTemplate.txt, at the spot where the category links should appear, add this macro:

<%Workbench.viewCategories()%>

Here's the output of that macro for your weblog:

{Workbench.viewCategories()}

The macro displays each category link separated by BR tags. It can be called with three parameters, in this order:

  1. class, the name of the CSS class for each hyperlink (default: no class)
  2. preText, the HTML and/or text to display before each hyperlink (default: none)
  3. postText, the HTML and/or text to display after each hyperlink (default: <BR>)

An example:

<%Workbench.viewCategories("sidebarlink", "<li>", "<br>")%>

Output of that macro for your weblog:

{Workbench.viewCategories("sidebarlink", "

  • ", "
    ")}

    00040000000A000000020473000050000000A0000000204730000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000B10000000140,Arial40,404E44000321040008010100009000000170000000201C72EB01C72EB000A000000170000000232632733263273000B00000005000000020000C0000002D00000002027411FAB047127411FAB25170000F0000005200000000400 10 4,4,4,4,4,77A4,V4,00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAwZ w_g q0201800008000000AF0000000140,Arial40,404E440001040008010100009000000170000000201E330701E3307000A000000170000000233F327333F3273000B00000005000000020000C0000001600000001C2D2643516B0000F0000002100000000400 10 00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAwZ wZF F000000060001001777AA00000000005D00000000100171018049042180000060006003573200-103573273FFFF01077000010000003#l? Arial wrwtqX)DLANDwinon createPostIndexes() 3/12/04; 2:03:44 PM by RC Create new posts.indexes in www folder and each categories subfolder on createNewPostIndex(folder) Create a new posts.txt file in folder, if folder contains index.txt Does not overwrite an existing posts.txt file if (!file.exists(folder + pc + "posts.txt")) if (file.exists(folder + pc + "index.txt")) local (posttext = "#title \"Index to Weblog Entries\"\n\n<%Workbench.viewPostIndex()%>\n") file.writeWholeFile(folder + pc + "posts.txt", posttext) local (pc = file.getPathChar() ) local (wwwroot = file.folderFromPath(Frontier.getProgramPath()) + pc + "www") createNewPostIndex(wwwroot) fileloop (fileref in wwwroot + pc + "categories" + pc) if (file.isFolder(fileref)) createNewPostIndex(fileref) return true Workbench.internal.createPostIndexes() #vGIF89a^%Ͽppp```PPP@@@000 ,^% dihlp,tmx|pH,Ȥrl:ШtJZجvz`^@ `C:' <؍&c6z@uvEus< o 3d}+g/ % 5 5 5% 58˰ 3 + 6 4*,$ #5о7, ꆾ} a,{8B6c(Ŋm j sTPr6,8+r:i<,PWMj]tg_5:Es]}AyvAļK{jm4-,03a+dU0}.{V^( p%i J4$?]C,uɰ%p` aQ5 wa7|WPm Lv/8b=! )`D[s,Ø IB"/<#҈E8Of@+ , ' Q$`" h ZSS-d !76$'(@jx25H9b D `@7872Lt;pj/Q)lXؠfu` *w" T3$~vTb6xqC!( ,1Ϲ4BMvS}Dʃ\C굯Pp (,g?RHW[ba3|lZbNk֘@<Dzkڰu*D1V `4ZT簲b 5=RAmj2%>FެK1 0) file.setModified(fileref, clock.now() ) Workbench.internal.createPostIndexes() local (pc = file.getPathChar() ) local (wwwroot = file.folderFromPath(Frontier.getProgramPath()) + pc + "www") scanFolder(wwwroot) fileloop (fileref in wwwroot + pc + "categories" + pc) if (file.isFolder(fileref)) scanFolder(fileref) Workbench.updatePostIndexes() true ories" + pc) if (file.isFolder(fileref)) scanFolder(fileref) Workbench.updatePostIndexes() true txt", "jargonWatch" ) touchFile ( "posts.txt", "javaTips" ) touchFile ( "posts.txt", "opmlLinkPublisher" ) touchFile ( "posts.txt", "orlandoVacationer" ) touchFile ( "posts.txt", "radioUserlandTips" ) touchFile ( "posts.txt", "salonBlogTips" ) touchFile ( "posts.txt", "sports" ) touchFile ( "posts.txt", "xpNetworking" ) if !defined (user.scheduler.overnight.upstreamPostIndexes) user.scheduler.overnight.upstreamPostIndexes = @Workbench.upstreamPostIndexes return true Workbench.upstreamPostIndexes() true huFFFF000000060001001777AA00000000006500000000100171018049042180000060006003253200-109003253273FFFF0105EC000010000003C0000000107E0408403253273781038C000243325327000002000007E6000000007E0,#title "Displaying a Post Index with Radio UserLand"

    Workbench.viewPostIndex()

    This script displays an index of weblog posts for your entire weblog or any category page, as you can see from two pages on my weblog: Workbench post index and Workbench Radio UserLand Tips post index.

    To use the script on a Web page or a template such as #homeTemplate.txt, at the spot where the category links should appear, add this macro

    <%Workbench.viewPostIndex()%>

    Example output

    Weblog posts are displayed as unnumbered lists divided by month, each linking to the post's permalink. If a post has a title, it is used as the title of the link. Otherwise, the post's timestamp is used.

    The script also can be called with parameters to define a CSS style for the list headings and list items. The following example designates the heading style as "indexhead" and the item style as "indexitem":

    <%Workbench.viewPostIndex("indexhead", "indexitem")%>

    If a #renderedFileExtension directive is present on the page (or defined in a #prefs.txt file), that extension will be used on each permalink instead of the default (html).

    The script can be called on any text file in Radio's main www folder or a category's folder.

    When you installed Workbench.root, the tool created example post index pages that may be suitable for your weblog. Each one is named posts.txt, and you should be able to find them in your www folder and each categories folder that's published as HTML. They are upstreamed to the Web as posts.html, as you can see by checking your Events log.00040000000A0000000207E2000050000000A0000000207E20000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000B10000000140,Arial40,404E44000321040008010100009000000170000000201C32E701C32E7000A000000170000000232532733253273000B00000005000000020000C0000001C000000015EC5E91EA15E1E1750000F0000005200000000400 10 4,77A4,77A4,77A4,64,84,77A4,14600130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAw_Vw~ y have to do this once -- it sets itself up to run nightly.)

    At some point, these scripts and the viewCategories() script will be bundled into a Radio tool that's easier to deploy.

    00040000000A000000020D15000050000000A000000020D150000600000031000000010D30FFFF0A00000 20 000700000019000000010201800008000000AF0000000140,Arial40,404E440001040008010100009000000170000000201E330701E3307000A000000170000000234B327334B3273000B00000005000000020000C0000001A0000000169968F2371B23500000F0000002100000000400 10 00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAw_VwaQ 000000060001001777AAw_Vw` 404E440001040008010100009000000170000000201E330701E3307000A000000170000000236332733633273000B00000005000000020000C00000018000000014FB4A619C1DFC0000F0000002100000000400 10 00130000007E00000000DA91F8CE1C1D1E1F7F1B044,-..'"FFFF0FFFF0FFFE000000060001001777AAw_Vw`}u