Module:TypeToColor
This template converts a "type" value to a color, using the supported icon set. It is used in Template:marker and Template:listing.
type | css3 color name | |
---|---|---|
see | #4682B4 | |
do | #808080 | |
buy | #008080 | |
eat | #D2691E | |
drink | #000000 | |
sleep | #000080 | |
listing | #228B22 | |
city | #0000FF | |
go | #A52A2A | |
other | #228B22 | |
view | #4169E1 | |
vicinity | #800000 | |
around | #800080 | |
gold | #FFD700 | |
lime | #00FF00 | |
red | #FF0000 | |
silver | #C0C0C0 |
Examples:
input | output | comment |
---|---|---|
#{{#invoke:TypeToColor|convert|sleep}} |
#000080 | type to color |
#{{#invoke:TypeToColor|convert|red}} |
#FF0000 | color to color |
#{{#invoke:TypeToColor|convert|wrong}} |
#C0C0C0 | wrong to default |
#{{#invoke:TypeToColor|convert|}} |
#C0C0C0 | no to default |
local p = {}
function p.convert( frame )
return p.convertImpl(frame.args[1])
end
function p.convertImpl(type)
local types = {
['do'] = '808080',
around = '800080',
buy = '008080',
city = '0000FF',
drink = '000000',
eat = 'D2691E',
go = 'A52A2A',
listing = '228B22',
other = '228B22',
see = '4682B4',
sleep = '000080',
vicinity = '800000',
view = '4169E1',
}
local result = types[type]
if result then
return result
end
-- Deprecated usage - trace it
types = {
black = '000000',
blue = '0000FF',
brown = 'A52A2A',
chocolate = 'D2691E',
forestgreen = '228B22',
gold = 'FFD700',
gray = '808080',
grey = '808080',
lime = '00FF00',
magenta = 'FF00FF',
maroon = '800000',
mediumaquamarine = '66CDAA',
navy = '000080',
orange = 'FFA500',
plum = 'DDA0DD',
purple = '800080',
red = 'FF0000',
royalblue = '4169E1',
silver = 'C0C0C0',
steelblue = '4682B4',
teal = '008080',
}
local result = types[type]
if result then
return result -- .. '[[category:Fixme TypeToColor]]'
end
return 'C0C0C0' -- .. '[[category:Fixme TypeToColor Unknown]]'
end
return p