Module:Category handler/config: Difference between revisions

Jump to navigation Jump to search
(restructure, make most config optional, and add a few items to the blacklist)
m (12 revisions imported)
 
(10 intermediate revisions by 2 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 16:18, 7 February 2017

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.