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

on main (adrTheme, themeName=nil,,, authorEmail=user.prefs.mailAddress, (), description=nil, siteUrl=nil) {
		<<12/30/01; 5:11:02 PM by JES
			<<Create a Theme table at adrTheme, based on templates in the specified folder, the images they reference, and the current prefs.
	bundle { //fill in some default values
		if themeName == nil {
			themeName = weblogData.prefs.title + " Theme"};
		if description == nil {
			description = "The Theme derived from " + weblogData.prefs.title};
		if siteUrl == nil {
			siteUrl = radio.upstream.getFileUrl (folder)}};
	new (tableType, adrTheme);
	radio.theme.create.textFiles (adrTheme, folder);
	radio.theme.create.images (adrTheme);
	radio.theme.create.prefs (adrTheme);
	bundle { //create info sub-table
		local (adrInfo = @adrTheme^.info);
		new (tableType, adrInfo);
		adrInfo^.author = author;
		adrInfo^.authorEmail = authorEmail;
		adrInfo^.creationDate = creationDate;
		adrInfo^.description = description;
		adrInfo^.name = themeName;
		adrInfo^.siteUrl = siteUrl};
	return (true)};

bundle { //test code
	local (adrTheme = @scratchpad.testTheme);
	local (folder = + "categories:jake'sTestChannel:");
	main (adrTheme, folder:folder);
	edit (adrTheme)}

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.