Extension:NamespaceRelations

NamespaceRelations extension allows an administrator to define additional namespace tabs besides Subject and Talk tabs in the interface. Whether the user is browsing Subject, Talk, or additional tabs, they will see them all together.

Configuration parameters
NamespaceRelations is configured solely by defining $wgNamespaceRelations. The supported format and parameters are as follows:
 * key1 : A key (ID) that is used in many places. It's the ID that is used in HTML rendering for actual element ID. Besides, it's used to find an appropriate message for the tab (via nstab-extra-key1).
 * namespace : Namespace ID where the tab should be visible.
 * target : Namespace ID where the tab should link.
 * inMainPage : By default, if the tab is attached to NS_MAIN, the tab won't be visible on Main Page (imitating Wikinews Opinions tab behvaiour). However, this may be overridden by setting inMainPage to true. This parameter isn't obligatory and is intended only for namespace = NS_MAIN</tt>.
 * query</tt> : Query string which action=edit&redlink=1</tt> is attached to if the target page doesn't exist. Gerrit change #43118 pending.
 * weight</tt> : Sorting weight. Subject and Talk tabs receive 10 and 20 appropriately; if weight</tt> is not set, every custom tab receives +10 points starting from 30 (30 for the first custom tab, 40 for the next, etc.). This parameter allows to place custom tabs in almost every position relative to Subject, Talk and other custom tabs.
 * hideTalk</tt> : Hide Talk tab.

You can define multiple tabs per one namespace</tt> which link to different target</tt>s, but you cannot define multiple tabs for different namespace</tt>s which linking to the same target</tt> — it creates ambiguous situation where we have 2+ Subject/Talk tabs (creating both — actually 4 tabs —– seems excessive). On the other hand, the first case (1 namespace → 2+ targets) works just fine.