HerrHulaHoop (talk | contribs) m (Test6) Tag: Reverted |
HerrHulaHoop (talk | contribs) m (test7) Tag: Reverted |
||
Line 57: | Line 57: | ||
local items = {} | local items = {} | ||
-- | -- Process the arguments | ||
for k, v in pairs(args) do | |||
-- Check if the argument is a named parameter | |||
local region, label = v:match('^%s*([A-Z][A-Z][A-Z]?)%s*[%|=]%s*(.-)%s*$') | |||
if region and label then | |||
local localLabel = getLocalLabel(region) | |||
if localLabel then | |||
label = localLabel .. '|' .. label | |||
if | |||
end | end | ||
table.insert(items, "<span style=\"font-size:97%;\">[[" .. label .. "]]:</span> " .. k) | |||
end | end | ||
end | end | ||
Line 120: | Line 78: | ||
local out = list.makeList(listformat, items) | local out = list.makeList(listformat, items) | ||
return out | return out |
Revision as of 18:31, 17 March 2024
Documentation for this module may be created at Module:Test/doc
require('strict') local getArgs = require('Module:Arguments').getArgs local list = require('Module:List') local p = {} local knownargs = { ['format'] = true, ['class'] = true, ['style'] = true, ['list_style'] = true, ['item_style'] = true, ['item1_style'] = true, ['indent'] = true } local labels = { ['NA'] = "[[:Category:North America (Release region)|NA]]", ['EU'] = "[[:Category:Europe (Release region)|EU]]", ['AU'] = "[[:Category:Australia (Release region)|AU]]", ['PAL'] = "[[:Category:Europe (Release region)|PAL]]", ['JP'] = "[[:Category:Japan (Release region)|JP]]", ['WW'] = "<abbr title=\"Worldwide\">WW</abbr>" } local function getLocalLabel(alias) local label = labels[string.upper(alias)] return label end local function splitLabel(s) local islist = true local res = {} for k,v in ipairs(mw.text.split(s or '', '%s*/%s*')) do local v1 = v:match('^%s*([A-Z][A-Z][A-Z]?)%s*$') if v1 then table.insert(res,v1) else local v2 = v:match('^%s*(%[%[[^%[%]|]*|[A-Z][A-Z][A-Z]?%]%])%s*$') if v2 then table.insert(res,v2) else islist = false end end end return islist and res or {s} end function p.main(frame) local args = getArgs(frame) local listformat = args['format'] if (listformat == nil or listformat == "") then listformat = "unbulleted" end local items = {} -- Process the arguments for k, v in pairs(args) do -- Check if the argument is a named parameter local region, label = v:match('^%s*([A-Z][A-Z][A-Z]?)%s*[%|=]%s*(.-)%s*$') if region and label then local localLabel = getLocalLabel(region) if localLabel then label = localLabel .. '|' .. label end table.insert(items, "<span style=\"font-size:97%;\">[[" .. label .. "]]:</span> " .. k) end end -- Add known parameters of Module:List to the table for k, v in pairs(args) do if (knownargs[k] == true) then items[k] = v end end local out = list.makeList(listformat, items) return out end return p