Editing Module:Infobox/doc

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 22: Line 22:
local config = {
local config = {
infobox_name = 'Scenery',
infobox_name = 'Scenery',
class = {Infobox.smw_param('episode')}, -- Add css class with episode name to colorize Infobox
}
}
</syntaxhighlight>
</syntaxhighlight>
Line 28: Line 27:
===Map your arguments to parsing functions===
===Map your arguments to parsing functions===
{{Main|Module:Param Parse}}
{{Main|Module:Param Parse}}
Use the params in [[Module:Param Parse]] to validate and format the data - feel free to create your own new params in [[Module:Param Parse]].
Use the functions in [[Module:Param Parse]] to validate and format the data.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local params = {
local params = {
{name = 'name', func = parse.has_content, smw_property = 'Name'},
parse.name,
{name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'},
parse.image,
{name = 'description', func = parse.has_content, smw_property = 'Description'}, -- Custom param
{name = 'examine', func = parse.has_content},
{name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'},
parse.episode,
...
...
}
}
Line 50: Line 49:
infobox
infobox
:add_row{
:add_row{
{tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'},
{tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'},
}
}
:add_row{
:add_row{
{tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'},
{tag='td', content=Infobox.param('image'), colspan='2'},
}
}
:pad("20")
:pad(2)
:add_row{
:add_row{
{tag='td', content='Info', class='infobox-subheader', colspan='20'},
{tag='td', content='[[Examine]]'},
{tag='td', content=Infobox.param('examine')},
}
}
:pad("20")
:add_row{
:add_row{
{tag='th', content='Description', colspan="6"},
{tag='td', content='[[Episode]]'},
{tag='td', content=Infobox.param('description'), colspan="14"},
{tag='td', content=Infobox.param('episode')},
}
:add_row{
{tag='th', content='[[Episode]]', colspan="6"},
{tag='td', content=Infobox.param('episode'), colspan="14"},
}
}
...
...
Line 81: Line 76:


==Functions==
==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 ===
=== 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:
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 123: Line 102:
</syntaxhighlight>
</syntaxhighlight>
==== config ====
==== config ====
There are only 3 parameters for config
There are only 2 parameters for config
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local config = {
local config = {
infobox_name = 'Scenery', -- mandatory unique identifier for css
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
max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead
}
}
Line 251: Line 229:
|-
|-
| class (optional)
| class (optional)
| a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' and '''infobox-image''' are commonly used.
| a string with a class to add, or a table of classes to add. '''infobox-subheader''' is commonly used.
mw.html:addClass(...)
mw.html:addClass(...)
|-
|-
Line 269: Line 247:


=== Infobox:pad(colspan, class) ===
=== 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:
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">
<syntaxhighlight lang="lua">
infobox:pad("10", class=<class>)
infobox:pad("10", class=<class>)
Line 280: Line 258:
infobox:addClass(class)
infobox:addClass(class)
</syntaxhighlight>
</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".
Please note that all contributions to Brighter Shores Wiki are considered to be released under the CC BY-NC-SA 3.0 (see Brighter Shores:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)
Preview page with this template

This page is a member of a hidden category: