Difference between revisions of "Module:Check for unknown parameters/doc"
m (1 revision imported) |
m (1 revision imported) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Used in system|in [[MediaWiki:Abusefilter-warning-DS]]}} |
− | {{ | + | {{Module rating|p}} |
− | + | {{Lua|Module:If preview|noprotcat=yes}} | |
− | This module may be appended to a template to check for uses of unknown parameters. | + | This module may be appended to a template to check for uses of unknown parameters. Unlike many other modules, this module is ''not'' implemented by a template. |
== Usage == | == Usage == | ||
=== Basic usage === | === Basic usage === | ||
− | < | + | <syntaxhighlight lang="wikitext"> |
− | {{#invoke: | + | {{#invoke:Check for unknown parameters|check |
|unknown=[[Category:Some tracking category]] | |unknown=[[Category:Some tracking category]] | ||
|arg1|arg2|arg3|argN}} | |arg1|arg2|arg3|argN}} | ||
− | </ | + | </syntaxhighlight> |
or to sort the entries in the tracking category by parameter with a preview error message | or to sort the entries in the tracking category by parameter with a preview error message | ||
− | < | + | <syntaxhighlight lang="wikitext"> |
− | {{#invoke: | + | {{#invoke:Check for unknown parameters|check |
|unknown=[[Category:Some tracking category|_VALUE_]] | |unknown=[[Category:Some tracking category|_VALUE_]] | ||
|preview=unknown parameter "_VALUE_" | |preview=unknown parameter "_VALUE_" | ||
|arg1|arg2|...|argN}} | |arg1|arg2|...|argN}} | ||
− | </ | + | </syntaxhighlight> |
or for an explicit red error message | or for an explicit red error message | ||
− | < | + | <syntaxhighlight lang="wikitext"> |
− | {{#invoke: | + | {{#invoke:Check for unknown parameters|check |
|unknown=<span class="error">Sorry, I don't recognize _VALUE_</span> | |unknown=<span class="error">Sorry, I don't recognize _VALUE_</span> | ||
|arg1|arg2|...|argN}} | |arg1|arg2|...|argN}} | ||
− | </ | + | </syntaxhighlight> |
Here, <code>arg1</code>, <code>arg2</code>, ..., <code>argN</code>, are the known parameters. Unnamed (positional) parameters can be added too: <code><nowiki>|1|2|argname1|argname2|...</nowiki></code>. Any parameter which is used, but not on this list, will cause the module to return whatever is passed with the <code>unknown</code> parameter. The <code>_VALUE_</code> keyword, if used, will be changed to the name of the parameter. This is useful for either sorting the entries in a tracking category, or for provide more explicit information. | Here, <code>arg1</code>, <code>arg2</code>, ..., <code>argN</code>, are the known parameters. Unnamed (positional) parameters can be added too: <code><nowiki>|1|2|argname1|argname2|...</nowiki></code>. Any parameter which is used, but not on this list, will cause the module to return whatever is passed with the <code>unknown</code> parameter. The <code>_VALUE_</code> keyword, if used, will be changed to the name of the parameter. This is useful for either sorting the entries in a tracking category, or for provide more explicit information. | ||
− | By default, the module makes no distinction between a defined-but-blank parameter and a non-blank parameter. That is, both unlisted {{ | + | By default, the module makes no distinction between a defined-but-blank parameter and a non-blank parameter. That is, both unlisted {{Para|foo|x}} and {{Para|foo}} are reported. To only track non-blank parameters use {{Para|ignoreblank|1}}. |
− | By default, the module ignores blank positional parameters. That is, an unlisted {{ | + | By default, the module ignores blank positional parameters. That is, an unlisted {{Para|2}} is ignored. To ''include'' blank positional parameters in the tracking use {{Para|showblankpositional|1}}. |
=== Lua patterns === | === Lua patterns === | ||
− | This module supports [[:mw:Extension:Scribunto/Lua reference manual#Patterns|Lua patterns]] (similar to [[regular expression]]s), which are useful when there are many known parameters which use a systematic pattern. For example, [[ | + | This module supports [[:mw:Extension:Scribunto/Lua reference manual#Patterns|Lua patterns]] (similar to [[regular expression]]s), which are useful when there are many known parameters which use a systematic pattern. For example, <code>[[Module:Infobox3cols|Infobox3cols]]</code> uses |
− | < | + | <syntaxhighlight lang="lua"> |
− | + | regexp1 = "header[%d]+", | |
− | + | regexp2 = "label[%d]+", | |
− | + | regexp3 = "data[%d]+[abc]?", | |
− | + | regexp4 = "class[%d]+[abc]?", | |
− | + | regexp5 = "rowclass[%d]+", | |
− | + | regexp6 = "rowstyle[%d]+", | |
− | + | regexp7 = "rowcellstyle[%d]+", | |
− | </ | + | </syntaxhighlight> |
to match all parameters of the form <code>headerNUM</code>, <code>labelNUM</code>, <code>dataNUM</code>, <code>dataNUMa</code>, <code>dataNUMb</code>, <code>dataNUMc</code>, ..., <code>rowcellstyleNUM</code>, where NUM is a string of digits. | to match all parameters of the form <code>headerNUM</code>, <code>labelNUM</code>, <code>dataNUM</code>, <code>dataNUMa</code>, <code>dataNUMb</code>, <code>dataNUMc</code>, ..., <code>rowcellstyleNUM</code>, where NUM is a string of digits. | ||
== Example == | == Example == | ||
− | < | + | <syntaxhighlight lang="wikitext"> |
{{Infobox | {{Infobox | ||
| above = {{{name|}}} | | above = {{{name|}}} | ||
Line 60: | Line 60: | ||
end infobox, start tracking | end infobox, start tracking | ||
-->{{#invoke:Check for unknown parameters|check | -->{{#invoke:Check for unknown parameters|check | ||
− | | unknown = {{ | + | | unknown = {{Main other|[[Category:Some tracking category|_VALUE_]]}} |
| preview = unknown parameter "_VALUE_" | | preview = unknown parameter "_VALUE_" | ||
| name | | name | ||
Line 66: | Line 66: | ||
| website | | website | ||
}} | }} | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | ==Call from within Lua code== | ||
+ | See the end of [[Module:Rugby box]] for a simple example or [[Module:Infobox3cols]] or [[Module:Flag]] for more complicated examples. | ||
==See also== | ==See also== | ||
− | * {{ | + | * {{Clc|Unknown parameters}} (category page can have header {{tl|Unknown parameters category}}) |
+ | * [[Module:Params]] – for complex operations involving parameters | ||
+ | * [[Template:Checks for unknown parameters]] – adds documentation to templates using this module | ||
* [[Module:Check for deprecated parameters]] – similar module that checks for deprecated parameters | * [[Module:Check for deprecated parameters]] – similar module that checks for deprecated parameters | ||
+ | * [[Module:Check for clobbered parameters]] – module that checks for conflicting parameters | ||
* [[Module:TemplatePar]] – similar function (originally from dewiki) | * [[Module:TemplatePar]] – similar function (originally from dewiki) | ||
* [[Template:Parameters]] and [[Module:Parameters]] – generates a list of parameter names for a given template | * [[Template:Parameters]] and [[Module:Parameters]] – generates a list of parameter names for a given template | ||
* [[Project:TemplateData]] based template parameter validation | * [[Project:TemplateData]] based template parameter validation | ||
− | + | * [[Module:Parameter validation]] checks a lot more | |
− | + | * [[User:Bamyers99/TemplateParametersTool]] - A tool for checking usage of template parameters | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <includeonly>{{ | + | <includeonly>{{Sandbox other|| |
<!-- Categories go here and interwikis go in Wikidata. --> | <!-- Categories go here and interwikis go in Wikidata. --> | ||
+ | [[Category:Modules that add a tracking category]] | ||
}}</includeonly> | }}</includeonly> |
Latest revision as of 00:45, 19 January 2024
Lua error in package.lua at line 80: module 'strict' not found.
Lua error in package.lua at line 80: module 'strict' not found.
This module may be appended to a template to check for uses of unknown parameters. Unlike many other modules, this module is not implemented by a template.
Usage
Basic usage
{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Some tracking category]]
|arg1|arg2|arg3|argN}}
or to sort the entries in the tracking category by parameter with a preview error message
{{#invoke:Check for unknown parameters|check
|unknown=[[Category:Some tracking category|_VALUE_]]
|preview=unknown parameter "_VALUE_"
|arg1|arg2|...|argN}}
or for an explicit red error message
{{#invoke:Check for unknown parameters|check
|unknown=<span class="error">Sorry, I don't recognize _VALUE_</span>
|arg1|arg2|...|argN}}
Here, arg1
, arg2
, ..., argN
, are the known parameters. Unnamed (positional) parameters can be added too: |1|2|argname1|argname2|...
. Any parameter which is used, but not on this list, will cause the module to return whatever is passed with the unknown
parameter. The _VALUE_
keyword, if used, will be changed to the name of the parameter. This is useful for either sorting the entries in a tracking category, or for provide more explicit information.
By default, the module makes no distinction between a defined-but-blank parameter and a non-blank parameter. That is, both unlisted |foo=x
and |foo=
are reported. To only track non-blank parameters use |ignoreblank=1
.
By default, the module ignores blank positional parameters. That is, an unlisted |2=
is ignored. To include blank positional parameters in the tracking use |showblankpositional=1
.
Lua patterns
This module supports Lua patterns (similar to regular expressions), which are useful when there are many known parameters which use a systematic pattern. For example, Infobox3cols
uses
regexp1 = "header[%d]+",
regexp2 = "label[%d]+",
regexp3 = "data[%d]+[abc]?",
regexp4 = "class[%d]+[abc]?",
regexp5 = "rowclass[%d]+",
regexp6 = "rowstyle[%d]+",
regexp7 = "rowcellstyle[%d]+",
to match all parameters of the form headerNUM
, labelNUM
, dataNUM
, dataNUMa
, dataNUMb
, dataNUMc
, ..., rowcellstyleNUM
, where NUM is a string of digits.
Example
{{Infobox
| above = {{{name|}}}
| label1 = Height
| data1 = {{{height|}}}
| label2 = Weight
| data2 = {{{weight|}}}
| label3 = Website
| data3 = {{{website|}}}
}}<!--
end infobox, start tracking
-->{{#invoke:Check for unknown parameters|check
| unknown = {{Main other|[[Category:Some tracking category|_VALUE_]]}}
| preview = unknown parameter "_VALUE_"
| name
| height | weight
| website
}}
Call from within Lua code
See the end of Module:Rugby box for a simple example or Module:Infobox3cols or Module:Flag for more complicated examples.
See also
- Category:Unknown parameters (0) (category page can have header {{Unknown parameters category}})
- Module:Params – for complex operations involving parameters
- Template:Checks for unknown parameters – adds documentation to templates using this module
- Module:Check for deprecated parameters – similar module that checks for deprecated parameters
- Module:Check for clobbered parameters – module that checks for conflicting parameters
- Module:TemplatePar – similar function (originally from dewiki)
- Template:Parameters and Module:Parameters – generates a list of parameter names for a given template
- Project:TemplateData based template parameter validation
- Module:Parameter validation checks a lot more
- User:Bamyers99/TemplateParametersTool - A tool for checking usage of template parameters