Extension:HeadScript

From MediaWiki.org
Jump to navigation Jump to search
MediaWiki extensions manual
Crystal Clear action run.svg
HeadScript
Release status: stable
Implementation Hook
Description Adds scripts just before </head> of the wiki that are defined in LocalSettings.php
Author(s) (JinRyuuNagytalk)
Latest version 1.0 (2015-08-06)
Database changes No
License GNU General Public License 2.0
Download DOWNLOAD
README
Parameters
  • $wgHeadScriptName
  • $wgHeadScriptCode
Hooks used
BeforePageDisplay
Translate the HeadScript extension if it is available at translatewiki.net
Check usage and version matrix.

The HeadScript extension allows scripts to easily be added just before </head> of the wiki. The code for the head script is defined in LocalSettings.php and is controlled by variables. This implementation makes it easy for inexperienced users of MediaWiki to implement head scripts just before </head> of the wiki. It also makes it possible to add head scripts that cannot be changed or removed, such as would be possible by wiki administrators if the head script were added to the site notice. This makes the extension particularly useful for placing Cookie Consent plugin or css style links, as such content cannot be removed by abusive or rogue administrators.

Installation[edit]

  • Download and extract and place the file(s) in a directory called HeadScript in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/HeadScript/HeadScript.php";
    
  • Configure as required
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration[edit]

One or more head scripts can be added to the wiki. The head scripts can consist of any HTML and/or JavaScript.

To configure the head script, add the following to LocalSettings.php after the installation line:

$wgHeadScriptCode = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;

Leave untouched the first and last line with START_END_MARKER stuff, this is a special syntax of PHP (without it, it would be tricky to deal with apostrophes inside the script). Don’t even add whitespaces around the last line’s marker, it would break it (more details about this syntax).

To add additional scripts, simply include them between the markers:

$wgHeadScriptCode = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;

You may specify a name for the script too if needed, add the following after the installation line:

$wgHeadScriptName = 'my-wonderful-script';

Bug[edit]

You may see a warning when you execute this extension, something like PHP Notice: Undefined variable: type in /mediawiki/extensions/HeadScript/HeadScript.php on line 3, this is a small bug. You can fix it by editing HeadScript.php and changing the line

$wgExtensionCredits[$type][] = array(

by the following line ($type is replaced by 'other')

$wgExtensionCredits['other'][] = array(