Skip to content

🧪 🔨 working fork - please see official version wikimedia/​mediawiki-extensions-Lingo

License

Notifications You must be signed in to change notification settings

WikiValley/Lingo

 
 

Repository files navigation

Lingo

Build Status Code Coverage Code Quality Dependency Status Latest Stable Version Packagist download count

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.

Requirements

  • PHP 7.0 or later
  • MediaWiki 1.31 or later

Installation & Activation

The recommended way to install this extension is by using Composer.

  1. Add the following to the MediaWiki composer.local.json file
{
	"require": {
		"mediawiki/lingo": "^3.0"
	}
}
  1. Run php composer.phar update mediawiki/lingo from the MediaWiki installation directory.

  2. Add the following code to your LocalSettings.php:

wfLoadExtension('Lingo');

Updating

Run php composer.phar update mediawiki/lingo from the MediaWiki installation directory.

Customization

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;

};

Usage

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".

Terminology page

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

Running tests

From the Lingo directory run

php ../../tests/phpunit/phpunit.php  --group extensions-lingo -c phpunit.xml.dist

Reporting bugs

Comments, questions and suggestions should be sent or posted to:

Credits

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.

License

GNU General Public License 2.0 or later.

About

🧪 🔨 working fork - please see official version wikimedia/​mediawiki-extensions-Lingo

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages

  • JavaScript 49.8%
  • PHP 41.5%
  • CSS 6.0%
  • Shell 1.9%
  • Less 0.8%