Module:GameShortened
From Inkipedia, the Splatoon wiki
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 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, } local redundantAbbrev = { ['OE'] = OE, ['SR'] = SR, ['SO'] = SO, ['S'] = S, ['S1'] = S, ['S2'] = S2, ['S3'] = S3, } -- return the abbreviation from the game arg. -- If arg is nil then a default will be used. local output = abbrev[arg] or default or "S" if redundantAbbrev[arg] then local maintenanceCat = "[[Category:Redundant GameShortened (already shortened)]]" return output..maintenanceCat else return output end 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