Changes between Initial Version and Version 1 of InterWiki


Ignore:
Timestamp:
Sep 27, 2022, 3:01:29 PM (2 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InterWiki

    v1 v1  
     1= Support for InterWiki links
     2
     3== Definition
     4
     5An 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
     7At 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
     15The link is composed by the targeted Wiki (or system) name, followed by a colon, eg `MeatBall:`, followed by a page specification in the target.
     16Note that, as for InterTrac prefixes, '''InterWiki prefixes are case insensitive'''.
     17
     18The 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
     20In addition to traditional InterWiki links, where the target is simply ''appended'' to the URL, Trac supports parametric InterWiki URLs:
     21identifiers `$1`, `$2`, ... in the URL will be replaced by corresponding arguments.
     22The argument list is formed by splitting the page identifier using the ":" separator.
     23
     24=== [interwiki]
     25
     26Every 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]
     31MeatBall = http://www.usemod.com/cgi-bin/mb.pl?
     32PEP = http://www.python.org/peps/pep-$1.html Python Enhancement Proposal $1
     33tsvn = tsvn: Interact with TortoiseSvn
     34}}}
     35
     36== Examples
     37
     38If the following is an excerpt of the InterMapTxt page:
     39
     40{{{
     41= InterMapTxt =
     42== This is the place for defining InterWiki prefixes ==
     43
     44Currently active prefixes: [[InterWiki]]
     45
     46This page is modelled after the MeatBall:InterMapTxt page.
     47In addition, an optional comment is allowed after the mapping.
     48----
     49{{{
     50PEP      http://www.python.org/peps/pep-$1.html           # Python Enhancement Proposal $1
     51Trac-ML  http://thread.gmane.org/gmane.comp.version-control.subversion.trac.general/$1  # Message $1 in Trac Mailing List
     52
     53tsvn     tsvn:                                            # Interact with TortoiseSvn
     54...
     55MeatBall http://www.usemod.com/cgi-bin/mb.pl?
     56MetaWiki http://sunir.org/apps/meta.pl?
     57MetaWikiPedia http://meta.wikipedia.org/wiki/
     58MoinMoin http://moinmoin.wikiwikiweb.de/
     59...
     60}}}
     61}}}
     62
     63Then,
     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----
     68See also: InterTrac, InterMapTxt