Module:Param Parse/doc: Difference between revisions

no edit summary
(yes_no)
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1:
{{documentation}}
 
These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil.
 
Here is a summary of all the functionsparams:
{| class="wikitable"
! param
! explanation
|-
| parse.name
| Title
|-
| parse.examine
| Examine info
|-
| parse.image
| <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table
|-
| parse.image_size300
| <nowiki>[[File:IMAGE.png|300x300px]]</nowiki> by default unless overridden. Use the class '''infobox-image''' in the table
|-
| parse.episode
| Episode name
|-
| parse.premium
| Premium (Yes, No, N/A)
|-
| parse.release
| TODO
|-
| parse.profession
| TODO
|-
| parse.variant
| TODO - Which category the subject is a variant of
|}
 
Here are some general use functions that can be used for custom or new params:
{| class="wikitable"
! function name
Line 10 ⟶ 43:
| has_content(arg)
| Returns arg if any non-whitespace character is found in the string.
|-
| image(img)
| Returns img if any non-whitespace character is found in the string.
|-
| image_smw(img)
| Searches for and returns "File:___.png"
|-
| number(num)
| Removes any commas and parses the string as a number
|-
| episode(episode)
| Returns a plink of the episode, e.g. [[File:Hopeport episode icon.png|18px]] [[Hopeport]]
|-
| episode_smw(episode)
| Returns the name of the episode if valid
|-
| yes_no(text)
Line 31 ⟶ 52:
| yes_no_smw(text)
| Maps "Yes", "No" to true and false respectively
|}
 
== Creating New Params ==
Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param:
 
<syntaxhighlight lang="lua">
parse.paramname = {
name = <param>,
func = <func>,
empty = 'empty', -- optional
category_never = 'category', -- optional
category_partial = 'category', -- optional
category_incomplete = 'category', -- optional
category_complete = 'category', -- optional
smw_property = 'Property', -- optional
smw_func = <func>, -- optional
}
</syntaxhighlight>
 
 
{| class="wikitable"
! key
! value
|-
| name
| parameter name as used in the Template
|-
| func
| A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended.
If func is a function, will call func(Infobox.raw_param(name)):
<syntaxhighlight lang="lua">
{name = <param>, func = <func>, ... },
</syntaxhighlight>
If func is a table, it takes the following parameters:
<syntaxhighlight lang="lua">
{name = <param>, func = { name = <func>, params = <func_params>}, ... },
</syntaxhighlight>
{| class="wikitable"
| name
| function in [[Module:Param Parse]]
|-
| params
| a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name)
|}
|-
| empty (optional)
| text to display in the infobox if func returns nil; defaults to "? (edit)"
|-
| category_never (optional)
| category to add if func returns nil for all versions
|-
| category_partial (optional)
| category to add if func returns nil for some versions, but a value for other versions
|-
| category_incomplete (optional)
| category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined)
|-
| category_complete (optional)
| category to add if func returns a value for all versions
|-
| smw_property (optional)
| if this string is defined, the parameter will be saved into SMW
|-
| smw_func (optional)
| function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined
|}