1 | = Support for InterWiki links |
---|
2 | |
---|
3 | == Definition |
---|
4 | |
---|
5 | 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. |
---|
6 | |
---|
7 | At the extreme, InterWiki prefixes can even be used to simply introduce links to new protocols, such as `tsvn:` used by [trac:TortoiseSvn TortoiseSvn]. |
---|
8 | |
---|
9 | == Link Syntax |
---|
10 | |
---|
11 | {{{ |
---|
12 | <target_wiki>(:<identifier>)+ |
---|
13 | }}} |
---|
14 | |
---|
15 | 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. |
---|
16 | Note that, as for InterTrac prefixes, '''InterWiki prefixes are case insensitive'''. |
---|
17 | |
---|
18 | 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. |
---|
19 | |
---|
20 | In addition to traditional InterWiki links, where the target is simply ''appended'' to the URL, Trac supports parametric InterWiki URLs: |
---|
21 | identifiers `$1`, `$2`, ... in the URL will be replaced by corresponding arguments. |
---|
22 | The argument list is formed by splitting the page identifier using the ":" separator. |
---|
23 | |
---|
24 | === [interwiki] |
---|
25 | |
---|
26 | 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. |
---|
27 | |
---|
28 | '''Example:''' |
---|
29 | {{{ |
---|
30 | [interwiki] |
---|
31 | MeatBall = http://www.usemod.com/cgi-bin/mb.pl? |
---|
32 | PEP = http://www.python.org/peps/pep-$1.html Python Enhancement Proposal $1 |
---|
33 | tsvn = tsvn: Interact with TortoiseSvn |
---|
34 | }}} |
---|
35 | |
---|
36 | == Examples |
---|
37 | |
---|
38 | If the following is an excerpt of the InterMapTxt page: |
---|
39 | |
---|
40 | {{{ |
---|
41 | = InterMapTxt = |
---|
42 | == This is the place for defining InterWiki prefixes == |
---|
43 | |
---|
44 | Currently active prefixes: [[InterWiki]] |
---|
45 | |
---|
46 | This page is modelled after the MeatBall:InterMapTxt page. |
---|
47 | In addition, an optional comment is allowed after the mapping. |
---|
48 | ---- |
---|
49 | {{{ |
---|
50 | PEP http://www.python.org/peps/pep-$1.html # Python Enhancement Proposal $1 |
---|
51 | Trac-ML http://thread.gmane.org/gmane.comp.version-control.subversion.trac.general/$1 # Message $1 in Trac Mailing List |
---|
52 | |
---|
53 | tsvn tsvn: # Interact with TortoiseSvn |
---|
54 | ... |
---|
55 | MeatBall http://www.usemod.com/cgi-bin/mb.pl? |
---|
56 | MetaWiki http://sunir.org/apps/meta.pl? |
---|
57 | MetaWikiPedia http://meta.wikipedia.org/wiki/ |
---|
58 | MoinMoin http://moinmoin.wikiwikiweb.de/ |
---|
59 | ... |
---|
60 | }}} |
---|
61 | }}} |
---|
62 | |
---|
63 | Then, |
---|
64 | * `MoinMoin:InterWikiMap` should be rendered as MoinMoin:InterWikiMap and the ''title'' for that link would be "!InterWikiMap in !MoinMoin" |
---|
65 | * `Trac-ML:4346` should be rendered as Trac-ML:4346 and the ''title'' for that link would be "Message 4346 in Trac Mailing List" |
---|
66 | |
---|
67 | ---- |
---|
68 | See also: InterTrac, InterMapTxt |
---|