--- layout: wiki title: InterWiki updated: 2021-04-16 08:14 author: trac default: true toc: true --- ## Support for [InterWiki](/briareus/notes/InterWiki/) links ### Definition An [InterWiki](/briareus/notes/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](/briareus/notes/InterWiki/) prefixes can even be used to introduce links to new protocols, such as \`tsvn:\` used by TortoiseSvn. ### Link Syntax ``` (:)+ ``` 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](/briareus/notes/InterTrac/) prefixes, **[InterWiki](/briareus/notes/InterWiki/) prefixes are case insensitive**. The target Wiki URL is looked up in the "[interwiki"\] section of [TracIni](/briareus/notes/TracIni/) and in the [InterMapTxt](/briareus/notes/InterMapTxt/) wiki page, modeled after MeatBall:[InterMapTxt](/briareus/notes/InterMapTxt/). If a prefix is defined in both the \`interwiki\` section and [InterMapTxt](/briareus/notes/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](/briareus/notes/TracIni/) defines one [InterWiki](/briareus/notes/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 For the following excerpt of the [InterMapTxt](/briareus/notes/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/notes/ MoinMoin http://moinmoin.wikiwikiweb.de/ ... }}} ``` Then, - \`MoinMoin:InterWikiMap\` will be rendered as MoinMoin:InterWikiMap and the *title* for that link will be "InterWikiMap in MoinMoin". - \`Trac-ML:4346\` will be rendered as Trac-ML:4346 and the *title* for that link will be "Message 4346 in Trac Mailing List". ### List of Active Prefixes --- See also: [InterTrac](/briareus/notes/InterTrac/), [InterMapTxt](/briareus/notes/InterMapTxt/)