Release status: stable
|Description||Adds a target attribute to specified links|
|Author(s)||Ike Hecht (Tosfostalk)|
|Latest version||0.2.0 (14 December 2020)|
|License||GNU General Public License 2.0 or later|
|Translate the LinkTarget extension if it is available at translatewiki.net|
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.
- Download and place the file(s) in a directory called
- Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'LinkTarget' ); $wgLinkTargetParentClasses = ' /*ENTER SOME CLASSES HERE*/ ';
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
- 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 target is not specified or is invalid, the target will be set to
$wgLinkTargetDefault. Note that it is also valid to specify one class as a string, instead of an array of classes.
- The default target for parent classes that do not have a valid target specified.
- Can be set to:
_top. Defaults to
$wgLinkTargetParentClasses = [ 'foo', 'bar' ];
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
Using the same LocalSettings as in Example 1, in the wiki use:
$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
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 Flickr API extension, with the LocalSettings code from Example 1:
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.
$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'.
- The links will not have any special target while viewing the page in "preview" mode.