Monday, November 08, 2010 at 12:04 AM.


	<<8/7/08; 5:10:04 AM by DW
		<<Simplified the catalog listing, tweaked the layout.
	<<7/30/08; 2:23:51 PM by DW
		<<DIsplay introductory text before the catalog table.
	<<7/30/08; 11:55:14 AM by DW
		<<Minor cosmetic adjustments for slightly less screen real estate.
	<<7/29/08; 10:50:08 AM by DW
local (adrtoolsInfo = opmlEditor.getToolsInfo ());
<<scratchpad.toolsInfo = toolsinfo
local (htmltext = "", indentlevel = 0);
on add (s) {
	htmltext = htmltext + string.filledstring ("\t", indentlevel) + s + "\r"};
add ("<table><tr><td>" + string ( + "</td></tr></table><br>");
add ("<table cellpadding=\"5\">"); indentlevel++;
bundle { //column headers
	add ("<tr>"); indentlevel++;
	add ("<td align=\"right\"><b>Name</b>  </td>");
	add ("<td><b>Description</b></td>");
	add ("<td align=\"right\"><b>Date</b></td>");
	add ("</tr>"); indentlevel--};
local (adrtool, urlInstall);
for adrtool in adrtoolsInfo {
	add ("<tr>"); indentlevel++;
	add ("<td valign=\"top\" align=\"right\"><a href=\"" + adrtool^.toolInfo.homePageUrl + "\">" + (nameof (adrtool^) - ".root") + "</a>  </td>");
	add ("<td valign=\"top\">" + adrtool^.toolInfo.description + "</td>");
	add ("<td valign=\"top\" align=\"right\">" + date.shortstring (adrtool^.toolInfo.releaseDate) + "</td>");
	urlinstall = + string.urlencode (nameof (adrtool^));
	add ("<td valign=\"top\"><a href=\"" + urlInstall + "\">" + "Install" + "</a></td>");
	add ("</tr>"); indentlevel--};
add ("</table>"); indentlevel--;
return (htmltext)

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.