Module:Check for unknown parameters/doc
{{module rating|p}}
 &lt;!-- Categories go at the bottom of this page and interwikis go in Wikidata. --&gt;
 
 This module may be appended to a template to check for uses of unknown parameters.
 
 == Usage ==
 === Basic usage ===
 &lt;pre&gt;
 {{#invoke:check for unknown parameters|check
 |unknown=[[Category:Some tracking category]]
 |arg1|arg2|...|argN}}
 &lt;/pre&gt;
 or to sort the entries in the tracking category by parameter with a preview error message
 &lt;pre&gt;
 {{#invoke:check for unknown parameters|check
 |unknown=[[Category:Some tracking category|_VALUE_]]
 |preview=unknown parameter &quot;_VALUE_&quot;
 |arg1|arg2|...|argN}}
 &lt;/pre&gt;
 or for an explicit red error message
 &lt;pre&gt;
 {{#invoke:check for unknown parameters|check
 |unknown=&lt;span class=&quot;error&quot;&gt;Sorry, I don't recognize _VALUE_&lt;/span&gt;
 |arg1|arg2|...|argN}}
 &lt;/pre&gt;
 Here, &lt;code&gt;arg1&lt;/code&gt;, &lt;code&gt;arg2&lt;/code&gt;, ..., &lt;code&gt;argN&lt;/code&gt;, 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 &lt;code&gt;unknown&lt;/code&gt; parameter.  The &lt;code&gt;_VALUE_&lt;/code&gt; 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 ignores blank positional parameters.  To include blank positional parameters in the tracking use {{para|showblankpositional|1}}.
 
 ===Include &lt;samp&gt;reason&lt;/samp&gt;===
 Unless there's a very good reason not to, the parameter &lt;code&gt;&lt;nowiki&gt;|reason&lt;/nowiki&gt;&lt;/code&gt; should always be supported.  This is used as a de facto standard, across all templates, as a way to include an explanatory note (e.g., why the template was placed, in any case in which that isn't obvious) without affecting the displayed output in any way (usually).  If you do not include &lt;code&gt;&lt;nowiki&gt;|reason&lt;/nowiki&gt;&lt;/code&gt; among permissible values, then this module with throw a bogus error when people include a {{para|reason}}.  A few templates (e.g. {{tlx|Rm}}) directly implement a {{para|reason}} parameter that actually does something, but it most cases it is a pseudo-parameter that does not actually appear in the template code, and is used in lieu of messy HTML comments.
 
 === Lua patterns ===
 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
 &lt;pre&gt;
 | 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]*
 &lt;/pre&gt;
 to match all parameters of the form &lt;code&gt;headerNUM&lt;/code&gt;, &lt;code&gt;labelNUM&lt;/code&gt;, &lt;code&gt;dataNUM&lt;/code&gt;, &lt;code&gt;dataNUMa&lt;/code&gt;, &lt;code&gt;dataNUMb&lt;/code&gt;, &lt;code&gt;dataNUMc&lt;/code&gt;, ..., &lt;code&gt;rowcellstyleNUM&lt;/code&gt;, where NUM is a string of digits.
 
 == Example ==
 &lt;pre&gt;
 {{Infobox
 | above = {{{name|}}}
 
 | label1 = Height
 | data1 = {{{height|}}}
 
 | label2 = Weight
 | data2 = {{{weight|}}}
 
 | label3 = Website
 | data3 = {{{website|}}}
 }}&lt;!-- 
   end infobox, start tracking
 --&gt;{{#invoke:Check for unknown parameters|check
 | unknown = [[Category:Some tracking category|_VALUE_]]
 | preview = unknown parameter &quot;_VALUE_&quot;
 | name
 | height | weight
 | website
 }}
 &lt;/pre&gt;
 
 ==Templates invoking this module==
 
 The following is a list of some of the templates which invoke this module, with the associated category for each.
 
 {| class=&quot;wikitable sortable collapsible collapsed&quot; style=&quot;font-size:88%&quot;
 !  colspan=&quot;2&quot; class=&quot;unsortable&quot; style=&quot;background-color:#ddd&quot; | List of templates which invoke &quot;Module:Check for unknown parameters&quot;
 |-
 ! Template !! Tracking/maintenance category
 |-
 | {{ti|Authority control}} || {{cl|Pages using authority control with parameters|count=yes}}
 |-
 | {{ti|Aviation accidents and incidents}} || {{cl|Pages using aviation accidents and incidents with unknown parameters|count=yes}}
 |-
 | {{ti|Country topics}} || {{cl|Pages using country topics with unknown parameters|count=yes}}
 |-
 | [[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 unsupported parameters]]
 |-
 | [[Template:Infobox artery]] || [[:Category:Medicine infobox template using unsupported parameters]]
 |-
 | [[Template:Infobox astronaut]] || [[:Category:Pages using infobox astronaut with unknown parameters]]
 |-
 | [[Template:Infobox award]] || [[:Category:Pages using infobox award with unknown parameters]]
 |-
 | [[Template:Infobox bone]] || [[:Category:Medicine infobox template using unsupported parameters]]
 |-
 | [[Template:Infobox brain]] || [[:Category:Medicine infobox template using unsupported parameters]]
 |-
 | [[Template:Infobox broadcast]] || [[:Category:Pages using infobox broadcast with unknown parameters]]
 |-
 | [[Template:Infobox city Japan]] || [[:Category:Pages using infobox city Japan with unknown parameters]]
 |-
 | [[Template:Infobox Daytona 500]] || [[:Category:Pages using infobox Daytona 500 with unknown parameters]]
 |-
 | [[Template:Infobox embryology]] || [[:Category:Medicine infobox template using unsupported 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 unknown 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 unsupported parameters]] 
 |-
 | [[Template:Infobox lymph]] || [[:Category:Medicine infobox template using unsupported parameters]] 
 |-
 | [[Template:Infobox military installation]] || [[:Category:Pages using infobox military installation with deprecated syntax]]
 |-
 | [[Template:Infobox Minor League Baseball]] || [[:Category:Pages using infobox Minor League Baseball with unknown parameters]]
 |-
 | [[Template:Infobox muscle]] || [[:Category:Medicine infobox template using unsupported 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 unsupported parameters]] 
 |-
 | [[Template:Infobox neuron]] || [[:Category:Medicine infobox template using unsupported parameters]] 
 |-
 | [[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 parameters]]
 |-
 | [[Template:Infobox sports rivalry]] || [[:Category:Pages using infobox sports rivalry with unknown parameters]]
 |-
 | [[Template:Infobox vein]] || [[:Category:Medicine infobox template using unsupported 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]]
 |}
 For a more up-to-date list, [//en.wikipedia.org/w/index.php?title=Special:Search&amp;limit=500&amp;offset=0&amp;ns10=1&amp;search=insource%3A%2FCheck+for+unknown+parameters%2F search for the &quot;check for unknown parameters&quot; within the template namespace].
 
 ==See also==
 * [[:module:TemplatePar]] (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. some of the things checked are: 
 **use of undeclared parameters, parameters marked in templatedata &quot;deprecated&quot;
 ** mistyped (mainly, params declared in templatedata as &quot;number&quot; receiving non-numerical value)
 **missing parameters marked in TemplateData as &quot;required&quot;
 **understands aliases, and warns when more than one alias of a parameter is used
 ** quite a lot more
 
 &lt;includeonly&gt;{{#ifeq:{{SUBPAGENAME}}|sandbox||
 &lt;!-- Categories go here and interwikis go in Wikidata. --&gt;