Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.commands.newPage
local (adr, adrNewPage, title, titleString); local (maxLength = html.getPref ("maxFileNameLength")); try {adr = table.getCursorAddress ()}; if not defined (adr^) { //Prompt the user for the name of a website. local (websiteName); if not (dialog.ask ("Create new page in which website?", @websiteName)) { return (false)}; adr = @websites.[websiteName]; if not defined (adr^) { //Does the website exist? dialog.alert ("Can't create a new page because the website \"" + websiteName + "\" doesn't exist."); return (false)}}; if typeOf (adr^) != tableType { //We're creating the new page in a table. adr = parentOf (adr^)}; if not dialog.ask ("Title of new page?", @title) { //Get the title from the user. return (false)}; adrNewPage = @adr^.[string.dropNonAlphas (string.innerCaseName (title))]; //Get the address for the new page. titleString = "#title \"" + title + "\"\r"; //This directive will appear at the top of the new page. if defined (adrNewPage^) { //The page already exists! edit (adrNewPage); //Open the already-existing page for editing. return (false)}; //Return false to say that a new page wasn't created. wp.newTextObject (titleString, adrNewPage); //Create the new page. edit (adrNewPage); //Open the new page for editing. return (true) //A new page was created.
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.