Documentation for this module may be created at Module:SiteList/doc
local p = {} local function buildRow(siteType, site, sceneid, id, alias, notes) local siteInfo = mw.loadData('Module:SiteDictionary')[site:lower()] local link = 'N/A' local siteLabel = 'N/A' if siteInfo then if sceneid and sceneid ~= '' then link = string.format(siteInfo.sceneFormat, sceneid) elseif id and id ~= '' then link = string.format(siteInfo.idFormat, id) else link = siteInfo.defaultLink end siteLabel = string.format("[%s %s]", link, siteInfo.name) else siteLabel = siteType end return string.format('|-\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n', siteType, siteLabel, alias or 'N/A', notes or 'N/A') end function p.siteList(frame) local args = frame:getParent().args local siteType = args[1] local site = args.site or '' local sceneid = args.sceneid or '' local id = args.id or '' local alias = args.alias local notes = args.notes return buildRow(siteType, site, sceneid, id, alias, notes) end return p