Extension:LinkTarget

From Linux Web Expert

Revision as of 06:13, 20 September 2023 by imported>Kghbln (+ translation markup)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<translate> This extension is professionally maintained by the WikiTeq team.</translate>
<translate> WikiTeq provides official support for [[<tvar name=1>Special:MyLanguage/Version lifecycle</tvar>|MediaWiki LTS releases only]].</translate> <translate> It may work with other MediaWiki releases.</translate>
MediaWiki extensions manual
LinkTarget
Release status: stable
Implementation MyWiki
Description Adds a target attribute to specified links
Author(s) Ike Hecht (Tosfostalk)
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
License GNU General Public License 2.0 or later
Download

  • $wgLinkTargetParentClasses
  • $wgLinkTargetDefault
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
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

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/LinkTarget</tvar>|Download]] and move the extracted <tvar name=name>LinkTarget</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LinkTarget
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'LinkTarget' );
    $wgLinkTargetParentClasses = ' /*ENTER SOME CLASSES HERE*/ ';
    
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

Configuration

$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 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.
$wgLinkTargetDefault
The default target for parent classes that do not have a valid target specified.
Can be set to: _blank, _self, _parent or _top. Defaults to _blank.

Examples

Example 1: Open specific internal/external links in new windows

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

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

$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:

<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

$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

  • The links will not have any special target while viewing the page in "preview" mode.

See also