bloodhound-trac / trac / wiki / default-pages / InterWiki

= Support for InterWiki links =

''(since [trac:milestone:0.10 0.10])''

== 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.

At the extreme, InterWiki prefixes can even be used to simply introduce
links to new protocols, such as `tsvn:` used by [trac:TortoiseSvn TortoiseSvn].

== Link Syntax ==


The link is composed by the targeted Wiki (or system) name,
followed by a colon (e.g. `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.

MeatBall =
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$1.html           # Python Enhancement Proposal $1 
Trac-ML$1  # Message $1 in Trac Mailing List

tsvn     tsvn:                                            # Interact with TortoiseSvn

 * `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