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

From Harrison County Wiki
Jump to navigationJump to search
moduleimport2>Materialscientist
m Reverted edits by 201.162.168.35 (talk) (HG) (3.4.13)
 
m 1 revision imported
 
(No difference)

Latest revision as of 02:14, 4 August 2025

Template:Used in system Template:Module rating Template:Cascade-protected template

Module:Check for unknown parameters is used to check for uses of unknown parameters in a template or module. It may be appended to a template at the end or called directly from a module.

Usage

From a template

To sort entries into a tracking category by parameter, use:

To sort the entries into a tracking category by parameter with a preview error message, use:

For an explicit red error message, use:

To use Lua patterns, use:

From a module

To call from a module, use: <syntaxhighlight lang="lua"> local checkForUnknownParameters = require("Module:Check for unknown parameters") local result = checkForUnknownParameters._check(validArgs, args) </syntaxhighlight>

Where the first set of args are the module args below and the second set of args are the parameters that are checked.

Parameters

  • arg1, arg2, ..., argN, are the known parameters.
  • Unnamed (positional) parameters can be added too: |1|2|arg1|arg2|....
  • Lua patterns (similar to regular expressions) usage with parameters is also supported (such as: |{{SAFESUBST:#if:regexp1|regexp1=}}header[%d]+, |{{SAFESUBST:#if:regexp2|regexp2=}}date[1-9], |{{SAFESUBST:#if:regexp3|regexp3=}}data[%d]+[abc]?). This is useful when there are many known parameters which use a systematic pattern.
  • |{{SAFESUBST:#if:unknown|unknown=}} – what happens when an unknown parameter is used. Typically use either a tracking category to place pages that use unknown parameters, or an error.
  • |{{SAFESUBST:#if:preview|preview=}} – the text to be displayed when in preview mode and an unknown parameter is used.
  • 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.
  • |{{SAFESUBST:#if:ignoreblank|ignoreblank=}}1 – 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.
  • |{{SAFESUBST:#if:showblankpositional|showblankpositional=}}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.

Example

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

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

| template = {{#ifeq:Check for unknown parameters/doc|Infobox||{{#ifeq:Template:Str left|Infobox|[[Category:Infobox templates|Template:Remove first word]]}}}} | 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