Module:Check for unknown parameters/doc

From Sidlangs
< Module:Check for unknown parameters
Revision as of 20:06, 19 September 2023 by Wikipedia>Jonesey95 (Reverted 1 edit by 2404:160:8075:59AF:1786:59EB:15CB:7CC0 (talk) to last revision by Grufo)
Jump to navigation Jump to search

This is the documentation page for Module:Check for unknown parameters

{{#if:{{#ifeq:doc|sandbox|1}}{{#ifeq:doc|doc|1}}||{{#switch:Lua error: First parameter must be one of edit, move, create, upload, undelete, autoreview.|sysop|templateeditor|interfaceadmin=|#default=}}}}

{{#ifeq:doc|doc|{{#if:|Template:Pp}}|{{#switch:

 {{#if:
 |     
 | {{#ifeq:Module|Module
   | module
   | other
   }}
 }}

| module =

| other | #default = Template:Error }}}}

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

<syntaxhighlight lang="wikitext">

</syntaxhighlight> or to sort the entries in the tracking category by parameter with a preview error message <syntaxhighlight lang="wikitext">

</syntaxhighlight> or for an explicit red error message <syntaxhighlight lang="wikitext">

</syntaxhighlight> 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 |{{SAFESUBST:#if:foo|foo=}}x and |{{SAFESUBST:#if:foo|foo=}} are reported. To only track non-blank parameters use |{{SAFESUBST:#if:ignoreblank|ignoreblank=}}1.

By default, the module ignores blank positional parameters. That is, an unlisted |{{SAFESUBST:#if:2|2=}} is ignored. To include blank positional parameters in the tracking use |{{SAFESUBST:#if:showblankpositional|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 <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 headerNUM, labelNUM, dataNUM, dataNUMa, dataNUMb, dataNUMc, ..., rowcellstyleNUM, where NUM is a string of digits.

Example

<syntaxhighlight lang="wikitext"> {{#switch:

 {{#if:
 | {{{demospace}}}    
 | {{#ifeq:Module|Template
   | template
   | other
   }}
 }}

| template = {{#ifeq:Check for unknown parameters/doc|Infobox||{{#ifeq:docdocd|Infobox|[[Category:Infobox templates|]]}}}} | other | #default = }} </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