Module:Game shortened: Difference between revisions
From Inkipedia, the Splatoon wiki
(add SR for Salmon Run (allowed by SiteColor so should be here too)) |
Trig Jegman (talk | contribs) m (Trig Jegman moved page Module:GameShortened to Module:Game shortened without leaving a redirect) |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
-- Note in Lua calling p.getGame(game) is acceptable, | |||
-- and `default` will be set to nil. | |||
function p.getGame(arg, default) | function p.getGame(arg, default) | ||
--Allows input to be case insensitive | |||
arg = string.upper(arg) | |||
local OE = "OE" | |||
local SO = "SO" | |||
local SR = "SR" | |||
local S = "S" | |||
local S2 = "S2" | |||
local S3 = "S3" | |||
--All names are in uppercase because of string.upper (for case insensitivity) | |||
local abbrev = { | |||
['OE'] = OE, | |||
['OCTO EXPANSION'] = OE, | |||
['SR'] = SR, | |||
['SALMON RUN'] = SR, | |||
['SO'] = SO, | |||
['SIDE ORDER'] = SO, | |||
['S'] = S, | |||
['S1'] = S, | |||
['SPLATOON'] = S, | |||
['SPLATOON 1'] = S, | |||
['S2'] = S2, | |||
['SPLATOON 2'] = S2, | |||
['S3'] = S3, | |||
['SPLATOON 3'] = S3, | |||
} | |||
-- return the abbreviation from the game arg. | |||
-- If arg is nil then a default will be used. | |||
return abbrev[arg] or default or "S" | |||
end | end | ||
-- main to extract arg from frame | -- main to extract arg from frame | ||
function p.main(frame) | function p.main(frame) | ||
local args = frame:getParent().args | |||
local arg = args['game'] or args[1] | |||
local default = args['default'] or args[2] -- or nil | |||
return p.getGame(arg, default) | |||
end | end | ||
return p | return p |
Latest revision as of 15:26, 17 September 2024
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
{{Game shortened|<game>|<default>}}
{{Game shortened|Octo Expansion}}
->
OE
- Chained in another template that has the game parameter
{{Game shortened|{{{game|}}}}}
->
S
- Using the default parameter
{{Game shortened|Splatoon 3|S}}
->
S3
{{Game shortened|game=Splatoon 2|default=Splatoon}}
->
S2
- In files
[[File:{{Game shortened|Splatoon 3}}_Icon_Big_Run.svg|link=Big Run|30px]]
->
[[File:{{Game shortened|game=Splatoon 2|default=Splatoon 3}}_Splatfest_Logo.png|link=Splatfest|30px]]
->
See Also
local p = {} -- Note in Lua calling p.getGame(game) is acceptable, -- and `default` will be set to nil. function p.getGame(arg, default) --Allows input to be case insensitive arg = string.upper(arg) local OE = "OE" local SO = "SO" local SR = "SR" local S = "S" local S2 = "S2" local S3 = "S3" --All names are in uppercase because of string.upper (for case insensitivity) local abbrev = { ['OE'] = OE, ['OCTO EXPANSION'] = OE, ['SR'] = SR, ['SALMON RUN'] = SR, ['SO'] = SO, ['SIDE ORDER'] = SO, ['S'] = S, ['S1'] = S, ['SPLATOON'] = S, ['SPLATOON 1'] = S, ['S2'] = S2, ['SPLATOON 2'] = S2, ['S3'] = S3, ['SPLATOON 3'] = S3, } -- return the abbreviation from the game arg. -- If arg is nil then a default will be used. return abbrev[arg] or default or "S" end -- main to extract arg from frame function p.main(frame) local args = frame:getParent().args local arg = args['game'] or args[1] local default = args['default'] or args[2] -- or nil return p.getGame(arg, default) end return p