Module:GameShortened: Difference between revisions
From Inkipedia, the Splatoon wiki
m (tabs ._.) |
m (allow named 'default' parameter; added comments) |
||
Line 19: | Line 19: | ||
} | } | ||
local arg = frame:getParent().args[1] or S1 | -- Calculate the game parameter | ||
-- It's the first positional, or in the paramter named 'game', else if not specified use S1 | |||
local arg = frame:getParent().args[1] or frame:getParent().args['game'] or S1 | |||
-- return the abbreviation from the game arg. | |||
-- if it's not in the table, instead return the default parameter, which | |||
-- is the second positional, or the parameter named 'default', else simply return S1. | |||
return abbrev[arg] or frame:getParent().args[2] or frame:getParent().args['default'] or S1 | |||
end | end | ||
return g | return g |
Revision as of 18:31, 17 August 2023
Helper template that transforms the game argument into the shortened S form. For template chaining and code reduction. Will also help us when new game/expansions/formats are created.
If the game is not matched, the default argument is used instead if specified, otherwise "S".
Usage
game
|
Named or first positional, optional | The game that the cost belongs to. The following values are handled:
If game is not specified, the default argument will be used instead. | |||
default
|
Named or second positional, optional | If the game argument was not matched, uses this instead.
|
- Typical usage
{{GameShortened|<game>|<default>}}
{{GameShortened|Octo Expansion}}
->
OE
- Chained in another template that has the game parameter
{{GameShortened|{{{game|}}}}}
->
S
- Using the default parameter
{{GameShortened|Splatoon 3|S}}
->
S3
{{GameShortened|game=Splatoon 2|default=Splatoon}}
->
S2
- In files
[[File:{{GameShortened|Splatoon 3}}_Icon_Big_Run.svg|link=Big Run|30px]]
->
[[File:{{GameShortened|game=Splatoon 2|default=Splatoon 3}}_Splatfest_Logo.svg|link=Splatfest|30px]]
->
See Also
local g = {} function g.main(frame) local S1 = "S" local S2 = "S2" local S3 = "S3" local OE = "OE" local abbrev = { ['S'] = S, ['S1'] = S, ['Splatoon'] = S, ['Splatoon 1'] = S, ['S2'] = S2, ['Splatoon 2'] = S2, ['S3'] = S3, ['Splatoon 3'] = S3, ['OE'] = OE, ['Octo Expansion'] = OE, } -- Calculate the game parameter -- It's the first positional, or in the paramter named 'game', else if not specified use S1 local arg = frame:getParent().args[1] or frame:getParent().args['game'] or S1 -- return the abbreviation from the game arg. -- if it's not in the table, instead return the default parameter, which -- is the second positional, or the parameter named 'default', else simply return S1. return abbrev[arg] or frame:getParent().args[2] or frame:getParent().args['default'] or S1 end return g