Extension:CustomNavBlocks

The CustomNavBlocks Extension allows you to customize your sidebar a lot further than what is possible with MediaWiki:Sidebar. With this extension each block is represented by its own page. That makes it possible to use any kind of element in your Sidebar, including images, numbered lists, nested lists, and so on. For example, this Wiki uses a vertical bar (' ') as a separator in the first block.

Download
Alternatively, the CustomNavBlocks.php file can be downloaded directly and then copied into the appropriate /extensions folder:

wget http://git.fsinf.at/mediawiki/customnavblocks/blobs/raw/master/CustomNavBlocks.php

Old MediaWiki (pre 1.10.0)
If you use an old MediaWiki-installation (older than 1.10.0), you should use version 1.0.0. It works a bit differently, please see revision 181564 of this page for documentation.

Installation
Download the CustomNavBlocks-extension and make the following adjustments to your LocalSettings.php: If you used version 1.0.0 of this extension before, please make sure that you revert MonoBook.php to its original state. See the patch for MonoBook.php to see what the patch changed.

Configuration
After the extension is enabled, MediaWiki will look for a page called MediaWiki:CustomNavBlocks. This file defines the blocks used in the sidebar and has the following format: Pagename|title Pagename2|title2 In this example, the first block will be the content of MediaWiki:pagename with the title 'title' and the second block will be the content of MediaWiki:pagename2 with the title 'title2'. Please note that each line must not have more than one pipe ("|").

Next, you have to create the special pages and fill them with the content you want in your blocks. In the above example, create MediaWiki:Pagename and MediaWiki:Pagename2.

Example
http://vowi.fsinf.at has the extension enabled. The Sidebar-blocks are defined at MediaWiki:CustomNavBlocks, the first block is at MediaWiki:CustomBlockNavigation and so on.

Horizontal rows and the Vector skin
The Vector skin doesn't look very good when a block contains a, which translates to a HTML element. To make good looking horizontal rows, that integrate well with the skin, we used CSS. First, no longer use WikiMarkup in your NavBlock:

first subsection this section will have a above.

Then add the following CSS to MediaWiki:Monobook.css:

border-top: 1px solid #AAAAAA; margin-top: 0.1em; }
 * 1) customnavblocks-subsection {

... and MediaWiki:Vector.css:

background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAABCAAAAAAphRnkAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeF61yMEJACAQxMCN/Xfr/yIsaAfOJxC2UTPWS6f5gABhUTedBz7fGPSonIP/AAAAAElFTkSuQmCC"); background-position: left top; background-repeat: no-repeat; font-size: 0.75em; padding-top: 0.1em; }
 * 1) customnavblocks-subsection {

... note that you will have to change the URL to the one your wiki uses.

My wiki displays the normal sidebar

 * Have you checked that you have included CustomNavBlocks.php in LocalSettings.php and set $wgCustomNavBlocksEnable to true? The Installation-chapter has a code-snippet that should work almost everywhere.
 * Does any line in MediaWiki:CustomNavBlocks contain more than one pipe ("|")?
 * Do all the pages defined in MediaWiki:CustomNavBlocks exist? If any page does not exist, the normal sidebar will be displayed.

upper-case block-titles
The MediaWiki-CSS (at least for the MonoBook skin) defines the titles of a block to be in lower-case. To override this behavior, edit MediaWiki:Common.css to include these lines: You can of course set the text-transform property to any of the valid values.

Headers but no contents
The extension may not work with certain MediaWiki skins, so that the headers defined in MediaWiki:CustomNavBlocks are shown, but not their contents.

2.0.0
This is almost a complete rewrite:
 * The extension now uses the SkinTemplateOutputPageBeforeExec-hook, which is available in MediaWiki 1.10.0 and later.
 * Thanks to that hook, you no longer have to patch MonoBook.php to get this working
 * The extension should now work completely independent of the MonoBook-theme.
 * The syntax of MediaWiki:CustomNavBlocks has changed a bit: To avoid ambiguities, each block is now written in its own line. This way both pagenames and blocktitles can contain spaces.
 * If anything goes wrong, the extension will break and display the normal sidebar.

1.0.0

 * The code of this extension wasn't changed for ages, but the patches for MonoBook.php change with each version of MediaWiki, since the line-numbers change.
 * first version documented here

1.16 Stability
I have tested this on my server and functions exactly as it does in 1.15 versions on my high-traffic wiki (1,500+ visitors a day). I used this over all three beta's and now the stable version, no problems whatsoever. (site with it in use is http://www.aionopedia.info)