Module:Infobox/doc: Difference between revisions

Getting rid of examples with "examine" that doesn't appear in this game.
(Add a short explanation of version1, version2, default_version)
(Getting rid of examples with "examine" that doesn't appear in this game.)
 
(6 intermediate revisions by one other user not shown)
Line 22:
local config = {
infobox_name = 'Scenery',
class = {Infobox.smw_param('episode')}, -- Add css class with episode name to colorize Infobox
}
</syntaxhighlight>
Line 27 ⟶ 28:
===Map your arguments to parsing functions===
{{Main|Module:Param Parse}}
Use the functionsparams in [[Module:Param Parse]] to validate and format the data - feel free to create your own new params in [[Module:Param Parse]].
<syntaxhighlight lang="lua">
local params = {
parse.name,
{name = 'name', func = parse.has_content, smw_property = 'Name'},
parse.image,
{name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'},
{name = 'examinedescription', func = parse.has_content, smw_property = 'Description'}, -- Custom param
parse.episode,
{name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'},
...
}
Line 49 ⟶ 50:
infobox
:add_row{
{tag='th', content=Infobox.param('name'), class='infobox.subheader-header', colspan='220'},
}
:add_row{
{tag='td', content=Infobox.param('image'), class='infobox-image', colspan='220'},
}
:pad(2"20")
:add_row{
{tag='td', content='[[Examine]]Info', class='infobox-subheader', colspan='20'},
{tag='td', content=Infobox.param('examine')},
}
:pad("20")
:add_row{
{tag='tdth', content='[[Episode]]Description', colspan="6"},
{tag='td', content=Infobox.param('episodedescription'), colspan="14"},
}
:add_row{
{tag='th', content='[[Episode]]', colspan="6"},
{tag='td', content=Infobox.param('examineepisode'), colspan="14"},
}
...
Line 76 ⟶ 81:
 
==Functions==
=== Special params ===
You don't need to do anything about these special parameters, but they may be used as parameters within the Template:
{| class="wikitable"
! param
! explanation
|-
| version1, version2, version3
| Button label and SMW name for each switch version of the infobox
|-
| default_version
| The default version to display when the page is loaded
|-
| version
| If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT")
|}
 
=== Referring to params ===
Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions:
Line 94 ⟶ 115:
| 1000
| Value formatted to be saved as an SMW property
|}
 
=== Special params ===
These parameters are handled specially by the module:
{| class="wikitable"
! param
! explanation
|-
| version1, version2, version3
| Button label and SMW name for each switch version of the infobox
|-
| default_version
| The default version to display when the page is loaded
|-
| version
| If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT")
|}
 
Line 118 ⟶ 123:
</syntaxhighlight>
==== config ====
There are only 23 parameters for config
<syntaxhighlight lang="lua">
local config = {
infobox_name = 'Scenery', -- mandatory unique identifier for css
class = {'CustomClass', Infobox.smw_param('episode')} -- optional, defaults to {}. Adds css classes to infobox table: {'infobox-CustomClass', 'infobox-[default version parameter's value]'}
max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead
}
Line 245 ⟶ 251:
|-
| class (optional)
| a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' isand '''infobox-image''' are commonly used.
mw.html:addClass(...)
|-
Line 263 ⟶ 269:
 
=== Infobox:pad(colspan, class) ===
Adds a blank row of padding spanning the given number of columns. Will always add the class '''infobox-padding''', but can optionally add another class:
<syntaxhighlight lang="lua">
infobox:pad("10", class=<class>)
Line 274 ⟶ 280:
infobox:addClass(class)
</syntaxhighlight>
 
 
=== Infobox:dump() ===
Logs all the values into the Debug console for debugging purposes. You can also dump all the values in an Infobox template by setting a template parameter "__dump = Yes".
809

edits