Extension:LinkTarget
Release status: stable |
|
|---|---|
| Implementation | MyWiki |
| Description | Adds a target attribute to specified links |
| Author(s) | Ike Hecht (Tosfos talk ) |
| Maintainer(s) | WikiTeq team |
| Latest version | 0.2.0 () |
| Compatibility policy | For every MediaWiki release that is a Long Term Support release there is a corresponding branch in the extension. |
| MediaWiki | 1.35, 1.39 |
| Database changes | No |
|
|
| Licence | GNU General Public License 2.0 or later |
| Download | |
| Translate the LinkTarget extension if it is available at translatewiki.net | |
| Issues | Open tasks · Report a bug |
The LinkTarget extension allows admins to add a target attribute to internal and external links.
That can be used to, for example, open internal and external links in new windows.
This extension was created for WikiWorks.
Installation
[edit ]- Download and move the extracted
LinkTargetfolder to yourextensions/directory.
Developers and code contributors should install the extension from Git instead, using:cdextensions/ gitclonehttps://gerrit.wikimedia.org/r/mediawiki/extensions/LinkTarget - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'LinkTarget' ); $wgLinkTargetParentClasses = ' /*ENTER SOME CLASSES HERE*/ ';
- Yes Done – Navigate to
Special:Versionon your wiki to verify that the extension is successfully installed.
Configuration
[edit ]| Name | Default | Description |
|---|---|---|
$wgLinkTargetParentClasses
|
[]
|
The descendants of elements of this class will have their target attribute set by the extension. Expects an array with the format:
[ target => [ classes ], target => [ classes ], ... ] If |
$wgLinkTargetDefault
|
_blank
|
The default target for parent classes that do not have a valid target specified.
Can be set to one of the following: |
Examples
[edit ]Example 1: Open specific internal/external links in new windows
[edit ]In LocalSettings.php:
$wgLinkTargetParentClasses = [ 'foo', 'bar' ];
Adds target="_blank" as an attribute to links that are children of an HTML element that belong to either class "foo" or "bar".
To use in the wiki:
This is some text with an <span class="foo">[[Internal link]]</span> and also an <span class="bar">[https://www.mediawiki.org External link]</span>.
In that example, both links will open in new windows or tabs.
Example 2: Open specific images in new windows
[edit ]Using the same LocalSettings as in Example 1, in the wiki use:
<div class="bar">[[File:SomeImage|link=mediawiki.org]]</div>
Example 3: Open most links in a new window, but not these
[edit ]$wgExternalLinkTarget = '_blank'; $wgLinkTargetParentClasses = [ 'foo', 'bar' ]; $wgLinkTargetDefault = '_self';
In the wiki:
[[This link]] will open in a new window, but not <span class="foo">[[this one]]</span>.
Example 4: Use with extensions
[edit ]Surround extension parser functions or tags with some code and open any links generated by those extensions in a new window. As an example, we will use the FlickrAPI extension, with the LocalSettings code from Example 1:
<div class="foo"><flickr>SOMEIMAGEID</flickr></div>
Actually, that extension helpfully already surrounds any code that it generates with a class so really it is sufficient to set LocalSettings as follows:
$wgLinkTargetParentClasses = [ 'flickrapi' ];
This will apply to all Flickr images generated by the extension. When users click on any image, the link will open in a new window or tab.
Advanced
[edit ]$wgLinkTargetParentClasses = [ '_top' => [ 'foo' ], [ 'bar' ], '_parent' => 'baz' ];
Descendants of 'foo' will have target '_top', descendants of 'bar' will have target '_blank' and descendants of 'baz' will have target '_parent'.
Known limitations
[edit ]- The links will not have any special target while viewing the page in "preview" mode.
See also
[edit ]- Extensions by WikiTeq
- Stable extensions
- Personalization extensions
- OutputPageParserOutput extensions
- GPL licensed extensions
- Extensions in Wikimedia version control
- All extensions
- Extensions included in Canasta
- Extensions included in Miraheze
- Extensions included in semantic::core
- Interwiki extensions