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
Hooks used
  • ParserClearState

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

  • Extension:ForceTocOnEveryPage
  • Extension:DeToc - This can be used to extract TOC HTML and to remove it or put it in some other section of the page.
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.