Just a reminder for myself for a generic string replacement plugin ...
Rationale: put formatting rules in an editable topic (let call it
WebPatterns and
TWikiPatterns)
Implementation:
- at plugin initialization:
- collect all patterns from the topics (first TWikiPatterns, then WebPatterns)
- avoid overriding patterns ( a' la FINALPREFERENCES )
- compile them as pattern variables
- if needed, for the efficiency-concerned, compile at runtime a subroutine that does all replacements
- Instantiate a Safe container (see the Safe CPAN module) enabling some TWiki functions and vars:
- &internalLink(), %handleIncludeFile() ...
- $web, $topic, $username ...
- in the outsidePreHandler apply (eval) the replacements inside the Safe container
Desirable side effects:
- if the pattern specification is verbose enough we obtain automagically its documentation
Examples:
- Double underscore -> bold italic
- Old syntax of INCLUDE tag:
- Pattern OldIncludePattern = /%INCLUDE:"([^%\"]*?)"%/&handleIncludeFile( $1, $topic, $web, $user )/geo
PS: I have used
WikiNames for patterns so that we can document their syntax and examples
--
AndreaSterbini - 20 Feb 2001
I'm almost done with a dumb version of the above idea, you can just define patterns with the syntax
- Replace <pattern> with <replacement>
Where:
- the pattern is a normal regexp
- the replacement is just a string where the symbols $1 .. $9 are replaced with the corresponding matching parts in the pattern.
--
AndreaSterbini - 21 Mar 2001
moved here from elsewhere by MattWilkie on 07 June 2004:
[...] will allow a corporation to enforce language censorship rules on a TWiki server. You could also, in theory, use it to squash those people that have a fondness for using stupid buzzwords

It will convert these words into "garbage" characters (I might add an "image" option at a later date, to give it some colorful coolness).
Syntax Rules
GenericReplacerPluginDev Settings
- List of bad words
- Set BADWORDS = synergy, utilization, harmonize
--
DavidWeller - 16 Dec 2001
in the meantime you could just use
SmiliesPlugin to obtain almost the same goal
--
AndreaSterbini - 18 Dec 2001
Can we do something like this?
:userlist_start(style=tablestyle3)
userinfo(user1, address, phone_no)
userinfo(user2, address, phone_no)
:userlist_stop
i.e. much cleaner way to specify tables etc. and manage its style from one single location (i.e. where pattern is defined).
In essence, a mechanism that would allow us to use arguments to be inserted in a template. This means, the pattern replacement text should be a block of multiple lines. Is this useful?
--
VinodKulkarni - 08 Jun 2004