Monday, November 08, 2010 at 12:04 AM.
system.verbs.builtins.mainResponder.search.server.buildPageInfo
on buildPageInfo (bodyText, title, url, lastModDate, siteName, siteUrl, flShowText, indexName=nil) {
<<Create a table in Index.root with info about this page.
<<Changes:
<<07/18/00; 10:40:21 PM by PBS
<<Build the table in memory then copy the whole table into the index.
local (t);
local (adrPageInfo = @t);
new (tableType, adrPageInfo);
<<Set URL, title and last modified date.
bundle {
adrPageInfo^.url = string.nthField (url, "@", 1);
adrPageInfo^.title = title;
adrPageInfo^.lastModDate = lastModDate};
<<Set the site name.
<<If the site name is Misc., then site name becomes the empty string.
bundle {
if string.lower (siteName) == "misc." {
siteName = ""};
adrPageInfo^.siteName = siteName};
<<Set the site URL.
adrPageInfo^.siteUrl = siteUrl;
<<If flShowText is true, then it's like Scripting News: the actual text is used,
<<rather than the title of the page.
bundle {
adrPageInfo^.showText = flShowText;
adrPageInfo^.text = "";
if flShowText {
adrPageInfo^.text = bodyText}};
<<The stored content is a stripped version of the content.
adrPageInfo^.content = mainResponder.search.utilities.compactText (bodyText);
<<The compact title is a stripped version of the title.
adrPageInfo^.compactTitle = mainResponder.search.utilities.compactText (title);
<<Copy into the index root.
table.assign (@[mainResponder.search.utilities.getIndexPath (indexName)].pageInfo.[url], adrPageInfo^);
adrPageInfo = @[mainResponder.search.utilities.getIndexPath (indexName)].pageInfo.[url];
return (adrPageInfo)}
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.