memory alpha

This module allows you to output different text depending on the namespace that a given page is in. It is a Lua implementation of the {{namespace detect}} template, with a few improvements: all namespaces and all namespace aliases are supported, and namespace names are detected automatically for the local wiki.

Usage

{{#invoke: Namespace detect | main
| page              = <!-- page to detect namespace for, if not the current page -->
| main              = <!-- text to return for the main namespace -->
| talk              = <!-- text to return for talk namespaces -->

<!-- text to return for specific subject namespaces -->
| portal            = 
| category          = 
| user 	            = 
| memory alpha      = 
| mediawiki         = 
| template          = 
| special           = 
| media             = 
| file              = 
| image             = 
| ma help           = 
| module            = 

| other             = <!-- text to return for unspecified namespaces -->
| demospace         = <!-- namespace to display text for -->

| subjectns         = <!-- set to "yes" to treat talk pages as the corresponding subject page -->
}}

Parameters

Namespace parameters

Possible values for subject namespace parameters are as follows:

Namespace Aliases
main
user
memory alpha project
file image
mediawiki
template
help
category
portal
forum
ma help
geojson
user blog
blog
module
message wall
message wall greeting
board
topic
map

Table function

Use the following to display a table with the different possible namespace parameters:

{{#invoke:Namespace detect|table|talk=''yes''}}


To include the parameter for talk namespaces, use |talk=yes.

Porting to different wikis

This module is designed to be portable. To use it on a different wiki, all you need to do is to change the values in Module:Namespace detect/config. Instructions are available on that page.

Technical details

The module uses a data page at Module:Namespace detect/data. This page is loaded with mw.loadData, which means it is processed once per page rather than once per #invoke. This was done for performance reasons.