The Inter Map (also called Inter Wiki? in some other wikis) is a system for defining links between WikiWikiWeb sites that was first developed by Use Mod? and Meatball (see UseMod:InterWiki and Meatball:InterWiki). The method is to use a word shortcut that stands for a defined path. Inter Map links have the form MapPrefix:PagePath
, where the host prefix is converted to a partial URL based on entries in the site's intermap.txt and localmap.txt files.
The default intermap.txt distributed with Pm Wiki (in the scripts/ directory) includes the following Inter Map entries:
Pm Wiki: https://www.pmwiki.org/wiki/PmWiki/ Cookbook: https://www.pmwiki.org/wiki/Cookbook/ Wiki: http://www.c2.com/cgi/wiki? Use Mod?: http://www.usemod.com/cgi-bin/wiki.pl? Meatball: http://www.usemod.com/cgi-bin/mb.pl? Wikipedia: https://en.wikipedia.org/wiki/ PITS: https://www.pmwiki.org/wiki/PITS/ Pm L10n?: https://www.pmwiki.org/wiki/Localization/ Path:
Site.InterMap includes the following entries:
Thus, "PmWiki:Variables" becomes "https://www.pmwiki.org/wiki/PmWiki/" + "Variables", a link to the PmWiki.Variables page on the official Pm Wiki web site, Wiki:FrontPage is a link to the front page of the first Wiki Wiki Web, and Wikipedia:Stonehenge takes you to the Wikipedia article about the famous megaliths in England.
Like other links, you can use the double-bracket syntax to get different link text:
* [[Meatball:StartingPoints | starting points]] over at Meatball * [[starting points -> Meatball:StartingPoints]] over at Meatball |
|
If you want to link just to what the intermap says (e.g. https://en.wikipedia.com/wiki/ for Wikipedia), then do [[Wikipedia:. | Wikipedia's main page]]
, which produces Wikipedia's main page. Note the . (period) after the Map: reference.
The special Path:
Inter Map entry can be used to create "relative urls" in links.
The actual set of Inter Map links at any site is defined by the site administrator via the Site.InterMap page and the local/localmap.txt file.
An intermap entry takes the following format:
MapPrefix: https://example.com/partial/url/
The Inter Map entry can be for any of the link schemes supported by Pm Wiki.
You can create your own Inter Map links by doing one or more of the following:
Do not edit the file scripts/intermap.txt directly! If you do, you'll lose your changes when you upgrade Pm Wiki.
It's possible to use variables within your Inter Map entries. The following
entries create ThisWiki:
and ThisPage:
shortcuts:
ThisWiki: $ScriptUrl ThisPage: {$PageUrl}
You can also define Inter Map 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
.
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):
$SiteGroup
.Inter Map
$FarmD
/local/farmmap.txt
$FarmD
/scripts/intermap.txt
Are Inter Map names case sensitive?
Yes, thus eAdmin:
is a different Inter Map 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 Inter Map in PHP?
Use the following:
$LinkFunctions['PmWikiHome:'] = 'LinkIMap'; $IMap['PmWikiHome:'] = 'https://pmwiki.org/wiki/$1';
This page may have a more recent version on pmwiki.org: PmWiki:InterMap, and a talk page: PmWiki:InterMap-Talk.