AliasPlugin
Description
This plugin allows you to create arbitrary word aliases.
If you write down a word that has a defined alias, it will then be replaced with
the given text string. If that string is a string of the format
<web>.<topic>
it will be replaced by an appropriate TWiki link. Aliases take only effect within the boundaries
if
alias areas between %STARTALIASAREA% and %STOPALIASAREA% tags.
Aliases aren't replaced within html tags (
<html tag ... TESTALIAS ... >
), TWiki tags (
%INCLUDE... TESTALIAS ...%
) and TWiki links
(
[[TWiki.WebHome][TESTALIAS]]
). A word can be prevented of being substituted by
prefixing it with
<nop>
.
Configuration
Configuration of this plugin is done by writing
your aliases into a specific topic, the WebAliases. This topic is looked up
in three places:
- the current web
- the Main web
- if there's no WebAliases topic in the Main it will be looked up in the TWiki
The aliases defined in (1) are merged with those in (2) or (3). Thereby you can define
site-wide aliases in Main.WebAliases and web specific aliases in the current's web WebAliases
topic.
Aliases can also be defined within the current topic, that is they will only be taking
effect on the current topic. Similarly, aliases can be disabled. See the
Syntax section for more details.
Syntax
This is the list of TWiki tags defined by this plugin.
Name |
Description |
%ALIASES% |
display all aliases |
%ALIASES{regex="on"}% |
display also the regular expression to match the alias |
%ALIASES{"<topic>" merge="on,off"}% |
use aliases defined in <topic> by either merging or redefining the set of current aliases |
%ALIAS{name="..." value="..." [regex="..."]}% |
defines an alias using regex to find it; if regex is not specified it defaults to the alias' name |
%STARTALIASAREA% |
mark the beginning of an alias area |
%STOPALIASAREA% |
mark the end of an alias area |
%UNALIAS% |
delete all aliases |
%UNALIAS{name="..."}%,%UNALIAS{"..."}% |
deletes one alias |
The
regex
parameter in the %ALIAS{...}% tag might contain the two variables
$start
and
$stop
that help to match the boundaries of an alias consisting of
non-alphabetic characters. Textile example:
%ALIAS{name="''" regex="$start''$stop" value="”"}%
%ALIAS{name="``" regex="$start``$stop" value="“"}%
%ALIAS{name="-" regex=" - " value=" – "}%
%ALIAS{name="--" regex=" -- " value=" — "}%
%ALIAS{name="(c)" regex="$start\(c\)$stop" value="©"}%
%ALIAS{name="(r)" regex="$start\(r\)$stop" value="®"}%
%ALIAS{name="(tm)" regex="$start\(tm\)$stop" value="™"}%
%ALIAS{name="..." regex="$start\.\.\.$stop" value="…"}%
%ALIAS{name=",," regex="$start,,$stop" value="„"}%
%ALIAS{name="1/2" regex="$start1/2$stop" value="½"}%
%ALIAS{name="1/4" regex="$start1/4$stop" value="¼"}%
%ALIAS{name="3/4" regex="$start3/4$stop" value="¾"}%
The aliases in the topic WebAliases topic can be either defined using the %ALIAS{}%
macro or listed in the following way:
* <name1>: <value1>
* <name2>: <value2>
* <name3>: <value3>
...
Defined Aliases
Plugin Installation Instructions
- Download the ZIP file
- Unzip
AliasPlugin.zip
in your twiki installation directory. Content: File: | Description: |
data/TWiki/AliasPlugin.txt | |
data/TWiki/WebAliases.txt | |
lib/TWiki/Plugins/AliasPlugin.pm | |
pub/TWiki/AliasPlugin/wikiringlogo40x40.png | |
templates/view.alias.tmpl | |
Test-Cases
|
Pattern |
Substitution |
Correctness |
1 |
TESTLINK |
yes, this is a link to TWiki.WebHome |
|
2 |
yes |
yes |
|
3 |
_TESTLINK |
no, _ is no word boundary |
|
4 |
TESTLINK_TESTLINK |
no, _ is no word boundary |
|
5 |
TESTLINK |
yes |
|
6 |
TESTLINKTESTLINK |
no, this is one word not being aliases |
|
7 |
read the fine manual |
yes, but be more polite to your users |
|
8 |
yes |
this should be a green link to http://wiki.seventest.com/bin/TESTALIAS |
|
9 |
TESTALIAS |
no, don't substitute inside a TWiki tag |
|
10 |
TESTALIAS? |
no, don't substitute inside a TWiki tag |
|
11 |
[[TESTALIAS]] |
no, not even inside a nopped TWiki tag |
|
12 |
yes |
yes, ignores red |
|
13 |
%TESTALIAS% |
no, inside two % |
|
14 |
%TESTALIAS% |
no, this is inside two % |
|
15 |
%TESTALIAS% |
no. inside two % |
|
16 |
%TESTALIAS% |
no. inside two % |
|
17 |
%yes |
yes, no perc on the same line |
|
18 |
%yes |
yes, with a second % here |
|
19 |
%BLABLA yes% |
yes, this is no regular TWiki tag |
|
20 |
%BLABLA{TESTALIAS}% |
no, this is a regular TWiki tag |
|
21 |
%BLABLA{TESTALIAS}% |
no, albeit this is a nopped TWiki tag |
|
Plugin Info
Plugin Author: |
TWiki:Main/OthelloMaurer, TWiki:Main/MichaelDaum |
Copyright ©: |
2003, Othello Maurer; 2003-2007, Michael Daum http://wikiring.de |
License: |
GPL (GNU General Public License) |
Version: |
v2.20 |
Change History: |
|
13 Nov 2007: |
Item4959: disabled settings in plugin topic, removed DEFAULT_ALIASES |
14 Sep 2007: |
added view.alias.tmpl |
13 Sep 2007: |
rewrite for modern TWiki engines |
10 Feb 2006: |
fixed use of uninitialized value (outch) |
03 Feb 2006: |
prevent nested alias expansion; support convenience aliases for anchors on the same page |
09 Dec 2005: |
added expl icite regex parameter for ALIAS |
06 Dec 2005: |
fixed deprecation warning on a dakar install; added support for non-alphabetical aliases; fixed use of uninitialized values due to special chars in alias patterns; the ALIAS tag in WebAliases can be used to define global aliases now |
27 Apr 2005: |
always read site aliases and then merge in web aliases |
07 Apr 2005: |
TWiki:Main/MichaelDaum: major rewrite |
30 Mar 2005: |
TWiki:Main/MichaelDaum: added alias area |
|
added fix to honor order of alias/unalias commands in a topic |
23 Mar 2005: |
TWiki:Main/MichaelDaum: added list of test-cases |
|
rewrite of substitution code |
|
improved configurability |
22 Mar 2005: |
TWiki:Main/MichaelDaum: prevent substitutions within html tags, twiki tags and twiki links |
21 Mar 2005: |
TWiki:Main/MichaelDaum: allow arbitrary string substs |
|
configured via a list now (was tables) |
|
taking care not to replace inside html tags |
1 Dec 2003: |
TWiki:Main.NielsKoldso: Non WikiWord aliases as an option |
|
More alias prefixes allowed |
16 Oct 2003: |
Speedup |
09 Oct 2003: |
Initial Version |
CPAN Dependencies: |
none |
Other Dependencies: |
none |
Perl Version: |
5.005 |
Plugin Home: |
http://TWiki.org/cgi-bin/view/Plugins/AliasPlugin |
Feedback: |
http://TWiki.org/cgi-bin/view/Plugins/AliasPluginDev |
--
TWiki:Main/OthelloMaurer - 09 Oct 2003
--
TWiki:Main/MichaelDaum - 13 Nov 2007