Extension:Geshi

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
geshi

Release status: stable

Implementation Tag
Description Syntax highlight text snippets, whole pages or whole files.
Author(s) Jean-Lou Dupont
Last version 1.0.0
MediaWiki 1.10, 1.11
License No license specified
Download SVN
See SVN ($Id: geshi.doc.wikitext 491 2007-10-10 15:34:11Z jeanlou.dupont $)
Check usage and version matrix

See also: Extension:SyntaxHighlight GeSHi.

Contents

Purpose [edit]

Syntax highlight text snippets, whole pages or whole files. The extension also provides a new 'hook' for other extensions to leverage as well as providing syntax highlighting for text blocks, whole pages or whole files. Line numbers can optionally be included or omitted.

Usage [edit]

  • LINES parameter
    • 0 -> no line numbers
    • 1 -> include line numbers
  • LANG parameter: language
  • SOURCE parameter
    • source=page where page is a valid page
    • source=file where file is a valid file of the Mediawiki installation accessible through the root of the installation.

Example 1 [edit]

<geshi lang=LANG lines=LINES source=SOURCE> code OR page title OR filename </geshi>

Example 2 [edit]

<php lines=LINES source=SOURCE> php code OR page title OR filename </php>

This usage is especially useful to integrate with other extensions (such as Form Processor).

Extensibility [edit]

This extension provides a new hook SyntaxHighlight that can be leveraged by other extensions.

public function handler( &$text, $lang, $lines, &$result )

History [edit]

  • Added 'source' tag for aligning with some similar extensions.
  • Added 'js' tag for highlighting 'Javascript'
  • Added 'css' tag for highlighting 'CSS'
  • Added parser function '{{#source ...}}'

1.0.0 [edit]

  • Moved to PEAR distribution channel

Dependencies [edit]

Note: Geshi may not work with the newest version of StubManager (1.3.2); try StubManager 1.0.0



Installation [edit]

See the Mediawiki Extension table entry "download" above.[1]

LocalSettings.php [edit]

Extension:ExtensionManager: See footnote[2]

require_once( "$IP/extensions/geshi/geshi.php" );
  • Since this Extensions is depending on StubManager, add the line after the StubManager include, or else your Wiki won't work.

PEAR [edit]

PEAR is a repository of PHP software code.

pear channel-discover mediawiki.googlecode.com/svn
  • Install extension through PEAR:
pear install mediawiki/geshi
  • Add the following to LocalSettings.php[2][3]:
require 'MediaWiki/geshi/geshi.php';
  • Note that the required version of PEAR must be respected. Currently, the minimum version of PEAR usable with this channel is v1.6.2. Perform the following command to upgrade to the latest version of PEAR:
pear upgrade pear

Upgrades through PEAR [edit]

Sometimes, it is necessary to clear PEAR's cache in order to perform upgrades.

pear clear-cache

or use the force method:

pear upgrade --force mediawiki/geshi

PEAR Web Frontend [edit]

For easier remote package management, PEAR Frontend WEB can be installed. Installation notes can be found here. An example of the WEB frontend is available here.

RSS feed [edit]

To keep up-to-date with this channel, use the following RSS feed__Rss2.jpg.

Notes [edit]

Other Extensions From the same author [edit]

Consult User Jldupont's page.


  1. The most recent release is always available through the extension's PEAR and SVN repositories. This page is not necessarily up-to-date.
  2. 2.0 2.1 2.2 Extension:ExtensionManager does not require any modification to LocalSettings.php because ExtensionManager includes the extension.
    Note that if PHP code caching is in place (e.g. APC, eAccelerator), then to successfully complete the installation a cache flush might be needed.
  3. Modifications to LocalSettings.php is only necessary if not using Extension:ExtensionManager

External Links [edit]