Extension:HighlightJS

From MediaWiki.org
Jump to navigation Jump to search
MediaWiki extensions manual
Crystal Clear action run.svg
HighlightJS
Release status: stable
Implementation Parser function
Description A wrapper for the "highlight.js" client-side syntax highlighter
Author(s) Aran Dunkley (Nadtalk)
Latest version 1.1.2 (2015-09-04)
MediaWiki 1.25 or later
Database changes No
License GNU General Public License 2.0 or later
Download external source
Translate the HighlightJS extension if it is available at translatewiki.net
Check usage and version matrix.

This extension is a drop-in replacement for the GeSHi syntax highlighter extension. It does exactly the same thing, but instead of using GeSHi to do the highlighting on the server-side, it uses the client-side JavaScript highlighter from highlightjs.org. I've included a few of the most popular languages in the extension bundle, but you can download more from the main site, it supports over a hundred languages!

Installation[edit]

  • Download the code and place the file(s) in a directory called HighlightJS in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'HighlightJS' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

To users running MediaWiki 1.24 or earlier:

The instructions above describe the new way of installing this extension using wfLoadExtension() If you need to install this extension on these earlier versions (MediaWiki 1.24 and earlier), instead of wfLoadExtension( 'HighlightJS' );, you need to use:

require_once "$IP/extensions/HighlightJS/HighlightJS.php";

Usage[edit]

Code-blocks are created in the same way as the existing SyntaxHighlight one where the code-block is surrounded by a source tag with a language attribute as shown in the following example.

<source lang="js">
console.log('Some JavaScript code');
</source>

The colour theme can be set using the $wgHighlightJsStyle global variable which by default is empty which means to use the Organic Design code colours. You can set this to any of the sixty or so styles that you can see in the highlight/styles directory (don't include the ".css" in the setting).

Some wikis including this one now use the syntaxhighlight tag instead, so if your wiki already has existing code-blocks that use a different tag, you can set the tag that the HighlightJS extension uses with the $wgHighlightJsMagic global variable.

Example configuration options:

wfLoadExtension( 'HighlightJS' );
$wgHighlightJsMagic = 'syntaxhighlight';
$wgHighlightJsStyle = 'tomorrow-night-bright';