Module:Infobox album

local p = {}

local types = { ['ep'] = { color = 'lightsalmon', link = 'EP', category = 'EPs', respect_casing = true },	['studio'] = { color = 'lightsteelblue', link = 'Studio album', category = 'Studio albums' },	['demo'] = { color = 'khaki', link = 'Demo album', category = 'Demo albums' },	['live'] = { color = 'burlywood', link = 'Live album', category = 'Live albums' },	['greatest hits'] = { color = 'darkseagreen', link = 'Compilation album', category = 'Compilation albums' },	['box set'] = { color = 'darkseagreen', link = 'Box set', category = 'Box sets' },	['compilation'] = { color = 'darkseagreen', link = 'Compilation album', category = 'Compilation albums' },	['remix'] = { color = 'peachpuff', link = 'Remix album', category = 'Category:Remix albums' },	['soundtrack'] = { color = 'gainsboro', link = 'Soundtrack', category = 'Soundtrack albums' },	['film score'] = { color = 'gainsboro', link = 'Soundtrack album', category = 'Soundtrack albums' },	['video'] = { color = '&#32;#99CCFF', link = 'Video release', category = 'Video releases' },	['promotional'] = { color = 'peachpuff', link = 'Promotional release', category = 'Promotional releases' },	['tribute'] = { color = 'peachpuff', link = 'Tribute album', category = 'Tribute albums' },	['bootleg'] = { color = '&#32;#E6E8FA', link = 'Bootleg', category = 'Bootleg albums' } }

local artist = { 'The Smashing Pumpkins', 'Billy Corgan', 'Zwan', 'James Iha', 'Jimmy Chamberlin Complex', 'Various artists' }

function p.link( frame ) local given = mw.text.split(frame.args[1], "%s*,%s*") return types[given[1]].link end

function p.color( frame ) local given = mw.text.split(frame.args[1], "%s*,%s*") return types[given[1]].color end

function p.categories( frame ) local given = mw.text.split(frame.args[1], "%s*,%s*") local artist = frame.args[2] if artists[artist] == nil then return end

local cats = '' for _, v in ipairs(given) do		local data = types[v] cats = cats .. ''

if artist ~= 'Various artists' then if data.respect_casing then cats = cats .. ''			else cats = cats .. ''			end end end return cats end

return p