Module:Category handler/config
Appearance
![]() | This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
![]() | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
![]() | This module can only be edited by administrators because it is transcluded onto one or more cascade-protected pages. |
![]() | This Lua module is used in system messages, and on approximately 4,770,000 pages, or roughly 8% of all pages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them. |
Usage
{{#invoke:Category handler|function_name}}
--------------------------------------------------------------------------------
-- [[Module:Category handler]] configuration data --
-- Language-specific parameter names and values can be set here. --
--------------------------------------------------------------------------------
local cfg = {} -- Don't edit this line.
--------------------------------------------------------------------------------
-- Start configuration data --
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Parameter names --
-- These configuration items specify custom parameter names. Values added --
-- here will work in addition to the default English parameter names. --
-- To add one extra name, you can use this format: --
-- --
-- cfg.foo = 'parameter name' --
-- --
-- To add multiple names, you can use this format: --
-- --
-- cfg.foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'} --
--------------------------------------------------------------------------------
---- The nocat and categories parameter suppress
---- categorisation. They are used with Module:Yesno, and work as follows:
----
---- cfg.nocat:
---- Result of yesno(args[cfg.nocat]) Effect
---- true Categorisation is suppressed
---- false Categorisation is allowed, and the
---- blacklist check is skipped
---- nil Categorisation is allowed
----
---- cfg.categories:
---- Result of yesno(args[cfg.categories]) Effect
---- true Categorisation is allowed, and the
---- blacklist check is skipped
---- false Categorisation is suppressed
---- nil Categorisation is allowed
-- cfg.nocat = 'nocat'
-- cfg.categories = 'categories'
---- The parameter name for the legacy "category2" parameter. This skips the
---- blacklist if set to the cfg.category2Yes value, and suppresses
---- categorisation if present but equal to anything other than cfg.category2Yes
---- or cfg.category2Negative.
-- cfg.category2 = 'category2'
---- cfg.subpage is the parameter name to specify how to behave on subpages.
-- cfg.subpage = 'subpage'
---- The parameter for data to return in all namespaces.
-- cfg.all = 'all'
---- The parameter name for data to return if no data is specified for the
---- namespace that is detected.
-- cfg.other = 'other'
---- The parameter name used to specify a page other than the current page; used
---- for testing and demonstration. This must be the same as the cfg.page
---- parameter in [[Module:Namespace detect]].
cfg.demopage = 'page'
--------------------------------------------------------------------------------
-- Parameter values --
-- These are set values that can be used with certain parameters. Only one --
-- value can be specified, like this: --
-- --
-- cfg.foo = 'value name' --
-- --
-- These settings are optional. It is always possible to use the module --
-- defaults instead. --
--------------------------------------------------------------------------------
---- The following settings are used with the cfg.category2 parameter. Setting
---- cfg.category2 to cfg.category2Yes skips the blacklist, and if cfg.category2
---- is present but equal to anything other than cfg.category2Yes or
---- cfg.category2Negative then it supresses cateogrisation.
-- cfg.category2Yes = 'yes'
-- cfg.category2Negative = '¬'
---- The following settings are used with the cfg.subpage parameter.
---- cfg.subpageNo is the value to specify to not categorise on subpages;
---- cfg.subpageOnly is the value to specify to only categorise on subpages.
-- cfg.subpageNo = 'no'
-- cfg.subpageOnly = 'only'
--------------------------------------------------------------------------------
-- Blacklist --
-- The categorisation blacklist. Pages that match Lua patterns in this list --
-- will not be categorised. (However, see the explanation of cfg.nocat, --
-- cfg.categories and cfg.category2 for some exceptions.) If the namespace --
-- name has a space in, it must be written with an underscore, e.g. --
-- "Wikipedia_talk". Other parts of the title can have either underscores or --
-- spaces. --
--------------------------------------------------------------------------------
cfg.blacklist = {
-- Don't categorise the Main Page.
'^Main Page$',
-- Don't categorise [[Wikipedia:Cascade-protected items]] or its subpages.
-- The pattern '%f[/\0]' matches a blank string where the next character is
-- either '/' or the end of the string, and the previous character is not
-- one of those characters.
'^Wikipedia:Cascade%-protected items%f[/\0]',
-- Don't categorise [[User:UBX]], [[User talk:UBX]] or any of their
-- subpages. This is the userbox "template" space, and often gets
-- categorised with userbox categories by mistake.
'^User:UBX%f[/\0]',
'^User_talk:UBX%f[/\0]',
-- Don't categorise subpages of [[Wikipedia:Template messages]], but allow
-- categorisation of the base page.
'^Wikipedia:Template messages/.+$',
-- Don't categorise User CSD logs or PROD logs.
'^User:.*/[cC][sS][dD] ?[lL][oO][gG]',
'^User:.*/[pP][rR][oO][dD] ?[lL][oO][gG]',
-- Don't categorise archives.
'/[aA]rchive',
"^Wikipedia:Administrators' noticeboard/IncidentArchive",
"^Wikipedia:Administrators' noticeboard/3RRArchive",
}
--------------------------------------------------------------------------------
-- Default namespaces --
-- This is a table of namespaces to categorise by default. They should be in --
-- the format of parameter names accepted by [[Module:Namespace detect]]. --
--------------------------------------------------------------------------------
cfg.defaultNamespaces = {
'main',
'file',
'help',
'category'
}
--------------------------------------------------------------------------------
-- End configuration data --
--------------------------------------------------------------------------------
return cfg -- Don't edit this line.