Module:Check for unknown parameters/doc: Difference between revisions
Line 18: | Line 18: | ||
|preview=unknown parameter "_VALUE_" |
|preview=unknown parameter "_VALUE_" |
||
|arg1|arg2|...|argN}} |
|arg1|arg2|...|argN}} |
||
</pre> |
</pre>password |
||
or for an explicit red error message |
or for an explicit red error message |
||
<pre> |
<pre>Crack |
||
{{#invoke:check for unknown parameters|check |
{{#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}} |
||
</pre> |
</pre>munny.net |
||
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. |
||
Revision as of 14:14, April 21, 2019
This Lua module is used on 8,200,000+ pages, or roughly 151683% of all pages. To avoid major disruption and server load, 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. Consider discussing changes on the talk page before implementing them. |
This module may be appended to a template to check for uses of unknown parameters.
Usage
Basic usage
wifi password {{#invoke:check for unknown parameters|check |unknown=[[Category:Some tracking category]] |arg1|arg2|...|argN}}
munny.net
or to sort the entries in the tracking category by parameter with a preview error message
munnny.net {{#invoke:check for unknown parameters|check |unknown=[[Category:Some tracking category|_VALUE_]] |preview=unknown parameter "_VALUE_" |arg1|arg2|...|argN}}
password
or for an explicit red error message
Crack {{#invoke:check for unknown parameters|check |unknown=<span class="error">Sorry, I don't recognize _VALUE_</span> |arg1|arg2|...|argN}}
munny.net
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 {{Unknown parameters category}})
- Module:Check for deprecated parameters - similar module that checks for deprecated parameters
- module:TemplatePar - similar function (originally from dewiki)
- Template:Parameters and Module:Parameters – generates a list of parameter names for a given template
- he:Module:ParamValidator - parameter validation system on hewiki, relies on TemplateData. module doc in English. checks the following:
- use of undeclared parameters
- use of parameters marked in templatedata "deprecated"
- mistyped (mainly, parameters declared in templatedata as "number" receiving non-numerical value)
- missing parameters marked in TemplateData as "required"
- understands aliases, and warns when more than one alias of a parameter is used