Jump to content

Extension:NoTOC

From mediawiki.org
MediaWiki extensions manual
NoTOC
Release status: unmaintained
Implementation Parser extension
Description Turns off Table of Contents by default on all pages
Author(s) Andrew Fitzgerald (Frantiktalk)
Latest version 0.1.1 (2013-12-11)
MediaWiki
Database changes No
License GNU General Public License 2.0 or later
Download See the code section

The NoTOC extension hides the table of contents by default. The magic word __TOC__ can still be used normally.

Installation

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

Code

NoTOC.php
<?php
/**
 * NoTOC extension - Turns off the Table of Contents (TOC) by default on all pages
 * @version 0.1.1 - 2013/12/11
 *
 * @link https://www.mediawiki.org/wiki/Extension:NoTOC Documentation
 * @link https://www.mediawiki.org/wiki/Extension_talk:NoTOC Support
 *
 * @ingroup Extensions
 * @package MediaWiki
 * @author Andrew Fitzgerald (Frantik)
 * @author Karsten Hoffmeyer (Kghbln)
 * @copyright (C) 2010 Andrew Fitzgerald
 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
 */

// check the call
if ( !defined( 'MEDIAWIKI' ) ) {
        die( 'This file is a MediaWiki extension and thus not a valid entry point.' );
}

// provide information
$wgExtensionCredits['parserhook'][] = array(
	'path' => __FILE__,
	'name' => 'NoTOC',
        'author' => array(
                'Andrew Fitzgerald', '...'
                ),
	'url' => 'https://www.mediawiki.org/wiki/Extension:NoTOC', 
	'descriptionmsg' => 'notoc-desc',
	'version' => '0.1.1'
);

// show way to files
$wgExtensionMessagesFiles['NoTOC'] = dirname( __FILE__ ) . '/NoTOC.i18n.php';

// register hooks
$wgHooks['ParserClearState'][] = 'efMWNoTOC';
 
// perform purpose
function efMWNoTOC($parser) {
    $parser->mShowToc = false;
    return true;
}
NoTOC.i18n.php
<?php
/**
 * Internationalization file for the NoTOC extension.
 *
 * @licence GNU GPL v2 
 * @author Karsten Hoffmeyer (Kghbln)
 */

$messages = array();

/** English
 * @author Frantik
 * @author Kghbln
 */
$messages['en'] = array(
        'notoc-desc' => 'Turns off the Table of Contents (TOC) by default on all pages',
);

/** Message documentation (Message documentation)
 * @author Kghbln
 */
$messages['qqq'] = array(
        'notoc-desc' => '{{desc|name=NoTOC|url=https://www.mediawiki.org/wiki/Extension:NoTOC}}',
);

/** German (Deutsch)
 * @author Kghbln
 */
$messages['de'] = array(
        'notoc-desc' => 'Unterdrückt die automatische Generierung des Inhaltsverzeichnisses',
);

See also