1. Alex Willmer
  2. trac-ticketlinks

Source

trac-ticketlinks / wiki-default / InterWiki

= Support for InterWiki links =

''(since [milestone:0.10])''

== Definition ==

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.

== Link Syntax ==

{{{
<target_wiki>(:<identifier>)+
}}}

The link is composed by the targeted Wiki (or system) name,
followed by a colon (e.g. {{{MeatBall:}}}),
followed by a page specification in the target.
Note that, as for InterTrac prefixes, InterWiki prefixes are case insensitive.

The target Wiki URL is looked up in a the InterMapTxt wiki page, 
modelled after
[http://www.usemod.com/cgi-bin/mb.pl?InterMapTxt MeatBall:InterMapTxt].

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.

== Examples ==

If the following is an excerpt of the 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

...
MeatBall http://www.usemod.com/cgi-bin/mb.pl?
MetaWiki http://sunir.org/apps/meta.pl?
MetaWikiPedia http://meta.wikipedia.org/wiki/
MoinMoin http://moinmoin.wikiwikiweb.de/
...
}}}
}}}

Then, 
 * `MoinMoin:InterWikiMap` should be rendered as 
   [http://moinmoin.wikiwikiweb.de/InterWikiMap MoinMoin:InterWikiMap]
   and the ''title'' for that link would be "!InterWikiMap in !MoinMoin"
 * {{{Trac-ML:4346}}} should be rendered as 
   [http://thread.gmane.org/gmane.comp.version-control.subversion.trac.general/4346 Trac-ML:4346]
   and the ''title'' for that link would be "Message 4346 in Trac Mailing List"

----
=== Temporary notice (delete this when we sync) ===
About full links vs. having the InterWiki link itself. 

Well, I'm not sure about that, since those InterWiki prefixes ''are'' (or will be when we sync) present in the default InterMapTxt, so those examples will work until the InterMapTxt gets locally edited, at which point it won't be a surprise that this links don't work anymore... OTOH, if those examples ''still'' work after the prefixes have been removed, this can also be a bit surprising ;)
----