Changes between Initial Version and Version 1 of InterWiki


Ignore:
Timestamp:
11/20/23 19:32:20 (12 months ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InterWiki

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