Changes between Initial Version and Version 1 of InterWiki


Ignore:
Timestamp:
Dec 24, 2012, 8:38:01 PM (11 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InterWiki

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