# PmWiki: Custom InterMap

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.

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:  PmWiki: http://pmwiki.org/wiki/PmWiki/ Cookbook: http://pmwiki.org/wiki/Cookbook/ Wiki: http://c2.com/cgi/wiki(approve sites)? UseMod: http://usemod.com/cgi-bin/wiki.pl(approve sites)? Meatball: http://usemod.com/cgi-bin/mb.pl(approve sites)? Wikipedia: http://wikipedia.com/wiki/(approve sites) PITS: http://pmwiki.org/PITS/ Path:  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';