Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.processMacros
on processMacros (s, plainprocessing=false, adrPageTable=nil) {
<<Process HTML macros.
<<Old code:
<<In order to apply double-byte language support,
<<this script should check for the useKernelCode pref.
<<If true, call the kernel verb.
<<If false, call your own version of the below code.
<<Note: you *must* replace the string.processHtmlMacros call
<<with your own version, as string.processHtmlMacros has different behavior
<<than it used to.
<<local (adrcallback = @html.data.processMacrosCallback)
<<local (flaps = html.getPref ("autoParagraphs"))
<<local (activeURLs = html.getPref ("activeURLs"))
<<local (clayCompatibility = html.getPref ("clayCompatibility"))
<<if plainprocessing
<<Sometimes we don't want autoparagraphs, activeURLs, or clayCompatibility.
<<In a pageheader, for instance.
<<Tuesday, January 27, 1998 at 10:06:05 AM by PBS
<<flaps = false
<<activeURLs = false
<<clayCompatibility = false
<<s = string.processHtmlMacros (string (s), flaps, activeURLs, clayCompatibility, adrcallback)
<<if html.getPref ("isoFilter", html.data.adrPageTable)
<<local (adrtable)
<<case sys.os ()
<<"MacOS"
<<adrtable = @html.data.iso8859.mac
<<else
<<adrtable = @html.data.iso8859.win
<<s = string.iso8859encode (s, adrtable) <<convert special characters to HTML equivalents
<<return (s)
<<Security fix 1/13/99:
<<Escaped curly braces are converted to html entities to prevent evaluation.
<<PBS 1/18/99: Do the fix in the glue only if this is not Frontier 5.1.6 or greater.
<<The kernel is now stricter about escaping macros.
if date.versionLessThan (frontier.version (), "5.1.6") { //PBS 1/18/99
s = string.replaceAll (s, "\\{", "{")}; //PBS 1/13/99: security fix
if adrPageTable == nil {
adrPageTable = html.getPageTableAddress ()};
on kernelcall (s, plainprocessing, adrPageTable) {
kernel (html.processmacros)};
return (kernelcall (s, plainprocessing, adrPageTable))}
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.