Difference between revisions of "Module:Category handler/config"

From MINR.ORG WIKI
(restructure, make most config optional, and add a few items to the blacklist)
m (1 revision imported: Import countdown)
 
(12 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
--            [[Module:Category handler]] configuration data                  --
 
--            [[Module:Category handler]] configuration data                  --
 
--      Language-specific parameter names and values can be set here.        --
 
--      Language-specific parameter names and values can be set here.        --
 +
--      For blacklist config, see [[Module:Category handler/blacklist]].    --
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
  
Line 12: Line 13:
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
 
--                              Parameter names                              --
 
--                              Parameter names                              --
-- These configuration items specify custom parameter names. Values added    --
+
-- These configuration items specify custom parameter names.                 --
-- here will work in addition to the default English parameter names.        --
 
 
-- To add one extra name, you can use this format:                            --
 
-- To add one extra name, you can use this format:                            --
 
--                                                                            --
 
--                                                                            --
-- cfg.foo = 'parameter name'                                                 --
+
-- foo = 'parameter name',                                                    --
 
--                                                                            --
 
--                                                                            --
 
-- To add multiple names, you can use this format:                            --
 
-- To add multiple names, you can use this format:                            --
 
--                                                                            --
 
--                                                                            --
-- cfg.foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'}     --
+
-- foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'},        --
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
  
---- The nocat and categories parameter suppress
+
cfg.parameters = {
---- categorisation. They are used with Module:Yesno, and work as follows:
+
----
+
-- The nocat and categories parameter suppress
---- cfg.nocat:
+
-- categorisation. They are used with Module:Yesno, and work as follows:
---- Result of yesno(args[cfg.nocat])         Effect
+
--
---- true                                    Categorisation is suppressed
+
-- cfg.nocat:
---- false                                    Categorisation is allowed, and the
+
-- Result of yesno()                       Effect
----                                          blacklist check is skipped
+
-- true                                    Categorisation is suppressed
---- nil                                      Categorisation is allowed
+
-- false                                    Categorisation is allowed, and
----
+
--                                          the blacklist check is skipped
---- cfg.categories:
+
-- nil                                      Categorisation is allowed
---- Result of yesno(args[cfg.categories])   Effect
+
--
---- true                                    Categorisation is allowed, and the
+
-- cfg.categories:
----                                          blacklist check is skipped
+
-- Result of yesno()                       Effect
---- false                                    Categorisation is suppressed
+
-- true                                    Categorisation is allowed, and
---- nil                                      Categorisation is allowed
+
--                                          the blacklist check is skipped
-- cfg.nocat = 'nocat'  
+
-- false                                    Categorisation is suppressed
-- cfg.categories = 'categories'
+
-- nil                                      Categorisation is allowed
 
+
nocat = 'nocat',
---- The parameter name for the legacy "category2" parameter. This skips the
+
categories = 'categories',
---- blacklist if set to the cfg.category2Yes value, and suppresses
+
---- categorisation if present but equal to anything other than cfg.category2Yes
+
-- The parameter name for the legacy "category2" parameter. This skips the
---- or cfg.category2Negative.
+
-- blacklist if set to the cfg.category2Yes value, and suppresses
-- cfg.category2 = 'category2'
+
-- categorisation if present but equal to anything other than
 
+
-- cfg.category2Yes or cfg.category2Negative.
---- cfg.subpage is the parameter name to specify how to behave on subpages.
+
category2 = 'category2',
-- cfg.subpage = 'subpage'
+
 
+
-- cfg.subpage is the parameter name to specify how to behave on subpages.
---- The parameter for data to return in all namespaces.
+
subpage = 'subpage',
-- cfg.all = 'all'
+
 
+
-- The parameter for data to return in all namespaces.
---- The parameter name for data to return if no data is specified for the
+
all = 'all',
---- namespace that is detected.
+
-- cfg.other = 'other'
+
-- The parameter name for data to return if no data is specified for the
 
+
-- namespace that is detected.
---- The parameter name used to specify a page other than the current page; used
+
other = 'other',
---- for testing and demonstration. This must be the same as the cfg.page
+
---- parameter in [[Module:Namespace detect]].
+
-- The parameter name used to specify a page other than the current page;
cfg.demopage = 'page'
+
-- used for testing and demonstration.
 +
demopage = 'page',
 +
}
  
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
Line 68: Line 70:
 
-- value can be specified, like this:                                        --
 
-- value can be specified, like this:                                        --
 
--                                                                            --
 
--                                                                            --
-- cfg.foo = 'value name'                                                    --
+
-- 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
+
-- The following settings are used with the cfg.category2 parameter. Setting
---- cfg.category2 to cfg.category2Yes skips the blacklist, and if cfg.category2
+
-- cfg.category2 to cfg.category2Yes skips the blacklist, and if cfg.category2
---- is present but equal to anything other than cfg.category2Yes or
+
-- is present but equal to anything other than cfg.category2Yes or
---- cfg.category2Negative then it supresses cateogrisation.
+
-- cfg.category2Negative then it supresses cateogrisation.
-- cfg.category2Yes = 'yes'
+
cfg.category2Yes = 'yes'
-- cfg.category2Negative = '¬'
+
cfg.category2Negative = '¬'
  
---- The following settings are used with the cfg.subpage parameter.
+
-- The following settings are used with the cfg.subpage parameter.
---- cfg.subpageNo is the value to specify to not categorise on subpages;
+
-- 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.subpageOnly is the value to specify to only categorise on subpages.
-- cfg.subpageNo = 'no'
+
cfg.subpageNo = 'no'
-- cfg.subpageOnly = 'only'
+
cfg.subpageOnly = 'only'
  
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
--                                 Blacklist                                  --
+
--                           Default namespaces                              --
-- The categorisation blacklist. Pages that match Lua patterns in this list   --
+
-- This is a table of namespaces to categorise by default. The keys are the   --
-- will not be categorised. (However, see the explanation of cfg.nocat,      --
+
-- namespace numbers.                                                         --
-- 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 = {
+
cfg.defaultNamespaces = {
'^Main Page$', -- don't categorise the main page.
+
[  0] = true, -- main
 
+
[  6] = true, -- file
-- Don't categorise the following pages or their subpages.
+
[ 12] = true, -- help
'^Wikipedia:Cascade%-protected items$',
+
[ 14] = true, -- category
'^Wikipedia:Cascade%-protected items/.*$',
+
[100] = true, -- portal
'^User:UBX$', -- The userbox "template" space.
+
[108] = true, -- book
'^User:UBX/.*$',
 
'^User_talk:UBX$',
 
'^User_talk:UBX/.*$',
 
 
 
-- Don't categorise subpages of these pages, 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                              --
+
--                               Wrappers                                    --
-- This is a table of namespaces to categorise by default. They should be in --
+
-- This is a wrapper template or a list of wrapper templates to be passed to --
-- the format of parameter names accepted by [[Module:Namespace detect]].     --
+
-- [[Module:Arguments]].                                                     --
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------
  
cfg.defaultNamespaces = {
+
cfg.wrappers = 'Template:Category handler'
'main',
 
'file',
 
'help',
 
'category'
 
}
 
  
 
--------------------------------------------------------------------------------
 
--------------------------------------------------------------------------------

Latest revision as of 20:36, 20 April 2019

Documentation for this module may be created at Module:Category handler/config/doc

--------------------------------------------------------------------------------
--            [[Module:Category handler]] configuration data                  --
--       Language-specific parameter names and values can be set here.        --
--       For blacklist config, see [[Module:Category handler/blacklist]].     --
--------------------------------------------------------------------------------

local cfg = {} -- Don't edit this line.

--------------------------------------------------------------------------------
--                       Start configuration data                             --
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
--                              Parameter names                               --
-- These configuration items specify custom parameter names.                  --
-- To add one extra name, you can use this format:                            --
--                                                                            --
-- foo = 'parameter name',                                                    --
--                                                                            --
-- To add multiple names, you can use this format:                            --
--                                                                            --
-- foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'},        --
--------------------------------------------------------------------------------

cfg.parameters = {
	
	-- The nocat and categories parameter suppress
	-- categorisation. They are used with Module:Yesno, and work as follows:
	--
	-- cfg.nocat:
	-- Result of yesno()                        Effect
	-- true                                     Categorisation is suppressed
	-- false                                    Categorisation is allowed, and
	--                                          the blacklist check is skipped
	-- nil                                      Categorisation is allowed
	--
	-- cfg.categories:
	-- Result of yesno()                        Effect
	-- true                                     Categorisation is allowed, and
	--                                          the blacklist check is skipped
	-- false                                    Categorisation is suppressed
	-- nil                                      Categorisation is allowed
	nocat = 'nocat',
	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.
	category2 = 'category2',
	
	-- cfg.subpage is the parameter name to specify how to behave on subpages.
	subpage = 'subpage',
	
	-- The parameter for data to return in all namespaces.
	all = 'all',
	
	-- The parameter name for data to return if no data is specified for the
	-- namespace that is detected.
	other = 'other',
	
	-- The parameter name used to specify a page other than the current page;
	-- used for testing and demonstration.
	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'                                                     --                                               --
--------------------------------------------------------------------------------

-- 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'

--------------------------------------------------------------------------------
--                           Default namespaces                               --
-- This is a table of namespaces to categorise by default. The keys are the   --
-- namespace numbers.                                                         --
--------------------------------------------------------------------------------

cfg.defaultNamespaces = {
	[  0] = true, -- main
	[  6] = true, -- file
	[ 12] = true, -- help
	[ 14] = true, -- category
	[100] = true, -- portal
	[108] = true, -- book
}

--------------------------------------------------------------------------------
--                                Wrappers                                    --
-- This is a wrapper template or a list of wrapper templates to be passed to  --
-- [[Module:Arguments]].                                                      --
--------------------------------------------------------------------------------

cfg.wrappers = 'Template:Category handler'

--------------------------------------------------------------------------------
--                           End configuration data                           --
--------------------------------------------------------------------------------

return cfg -- Don't edit this line.