Module:Check for unknown parameters/doc: Difference between revisions
No edit summary |
m 91 revisions imported from wikipedia:Module:Check_for_unknown_parameters/doc |
||
(75 intermediate revisions by 36 users not shown) | |||
Line 1: | Line 1: | ||
{{used in system|in [[MediaWiki:Abusefilter-warning-DS]]}} |
|||
{{module rating|beta}} |
|||
{{module rating|p}} |
|||
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. --> |
|||
{{Lua|Module:If preview}} |
|||
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. |
||
== Usage == |
== Usage == |
||
=== Basic usage === |
|||
<pre> |
<pre> |
||
{{#invoke:check for unknown parameters|check |
{{#invoke:check for unknown parameters|check |
||
|unknown=[[Category:Some tracking category]] |
|unknown=[[Category:Some tracking category]] |
||
|arg1|arg2| |
|arg1|arg2|arg3|argN}} |
||
</pre> |
</pre> |
||
or to sort the entries in the tracking category by parameter |
or to sort the entries in the tracking category by parameter with a preview error message |
||
<pre> |
<pre> |
||
{{#invoke:check for unknown parameters|check |
{{#invoke:check for unknown parameters|check |
||
|unknown=[[Category:Some tracking category|_VALUE_]] |
|unknown=[[Category:Some tracking category|_VALUE_]] |
||
|preview=unknown parameter "_VALUE_" |
|||
|arg1|arg2|...|argN}} |
|arg1|arg2|...|argN}} |
||
</pre> |
</pre> |
||
Line 22: | Line 25: | ||
|arg1|arg2|...|argN}} |
|arg1|arg2|...|argN}} |
||
</pre> |
</pre> |
||
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. |
|||
or to use hidden error messages which can be viewed in the HTML source |
|||
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 {{para|2}} is ignored. To ''include'' blank positional parameters in the tracking use {{para|showblankpositional|1}}. |
|||
=== 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, [[template:infobox3cols]] uses |
|||
<pre> |
<pre> |
||
| regexp1 = header[%d][%d]* |
|||
{{#invoke:check for unknown parameters|check |
|||
| regexp2 = label[%d][%d]* |
|||
|unknown=<span class="error" style="display:none">HIDDEN ERROR: Usage of "_VALUE_" is not recognized</span> |
|||
| regexp3 = data[%d][%d]*[abc]? |
|||
|arg1|arg2|...|argN}} |
|||
| regexp4 = class[%d][%d]*[abc]? |
|||
| regexp5 = rowclass[%d][%d]* |
|||
| regexp6 = rowstyle[%d][%d]* |
|||
| regexp7 = rowcellstyle[%d][%d]* |
|||
</pre> |
</pre> |
||
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. |
|||
Here, <code>arg1</code>, <code>arg2</code>, ..., <code>argN</code>, are the known parameters. 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. To only track non-blank parameters use {{para|ignoreblank|1}}. |
|||
== Example == |
== Example == |
||
Line 48: | Line 60: | ||
end infobox, start tracking |
end infobox, start tracking |
||
-->{{#invoke:Check for unknown parameters|check |
-->{{#invoke:Check for unknown parameters|check |
||
| unknown = [[Category:Some tracking category|_VALUE_]] |
| unknown = {{main other|[[Category:Some tracking category|_VALUE_]]}} |
||
| preview = unknown parameter "_VALUE_" |
|||
| name |
| name |
||
| height | weight |
| height | weight |
||
Line 54: | Line 67: | ||
}} |
}} |
||
</pre> |
</pre> |
||
==Templates invoking this module== |
|||
The following is a list of templates which invoke this module, with the associated category for each. |
|||
{| class="wikitable sortable collapsible collapsed" style="font-size:88%" |
|||
! colspan="2" class="unsortable" style="background-color:#ddd" | List of templates which invoke "Module:Check for unknown parameters" |
|||
|- |
|||
! Template !! Tracking/maintenance category |
|||
|- |
|||
| [[Template:Authority control]] || [[:Category:Pages using authority control with parameters]] |
|||
|- |
|||
| [[Template:Aviation accidents and incidents]] || [[:Category:Pages using aviation accidents and incidents with unknown parameters]] |
|||
|- |
|||
| [[Template:Country topics]] || [[:Category:Pages using country topics with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox3cols]] || [[:Category:Pages using infobox3cols with undocumented parameters]] |
|||
|- |
|||
| [[Template:Infobox academic division]] || [[:Category:Pages using infobox academic division with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox amateur wrestler]] || [[:Category:Pages using infobox amateur wrestler with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox anatomy]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox artery]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox astronaut]] || [[:Category:Pages using infobox astronaut with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox award]] || [[:Category:Pages using infobox award with undocumented parameters]] |
|||
|- |
|||
| [[Template:Infobox bone]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox brain]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox city Japan]] || [[:Category:Pages using infobox city Japan with unsupported parameters]] |
|||
|- |
|||
| [[Template:Infobox dam]] || [[:Category:Pages using infobox dam with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox Daytona 500]] || [[:Category:Pages using infobox Daytona 500 with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox embryology]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox event]] || [[:Category:Pages using infobox event with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox Grand Prix race report]] || [[:Category:Pages using infobox Grand Prix race report with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox Hindu temple]] || [[:Category:Pages using infobox Hindu temple with deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox language]] || [[:Category:Language articles with unsupported infobox fields]] |
|||
|- |
|||
| [[Template:Infobox language family]] || [[:Category:Language articles with unsupported infobox fields]] |
|||
|- |
|||
| [[Template:Infobox ligament]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox lymph]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox military installation]] || [[:Category:Pages using infobox military installation with deprecated syntax]] |
|||
|- |
|||
| [[Template:Infobox Minor League Baseball]] || [[:Category:Minor League Baseball Infobox using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox muscle]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox NASCAR race report]] || [[:Category:Pages using infobox NASCAR race report with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox nerve]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox neuron]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox NFL coach]] || [[:Category:Pages using infobox NFL coach with deprecated syntax]] |
|||
|- |
|||
| [[Template:Infobox political party]] || [[:Category:Political party articles using deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox public transit]] || [[:Category:Public transit articles with unsupported infobox fields]] |
|||
|- |
|||
| [[Template:Infobox school district]] || [[:Category:Pages using infobox school district with unsupported parameters]] |
|||
|- |
|||
| [[Template:Infobox settlement]] || [[:Category:Settlement articles requiring maintenance]] |
|||
|- |
|||
| [[Template:Infobox speedway rider]] || [[:Category:Pages using Infobox Speedway rider with unknown or deprecated parameters]] |
|||
|- |
|||
| [[Template:Infobox sports rivalry]] || [[:Category:Pages using infobox sports rivalry with unknown parameters]] |
|||
|- |
|||
| [[Template:Infobox vein]] || [[:Category:Medicine infobox template using deprecated parameters]] |
|||
|- |
|||
| [[Template:Multiple issues]] || [[:Category:Pages using multiple issues with incorrect parameters]] |
|||
|- |
|||
| [[Template:Year box]] || [[:Category:Pages using year box with unknown parameters]] |
|||
|} |
|||
==See also== |
==See also== |
||
* {{clc|Unknown parameters}} (category page can have header {{tl|Unknown parameters category}}) |
|||
* [[:module:TemplatePar]] (originally from dewiki) |
|||
* [[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 |
* [[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 |
|||
<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 15:26, January 29, 2022
This Lua module is used in MediaWiki:Abusefilter-warning-DS. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption, 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. |
This module depends on the following other modules: |
This module may be appended to a template to check for uses of unknown parameters.
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, template:infobox3cols uses
| regexp1 = header[%d][%d]* | regexp2 = label[%d][%d]* | regexp3 = data[%d][%d]*[abc]? | regexp4 = class[%d][%d]*[abc]? | regexp5 = rowclass[%d][%d]* | regexp6 = rowstyle[%d][%d]* | regexp7 = rowcellstyle[%d][%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 }}
See also
- Category:Unknown parameters (0) (category page can have header {{Unknown parameters category}})
- 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