Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.directory.stripTitle
on stripTitle (pta=nil) {
<<Changes
<<6/5/02; 2:03:54 PM by JES
<<Removed debugging code.
<<6/4/02; 2:20:18 PM by JES
<<Respect macroStartCharacters and macroEndCharacters, if defined in the page table.
<<5/10/02; 4:15:57 PM by JES
<<Cribbed from manilaSuite.html.stripTitle.
<<04/24/00; 3:17:52 PM by PBS
<<Strip the title so it doesn't appear in the text of a page. It will still appear in the window title.
<<Broken out from manilaSuite.html.stripTitleFromTemplate
if pta == nil {
pta = html.getPageTableAddress ()};
if defined (pta^.template) { //when debugging, template is likely not defined
case typeOf (pta^.template) { //convert template to a string if necessary
wpTextType;
outlineType {
table.assign (@pta^.template, string (pta^.template))}};
if typeOf (pta^.template) == stringType {
local (s = string.lower (pta^.template));
local (mstart = "{", mend = "}");
if defined (pta^.macroStartCharacters) {
mstart = pta^.macroStartCharacters};
if defined (pta^.macroEndCharacters) {
mend = pta^.macroEndCharacters};
local (titlemacro = mstart + "title" + mend);
local (homepagetitlemacro = mstart + "homePageTitle" + mend);
local (ixCloseTitle = string.patternMatch ("</title>", s));
if ixCloseTitle > 0 {
local (ixTitle = string.patternMatch (titlemacro, s));
if ixTitle < ixCloseTitle {
pta^.template = string.replace (pta^.template, titlemacro, homepagetitlemacro, false)}};
pta^.template = string.replaceAll (pta^.template, titlemacro, "", false); //remove {title} from template
pta^.template = string.replace (pta^.template, homepagetitlemacro, titlemacro, false)}}; //{title} should remain in head section, so there's a title in the window bar
pta^.flTitleOnPage = false; //a special boolean used by RCS to prevent the title from appearing on the page
return (true)}
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.