Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.weblog.oldStuff.publishStaticArchivePages
on publishStaticArchivePages (adrblog=radio.weblog.init (), minDate=nil, maxDate=nil) {
<<Publish all archive pages for a weblog. Return the number of days published.
<<9/3/01; 5:49:20 PM by JES
<<Cribbed from radio.weblog.publishArchivePages.
<<9/18/01; 11:17:27 PM by JES
<<Added two optional parameters: minDate and maxDate, used for rendering all archive pages for a given time-span.
local (adrPosts = @adrblog^.posts);
local (adrPost);
local (lastDay, lastMonth, lastYear);
local (ctDays = 0);
if minDate == nil {
minDate = date (0)};
if maxDate == nil {
maxDate = date.set (1, 1, 2040, 0, 0, 0)};
for adrPost in adrPosts {
if adrPost^.when < minDate {
continue};
if adrPost^.when > maxDate {
break};
local (day, month, year, hour, minute, second);
date.get (adrPost^.when, @day, @month, @year, @hour, @minute, @second);
if day == lastDay and month == lastMonth and year == lastYear { //same as previous day, continue
continue};
local (minDateForPage = date.set (day, month, year, 0, 0, 0));
local (maxDateForPage = date.set (day, month, year, 23, 59, 59));
radio.weblog.publishStaticPage (adrblog, maxDays:1, maxDate:maxDateForPage, minDate:minDateForPage, flHomePage:false); //publish this day
ctDays++;
lastDay = day;
lastMonth = month;
lastYear = year};
return (ctDays)}
<<bundle //test code
<<radio.weblog.publishStaticArchivePages ()
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.