administrator (intermediate)
This page describes PmWiki's default InterMap links, and how a wiki administrator can create additional InterMap links.
An intermap entry takes the following format:
MapPrefix: http://example.com/partial/url/
The InterMap entry can be for any of the link schemes supported by PmWiki.
You can create your own InterMap links by doing one or more of the following:
- Modify the page called Site.InterMap? and place entries like the ones above in it.
- Create a file called local/localmap.txt and place entries like the
ones above in it.
- In a WikiFarm installation you can create a file called
local/farmmap.txt and there place entries like the ones above in it.
These prefixes will be common to all the wikis in the farm.
- Ensure that there is a space after the colon
Do not edit the file scripts/intermap.txt directly! If you do, you'll
lose your changes when you upgrade PmWiki.
Variables and InterMap links
It's possible to use variables within your InterMap entries. The following
entries create ThisWiki:
and ThisPage:
shortcuts:
ThisWiki: $ScriptUrl
ThisPage: {$PageUrl}
You can also define InterMap entries where the text of the entry is
substituted into the middle of the URL. Just include '$1' in the URL where
you want the substitution to take place. For example:
Jargon: http://catb.org/~esr/jargon/html/$1.html
would cause Jargon:F/feature-creep
to be converted to http://catb.org/~esr/jargon/html/F/feature-creep.html
.
Tips and tricks
It is possible to document your intermap prefixes directly in the page
Site.InterMap?. The extra text will not cause a performance penalty, nor
will it break the definition of prefixes. However, be aware that anything
matching a line starting with a word and a colon (:) will be
considered to define a prefix.
The order in which various sources are checked for definitions of prefixes
is controlled by the variable $InterMapFiles
. Currently the precedence
(highest to lowest is as follows):
PmWiki InterMaps
The default intermap.txt distributed with PmWiki (in the scripts/ directory) includes the following InterMap entries:
You can map your own prefixes in your local page Site.InterMap?.
Are InterMap names case sensitive?
Yes, thus eAdmin:
is a different InterMap link than EAdmin:
.
How can I achieve a localmap.txt mapping with the effect of Pics: Path:/somepathto/pics/
?
Use the following:
Pics: /somepathto/pics/
How can I define an InterMap in PHP?
Use the following:
$LinkFunctions['PmWikiHome:'] = 'LinkIMap';
$IMap['PmWikiHome:'] = 'http://pmwiki.org/wiki/$1';