Module:Check for unknown parameters/doc

From Mirrorplay: Fae
Revision as of 09:06, 16 June 2024 by Storyteller (talk | contribs) (1 revision imported: Module Data from Wikipedia)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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:|}}|{{#switch:

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

| module =

{{#ifeq: Check for unknown parameters | Sandbox

    | 
    | {{#switch: doc
        | doc | sandbox =
        | {{#ifeq:  | true 
            |  
            | {{#switch: p
                | pre-alpha | prealpha | pa =
                | alpha | a =
                | beta | b =
                | release | r | general | g =
                | protected | protect | p =
                | semiprotected | semiprotect | semi =
              }}
          }}
      }}
   }}

| other | #default = Error: {{Module rating}} must be placed in the Module namespace. }}}}

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