Monday, November 08, 2010 at 12:00 AM.
scripting2Suite.server.buildDayPage
on buildDayPage (username, theday) { <<Changes <<6/6/10; 8:57:35 AM by DW <<Created. local (adrdata = scripting2suite.inituser (username), adrcal = @adrdata^.calendar); local (adrday = mainresponder.calendar.getdayaddress (adrcal, theday), htmltext, path); local (whenLastSave = date (0)); bundle { //get htmltext local (indentlevel = 0, i); htmltext = "\r\r"; on add (s) { htmltext = htmltext + string.filledstring ("\t", indentlevel) + s + "\r\n"}; on decode (s) { return (xml.entitydecode (s, true))}; for i = sizeof (adrday^) downto 1 { local (adrstory = @adrday^ [i]); if scripting2Suite.server.isStoryVisible (adrstory) { add (scripting2Suite.server.getStoryText (adrstory, flComments:adrdata^.prefs.flDisqusComments)); if adrstory^.whenLastSave > whenLastSave { whenLastSave = adrstory^.whenLastSave}}}; htmltext = scripting2Suite.server.glossarySubstitution (@adrdata^.prefs.glossary, htmltext); htmltext = scripting2Suite.server.glossarySubstitution (@scripting2Suite.data.systemGlossary, htmltext)}; <<webbrowser.displaytext (htmltext) bundle { //run it through the template local (t); new (tabletype, @t); t.whenLastUpdate = whenLastSave; t.title = date.longstring (theday); <<t.calendar = "" <<t.nextPrevMonths = "" scripting2Suite.server.setupMacrosTable (username, @t); //add common elements t.crumbTrail = scripting2Suite.server.getCrumbTrail (t.baseurl, theday, fldaybold:true); //6/8/10 by DW bundle { //set up calendar scripting2Suite.server.getCalendarText (username, theday, t.baseurl, @t.calendar, @t.nextPrevMonths)}; <<local (pt, pta = @pt); new (tabletype, pta); html.setpagetableaddress (pta) <<local (myt = "<font size=\"+0\"><center><b>***</b></center></font>") <<local (dnt = "<font size=\"-2\" color=\"gray\"><center>***</center></font>") <<local (dt = "<font size=\"-2\" color=\"black\"><center>***</center></font>") <<t.calendar = mainresponder.calendar.draw (@adrdata^.calendar, t.baseurl, colWidth:19, rowHeight:10, tableBorder:0, monthYearTemplate:myt, dayNameTemplate:dnt, dayTemplate:dt, curdate: adrstory^.postdate) <<t.nextPrevMonths = mainresponder.calendar.getlinks (@adrdata^.calendar, adrstory^.postdate, t.baseurl, date ("4/1/97")) bundle { //set nextPrev local (nextlink = "Next", prevlink = "Previous", nexturl = "", prevurl = ""); on getdaylink (d) { return (t.baseurl + file.getdatepath ("/", d, false) + ".html")}; try { local (nextday = mainResponder.calendar.getNextDay (adrcal, date.tomorrow (theday))); local (adrnext = mainresponder.calendar.getdayaddress (adrcal, nextday)); nexturl = getdaylink (mainResponder.calendar.getAddressDay (adrnext))}; try { local (prevday = mainResponder.calendar.getPreviousDay (adrcal, date.yesterday (theday))); local (adrprev = mainresponder.calendar.getdayaddress (adrcal, prevday)); prevurl = getdaylink (mainResponder.calendar.getAddressDay (adrprev))}; if prevurl != "" { prevlink = "<a href=\"" + prevurl + "\">" + prevlink + "</a>"}; if nexturl != "" { nextlink = "<a href=\"" + nexturl + "\">" + nextlink + "</a>"}; t.nextPrev = prevlink + " / " + nextlink}; bundle { //do simple replacements on the blogroll, 6/7/10 by DW local (tsmall); new (tabletype, @tsmall); tsmall.calendar = t.calendar; tsmall.nextPrevMonths = t.nextPrevMonths; t.blogroll = string.multiplereplaceall (t.blogroll, @tsmall, false, "<%", "%>")}; t.bodytext = htmltext; htmltext = string.multiplereplaceall (string (adrdata^.prefs.hometemplate), @t, false, "<%", "%>")}; bundle { //upload it local (path = file.getdatepath ("/", theday, false) + ".html"); return (scripting2Suite.writeStaticFile (username, path, htmltext))}}; bundle { //test code local (d = date ("June 8, 2010")); webbrowser.openurl (buildDayPage ("davewiner", d))}
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.