Module:Param Parse/doc: Difference between revisions
(Created page with "These 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 functions: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | image(img) | Returns img if any non-whitespa...") |
No edit summary |
||
(24 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{documentation}} |
|||
These 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. |
|||
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 functions: |
|||
Here is a summary of all the params: |
|||
{| class="wikitable" |
|||
! param |
|||
! explanation |
|||
|- |
|||
| parse.actions |
|||
| Actions listed in the action menu |
|||
|- |
|||
| parse.name |
|||
| Title |
|||
|- |
|||
| parse.description |
|||
| Description of the entity in its card |
|||
|- |
|||
| 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.additional_episode |
|||
| Episode name |
|||
|- |
|||
| parse.premium |
|||
| Premium (Yes, No, N/A) |
|||
|- |
|||
| parse.release |
|||
| Release Date in the format YYYY-MM-DD |
|||
|- |
|||
| parse.value |
|||
| Shows the value as a denomination of coins |
|||
|- |
|||
| parse.profession |
|||
| TODO |
|||
|- |
|||
| parse.profession_bubble_a, parse.profession_bubble_b |
|||
| Takes parameters profession_a + profession_a_level, or profession_b + profession_b_level |
|||
|- |
|||
| parse.profession_a_smw, parse.profession_a_level_smw, parse.profession_b_smw, parse.profession_b_level_smw |
|||
| Exports the data from profession_bubble_a and profession_bubble_b to smw |
|||
|- |
|||
| parse.variant |
|||
| TODO - Which category the subject is a variant of |
|||
|- |
|||
| parse.passive |
|||
| Passiveness (Yes, No, N/A) |
|||
|- |
|||
| parse.duration |
|||
| Number of hours to complete the [[Ventures|venture]] |
|||
|- |
|||
| parse.aggressive |
|||
| Aggressive (Yes, No, N/A) |
|||
|- |
|||
| parse.difficulty |
|||
| Quest difficulty (0-5) |
|||
|- |
|||
| parse.quest |
|||
| Quest name (or No) |
|||
|- |
|||
| parse.unlock_level |
|||
| Unlocked at |
|||
|- |
|||
| parse.knowledge |
|||
| Knowledge |
|||
|} |
|||
Here are some general use functions that can be used for custom or new params: |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! function name |
! function name |
||
Line 8: | Line 79: | ||
| has_content(arg) |
| has_content(arg) |
||
| Returns arg if any non-whitespace character is found in the string. |
| 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) |
| number(num) |
||
| Removes any commas and parses the string as a number |
| Removes any commas and parses the string as a number |
||
|- |
|- |
||
| |
| yes_no(text) |
||
| Only accepts "Yes", "No" and "N/A" |
|||
| Returns a plink of the episode, e.g. [[File:Hopeport episode icon.png|18px]] [[Hopeport]]' |
|||
|- |
|||
| 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) |
|||
| episode_smw(episode) |
|||
| function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |
|||
| Returns the name of the episode if valid |
|||
|} |
|} |
Latest revision as of 20:39, 23 November 2024
Module:Param Parse requires Module:Currency.
Module:Param Parse requires Module:Infobox.
Module:Param Parse requires strict.
Module:Param Parse is required by
.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 params:
param | explanation |
---|---|
parse.actions | Actions listed in the action menu |
parse.name | Title |
parse.description | Description of the entity in its card |
parse.image | [[File:IMAGE.png]]. Use the class infobox-image in the table |
parse.image_size300 | [[File:IMAGE.png|300x300px]] by default unless overridden. Use the class infobox-image in the table |
parse.episode | Episode name |
parse.additional_episode | Episode name |
parse.premium | Premium (Yes, No, N/A) |
parse.release | Release Date in the format YYYY-MM-DD |
parse.value | Shows the value as a denomination of coins |
parse.profession | TODO |
parse.profession_bubble_a, parse.profession_bubble_b | Takes parameters profession_a + profession_a_level, or profession_b + profession_b_level |
parse.profession_a_smw, parse.profession_a_level_smw, parse.profession_b_smw, parse.profession_b_level_smw | Exports the data from profession_bubble_a and profession_bubble_b to smw |
parse.variant | TODO - Which category the subject is a variant of |
parse.passive | Passiveness (Yes, No, N/A) |
parse.duration | Number of hours to complete the venture |
parse.aggressive | Aggressive (Yes, No, N/A) |
parse.difficulty | Quest difficulty (0-5) |
parse.quest | Quest name (or No) |
parse.unlock_level | Unlocked at |
parse.knowledge | Knowledge |
Here are some general use functions that can be used for custom or new params:
function name | explanation |
---|---|
has_content(arg) | Returns arg if any non-whitespace character is found in the string. |
number(num) | Removes any commas and parses the string as a number |
yes_no(text) | Only accepts "Yes", "No" and "N/A" |
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:
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
}
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)): {name = <param>, func = <func>, ... },
If func is a table, it takes the following parameters: {name = <param>, func = { name = <func>, params = <func_params>}, ... },
| ||||
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 |