Module:Namespace detect/doc

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.

Parameters

 * main - text to return if the page is in the main namespace.
 * talk - text to return if the page is in a talk namespace. This can be any talk namespace - it will match any of "Talk:", "The Sims Wiki talk:", "User talk:", etc.
 * Subject namespace parameters, e.g. the sims wiki, user, file... - the text to return if the page is in the corresponding namespace. This module accepts all subject namespaces as parameters, including namespace aliases and virtual namespaces. See below for a list of supported values.
 * other - text to return if no parameters for the page's namespace were specified. This text is also returned if demospace is set to an invalid namespace value.
 * subjectns - if on a talk page, use the corresponding subject page. Can be set with values of "yes", "y", "true" or "1".
 * demopage - specifies a page to detect the namespace of. If not specified, and if the demospace parameter is not set, then the module uses the current page.
 * demospace - force the module to behave as if the page was in the specified namespace. Often used for demonstrations.

Namespace parameters
Possible values for subject namespace parameters are as follows:

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

&#123;&#123;#invoke:Namespace detect|table|talk=yes&#125;&#125;

To include the parameter for talk namespaces, use yes.

Porting to different wikis
This module is designed to be portable, and should work straight out of the box. Don't forget to import Module:Namespace detect/config and Module:Namespace detect/data over as well.

You can customize the module by editing the values on 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.

Credits
This module was taken from wikipedia:Module:Namespace detect.