Jump to content

Extension:CategorySortHeaders

From mediawiki.org
MediaWiki extensions manual
CategorySortHeaders
Release status: stable
Implementation Hook
Description Make custom headings in category pages, instead of just the first character headings
Author(s)
Latest version 0.4.0 (2021-04-20)
MediaWiki 1.35+
Database changes No

  • $wgCategorySortHeaderAppendPageNameToKey
Licence GNU General Public License 2.0 or later
Download
Translate the CategorySortHeaders extension if it is available at translatewiki.net

The CategorySortHeaders extension to allow specifying custom multi-character 'first-character' sorting headers to list pages under in categories, using syntax like [[Category:Foo|^Header^Invisible part of sortkey]] or even just [[Category:Foo|^Header^]].

Usage

If you want a category to use a custom header, do [[Category:Cat name|^header^OptionalInvisibleSortkey]] (or {{DEFAULTSORT:^header^Optionalsortkey}}. If you want to use the default first letter headers, just use categories as normal.

Installation

  • Download and move the extracted CategorySortHeaders folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CategorySortHeaders
    
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'CategorySortHeaders' );
    
  • Run either update.php or updateCollation.php from the command line (Note that running the web installer in upgrade mode does not work due to T19335)
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Warning Warning: Do not set $wgCategoryCollation in LocalSettings.php . This extension defines its own collation, and must use that.

Configuration

This extension has a single configuration option:

$wgCategorySortHeaderAppendPageNameToKey
It defaults to true, which causes a sortkey of ^foo^ to be treated like ^foo^{{PAGENAME}}. If it is set to false, it will sort ^foo^ above ^foo^<any string here>. (In both cases, if there are two exactly same sort keys, the pagename will be used as a tie breaker.) After changing this option you should run:
php updateCollation.php --force
If anyone likes the idea of this extension, but wants to use the uca-default collation instead of uppercase - let me (bawolff) know. It probably wouldn't be very difficult to modify this extension to make it work with uca-default

See also