Module:Check for unknown parameters/doc: Difference between revisions

From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
No edit summary
 
(66 intermediate revisions by 34 users not shown)
Line 1: Line 1:
{{used in system|in [[MediaWiki:Abusefilter-warning-DS]]}}
{{High-risk|4500000+}}
{{module rating|p}}
{{module rating|p}}
{{Lua|Module:If preview}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->


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.
Line 10: Line 10:
{{#invoke:check for unknown parameters|check
{{#invoke:check for unknown parameters|check
|unknown=[[Category:Some tracking category]]
|unknown=[[Category:Some tracking category]]
|arg1|arg2|...|argN}}
|arg1|arg2|arg3|argN}}
</pre>
</pre>
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
Line 25: Line 25:
|arg1|arg2|...|argN}}
|arg1|arg2|...|argN}}
</pre>
</pre>
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.
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. To only track non-blank parameters use {{para|ignoreblank|1}}.
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. To include blank positional parameters in the tracking use {{para|showblankpositional|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}}.


=== Regular expressions ===
=== Lua patterns ===
This module supports regular expressions, which are useful when there are many known parameters which use a systematic pattern. For example, [[template:infobox3cols]] uses
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]*
| regexp1 = header[%d][%d]*
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 = [[Category:Some tracking category|_VALUE_]]
| unknown = {{main other|[[Category:Some tracking category|_VALUE_]]}}
| preview = unknown parameter "_VALUE_"
| preview = unknown parameter "_VALUE_"
| name
| name
Line 67: 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 broadcast]] || [[:Category:Broadcast infoboxes with deprecated parameters]]
|-
| [[Template:Infobox city Japan]] || [[:Category:Pages using infobox city Japan with unsupported 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 horseraces]] || [[:Category:Pages using infobox horseraces 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 musical artist]] || [[:Category:Pages using Template:Infobox musical artist with unknown 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 restaurant]] || [[:Category:Pages using infobox restaurant with unsupported parameters]]
|-
| [[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:WikiProject Africa]] || [[:Category:Africa articles with invalid parameters]]
|-
| [[Template:WikiProject Central America]] || [[:Category:Central America articles with invalid parameters]]
|-
| [[Template:WikiProject United States]] || [[:Category:United States articles with invalid 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>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<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 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