|
|
= Support for InterWiki links
|
|
|
|
|
|
== Definition
|
|
|
|
|
|
An InterWiki link can be used for referring to a Wiki page located in another Wiki system, and by extension, to any object located in any other Web application, provided a simple URL mapping can be done.
|
|
|
|
|
|
InterWiki prefixes can even be used to simply introduce links to new protocols, such as `tsvn:` used by [trac:TortoiseSvn TortoiseSvn].
|
|
|
|
|
|
== Link Syntax
|
|
|
|
|
|
{{{
|
|
|
<target_wiki>(:<identifier>)+
|
|
|
}}}
|
|
|
|
|
|
The link is composed by the targeted Wiki (or system) name, followed by a colon, eg `MeatBall:`, followed by a page specification in the target.
|
|
|
Note that, as for InterTrac prefixes, '''InterWiki prefixes are case insensitive'''.
|
|
|
|
|
|
The target Wiki URL is looked up in the `[interwiki]` section of TracIni or in the InterMapTxt wiki page, modeled after MeatBall:InterMapTxt. If a prefix is defined in both the `[interwiki]` section and InterMapTxt, the `[interwiki]` section takes precedence.
|
|
|
|
|
|
In addition to traditional InterWiki links, where the target is simply ''appended'' to the URL, Trac supports parametric InterWiki URLs:
|
|
|
identifiers `$1`, `$2`, ... in the URL will be replaced by corresponding arguments.
|
|
|
The argument list is formed by splitting the page identifier using the ":" separator.
|
|
|
|
|
|
=== [interwiki]
|
|
|
|
|
|
Every option in the `[interwiki]` section in TracIni defines one InterWiki prefix. The option name defines the prefix. The option value defines the URL, optionally followed by a description separated from the URL by whitespace. Parametric URLs are supported as well.
|
|
|
|
|
|
'''Example:'''
|
|
|
{{{#!ini
|
|
|
[interwiki]
|
|
|
MeatBall = http://www.usemod.com/cgi-bin/mb.pl?
|
|
|
PEP = http://www.python.org/peps/pep-$1.html Python Enhancement Proposal $1
|
|
|
tsvn = tsvn: Interact with TortoiseSvn
|
|
|
}}}
|
|
|
|
|
|
== Examples
|
|
|
|
|
|
If the following is an excerpt of the InterMapTxt page:
|
|
|
|
|
|
{{{
|
|
|
= InterMapTxt =
|
|
|
== This is the place for defining InterWiki prefixes ==
|
|
|
|
|
|
Currently active prefixes: [[InterWiki]]
|
|
|
|
|
|
This page is modelled after the MeatBall:InterMapTxt page.
|
|
|
In addition, an optional comment is allowed after the mapping.
|
|
|
----
|
|
|
{{{
|
|
|
PEP http://www.python.org/peps/pep-$1.html # Python Enhancement Proposal $1
|
|
|
Trac-ML http://thread.gmane.org/gmane.comp.version-control.subversion.trac.general/$1 # Message $1 in Trac Mailing List
|
|
|
|
|
|
tsvn tsvn: # Interact with TortoiseSvn
|
|
|
...
|
|
|
MeatBall http://www.usemod.com/cgi-bin/mb.pl?
|
|
|
MetaWiki http://sunir.org/apps/meta.pl?
|
|
|
MetaWikiPedia http://meta.wikipedia.org/wiki/
|
|
|
MoinMoin http://moinmoin.wikiwikiweb.de/
|
|
|
...
|
|
|
}}}
|
|
|
}}}
|
|
|
|
|
|
Then,
|
|
|
* `MoinMoin:InterWikiMap` should be rendered as MoinMoin:InterWikiMap and the ''title'' for that link would be "!InterWikiMap in !MoinMoin".
|
|
|
* `Trac-ML:4346` should be rendered as Trac-ML:4346 and the ''title'' for that link would be "Message 4346 in Trac Mailing List".
|
|
|
|
|
|
----
|
|
|
See also: InterTrac, InterMapTxt |
|
|
\ No newline at end of file |