Interwiki Plugin
Link ExternalSite:Page text to external sites based on aliases defined in a rules topic
The InterwikiPlugin links
ExternalSite:Page
text to external sites based on
aliases defined in the
InterWikis topic. This plugin is inspired by
UseMod Wiki's inter-wiki links,
http://www.usemod.com/cgi-bin/wiki.pl?InterWiki.
Link Syntax Rules
- Enter
ExternalSite:Page
to create a link that points to the Page
on the ExternalSite
server.
- If
Page
contains spaces, it can be enclosed in single or double quotes. Example: MySite:'My Photo.jpg'
. Special characters contained within the quotes are URL encoded.
- Enter
[[ExternalSite:Page][any label]]
to specify a custom label.
- All
ExternalSite
aliases are defined in the InterWikis topic or as specified by the INTERWIKIPLUGIN_RULESTOPIC
topic list.
Definition Syntax Rules
Add and edit aliases in
InterWikis.
- Each entry must be three or four columns, using the following format:
| External site alias | URL | Tooltip help text | Optional INTERLINKFORMAT override |
.
- The Alias must start with an upper case letter and may contain alphanumeric characters.
- The URL and Tooltip Text may contain optional
$page
formatting tokens; the token gets expanded to the page name.
- The URL may contain Foswiki macros. They are expanded when the URL is rendered.
- The Tooltip Text must not contain:
- any HTML tags (including
<nop>
escape code)
- any internal WikiWord links
- any external links
- Hint: Escape
'WikiWords'
and '$page'
.
- If the link format override is provided, it overrides the
INTERWIKIPLUGIN_INTERLINKFORMAT
for just that entry.
Note that Interwiki links do not properly resolve when part of an INCLUDEd page name. e.g.
%INCLUDE{"Interwiki:link"}%
For Foswiki and TWiki sites, both the
web and the
topic have to be specified:
Foswiki:Webname/SomePage
Foswiki:Extensions/InterwikiPlugin or Foswiki:Extensions.InterwikiPlugin
For links with parentheses you will need to write as
[[Wikipedia:Fork_(software_development)]]
, or quoted, as
Wikipedia:'Fork_(software_development)'
as the plugin will not include the closing parenthesis as part of the link.
InterwikiPlugin Settings
You can override the default settings using
preferences. These preferences can be set in your
SitePreferences, or in any WebPreferences, or in individual topics.
Preference |
Use to |
Default |
INTERWIKIPLUGIN_RULESTOPIC |
The topic(s) containing the inter-wiki rules. Can be a comma separated list. See InterWikis for more details |
InterWikis |
INTERWIKIPLUGIN_INTERLINKFORMAT |
Set the interlink format |
<a class="interwikiLink" href="$url" title="$tooltip" class="interwikiLink"><noautolink>$label</noautolink></a> |
The
INTERWIKIPLUGIN_INTERLINKFORMAT
supports a number of formatting tokens:
Token |
Meaning |
$site |
Site alias |
$page |
Page (part after colon) |
$url |
Site URL (might contain $page) |
$label |
Equal to $site:$page |
$tooltip |
Tooltip message |
Installation Instructions
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.
Open configure, and open the "Extensions" section. "Extensions Operation and Maintenance" Tab → "Install, Update or Remove extensions" Tab. Click the "Search for Extensions" button.
Enter part of the extension name or description and press search. Select the desired extension(s) and click install. If an extension is already installed, it will
not show up in the
search results.
You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> install
If you have any problems, or if the extension isn't available in
configure
, then you can still install manually from the command-line. See
https://foswiki.org/Support/ManuallyInstallingExtensions for more help.
Change History
06 Aug 2023: (1.27) |
Foswikitask:Item15151: add warnings and strictness |
3 May 2018: (1.26) |
Foswikitask:Item14688: Correct tyops and poor grammar in documentation. |
8 Dec 2017: (1.25) |
Foswikitask:Item14395: Failure to check result from readTopic causes error. |
8 Feb 2071: (1.24) |
Foswikitask:Item14321: Fix some stale default Interwiki links. |
8 Apr 2016: (1.23) |
Foswikitask:Item14022: Change foswiki.org links to https. |
14 Jun 2014: (1.22) |
Foswikitask:Item13287: Foswikitask:Item13387: Regular expression enhancements, better UTF-8 support. |
03 Oct 2014: (1.21) |
Foswikitask:Item13045: Add per-link override of INTERLINKFORMAT |
24 May 2014: (1.20) |
Foswikitask:Item12819: Expand variables defined in InterWiki links Foswikitask:Item11587: Replace call to deprecated Foswiki::Func::readTopicText() |
23 Oct 2013: (1.1.7) |
Foswikitask:Item12555: Documentation updates |
12 Nov 1012: (1.1.6) |
update CPAN link to goto metacpan and remove some ancient links that have been broken for years. Convert to perl version strings |
05 Dec 2011: (1.1.2) |
Release with Foswiki 1.1.4 - Minor code and documentation cleanup |
30 Oct 2011: |
Foswiki:Main.GeorgeClark - Add support for quoted page references from TimotheLitt (Foswikitask:Item10872) |
10 Apr 2011: |
Foswiki:Main.AndrewJones - Links can now be formatted (Foswikitask:Item10619) |
13 Dec 2010: |
Foswiki:Main.AndrewJones - Fix inter-wiki's with parentheses (Foswikitask:Item10151). Note, you will need to write as [[Wikipedia:Fork_(software_development)]] , as we assume the closing parenthesis is not part of the link. |
10 Dec 2010: |
Foswiki:Main.AndrewJones - Allow the INTERWIKIPLUGIN_RULESTOPIC to be a comma separated list. Implements Foswiki:Development/InheritWikiLinksTopics |
12 Jul 2010: |
Foswiki:Main.AndrewJones - Check access controls on InterWikis topic |
10 Jul 2010: |
mod_perl and FastCGI compatible |
20 Sep 2009: |
Version from 15 Apr now included with Foswiki 1.0.7 |
15 Apr 2009: |
Foswiki:Main.CrawfordCurrie - removed plugin preferences from this topic |
16 Dec 2008: |
Foswiki:Main.KennethLavrsen - Foswiki version - no features changed |
03 Aug 2008: |
TWiki 4.2.1 release version |
22 Jan 2008: |
TWiki 4.2.0 release version |
25 Nov 2007: |
15752 - TWikibug:Item5006 - Renamed Bugs rule to TWikibug rule (PTh) |
13 Aug 2007: |
14545 - TWikibug:Item4451 - Added Bugs: rule (Foswiki:Main.CrawfordCurrie) |
11 Aug 2007: |
14538 - Fixed broken ISBN link (TWiki:Main.PeterThoeny) |
08 Nov 2006: |
11935 - Added css class="interwikiLink" (TWiki:Main.PeterThoeny) |
07 Nov 2006: |
11924 - Added INTERLINKFORMAT; removed redundant SUPPRESSTOOLTIP; allow @ signs in page part of interwiki link; support single digit page part (TWiki:Main.PeterThoeny) |
26 Feb 2005: |
1.008 Foswiki:Main.CrawfordCurrie cleaned up code and made Dakar-ready |
25 Aug 2004: |
1.005 TWiki:Main.PeterThoeny updated InterWikis link rules (no code change) |
09 Mar 2004: |
Internal changes: Use only official TWiki::Func Plugin API; for increased speed, moved Interwiki link handling from outsidePREHandler to startRenderingHandler |
16 Feb 2004: |
Support [[Site:Page][label]] Interwiki links (PTh); use TWiki::Func interface for I18N regular expressions (Walter Mundt) |
18 Jan 2003: |
Allow number sign # in Page name (PTh) |
31 Aug 2002: |
Allow percent sign % in page name (PTh) |
27 Jul 2001: |
Allow numbers 0-9 in site name |
26 Jul 2001: |
Fixed alternating missed link bug due to greedy $postfixPattern (fix by Richard Donkin) |
14 Jul 2001: |
Changed to plug & play |
16 Jun 2001: |
Made tooltips optional; prevent Module::Sub type of link |
12 Jun 2001: |
Added optional tool tips (IE only); added the link rules topic name variable; added flexible link patterns; optional $page in URL |
10 Jun 2001: |
Changed rules topic to table-based syntax |
20 Feb 2001: |
TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny - Initial version |