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

system.verbs.builtins.radio.theme.create.main

on main (adrTheme, themeName=nil, folder=user.radio.prefs.wwwFolder, author=user.prefs.name, authorEmail=user.prefs.mailAddress, creationDate=clock.now (), description=nil, siteUrl=nil) {
	<<Changes
		<<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 = user.radio.prefs.wwwFolder + "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.