Lingo is a glossary extension to MediaWiki, that lets you define abbreviations and their definitions on a wiki page. It displays these definitions whenever an abbreviation is hovered over in an article.
See https://www.mediawiki.org/wiki/Extension:Lingo for online documentation.
The recommended way to install this extension is by using Composer.
composer.local.json
file{ "require": { "mediawiki/lingo": "^3.0" } }
Run php composer.phar update mediawiki/lingo
from the MediaWiki installation directory.
Add the following code to your LocalSettings.php:
wfLoadExtension('Lingo');
Run php composer.phar update mediawiki/lingo
from the MediaWiki installation directory.
Add the following to LocalSettings.php
and uncomment/modify as needed:
$wgHooks['SetupAfterCache'][] = function() { // specify a different name for the terminology page (Default: 'Terminology' (or localised version). See MediaWiki:Lingo-terminologypagename.) //$GLOBALS['wgexLingoPage'] = 'Terminology'; // specify that each term should be annotated only once per page (Default: false) //$GLOBALS['wgexLingoDisplayOnce'] = false; // specify what namespaces should or should not be used (Default: Empty, i.e. use all namespaces) //$GLOBALS['wgexLingoUseNamespaces'][NS_SPECIAL] = false; // set default cache type (Default: null, i.e. use main cache) //$GLOBALS['wgexLingoCacheType'] = CACHE_NONE; // use ApprovedRevs extension on the Terminology page (Default: false) //$GLOBALS['wgexLingoEnableApprovedRevs'] = true; };
By default Lingo will mark up any page that is not in a forbidden namespace. To exclude a page from markup you can include NOGLOSSARY anywhere in the article. In some cases it may be necessary to exclude portions of a page, e.g. because Lingo interferes with some JavaScript. This can be achieved by wrapping the part in an HTML element (e.g. a span or a div) and specify class="noglossary".
Create the page "Terminology" (no namespace), and insert some entries using the following syntax:
;FTP:File Transport Protocol ;AAAAA:American Association Against Acronym Abuse ;ACK:Acknowledge ;AFAIK:As Far As I Know ;AWGTHTGTATA:Are We Going To Have To Go Through All This Again ;HTTP:HyperText Transfer Protocol
From the Lingo
directory run
php ../../tests/phpunit/phpunit.php --group extensions-lingo -c phpunit.xml.dist
Comments, questions and suggestions should be sent or posted to:
Lingo is a rewrite of Extension:Terminology, written by BarkerJr with modifications by Benjamin Kahn. It was originally written by Barry Coughlan and is currently maintained by Stephan Gambke.
GNU General Public License 2.0 or later.