Difference between revisions of "Module:ListParser"

From Dragalia Lost Wiki
Jump to navigation Jump to search
>Canim44
(p.Weapons)
>Canim44
(p.Weapons)
(No difference)

Revision as of 18:19, 29 November 2019

50px Documentation

Also see Module:ListParserTooltip.

{{#invoke:ListParser|Linkify|Wyrmite, Elisanne, Dragalia Life}}

Script error: The function "Linkify" does not exist.

{{#invoke:ListParser|Weapons|Rathalos Firesword, Wyvern Blade “Maple”, Blazing Falchion, Rath Blaze Splitter, Spear of Prominence, Dark Filament, Plage Rod, Wyvern Staff “Elsewhere”, Fatalis Sword, Fatalis Xiphos, Black Dragon Blade, Black Dragon Axe, Black Dragon Spear, Black Dragon Bow, Fatalis Rhabdos, Black Dragon Staff}}
Error: Table Weapons not found.

Rathalos Firesword
Error: Table Weapons not found.

Wyvern Blade “Maple”
Error: Table Weapons not found.

Blazing Falchion
Error: Table Weapons not found.

Rath Blaze Splitter
Error: Table Weapons not found.

Spear of Prominence
Error: Table Weapons not found.

Dark Filament
Error: Table Weapons not found.

Plage Rod
Error: Table Weapons not found.

Wyvern Staff “Elsewhere”
Error: Table Weapons not found.

Fatalis Sword
Error: Table Weapons not found.

Fatalis Xiphos
Error: Table Weapons not found.

Black Dragon Blade
Error: Table Weapons not found.

Black Dragon Axe
Error: Table Weapons not found.

Black Dragon Spear
Error: Table Weapons not found.

Black Dragon Bow
Error: Table Weapons not found.

Fatalis Rhabdos
Error: Table Weapons not found.

Black Dragon Staff

-- <includeonly> (prevents literal interpretation of links or categories within the module code)
-- Lua Templating for {{Template:SummonShowcase}}, {{Template:Event}} and any other templates requiring items to be listed in a series (,).
local p = {}

local itemTemplate = '<div style="display:inline-block;vertical-align:top;width:80px;text-align:center;padding:4px">%s<br>[[%s]]</div>'

-- Usage: {{#invoke:ListParser|Adventurers|<names,comma,separated>}}
-- Ex: {{#invoke:ListParser|Adventurers|Halloween Mym, Halloween Lowen, Halloween Odetta, Halloween Elisanne}}
function p.Adventurers(frame)
  local names = frame.args[1]
  return p._Adventurers(names)
end

function p._Adventurers(names)
  local result = {}

  for name in mw.text.gsplit(names, ',') do
    name = mw.text.trim(name)
    if name ~= '' then
      result[#result+1] = string.format(itemTemplate, icon('Adventurer', name), name)
    end
  end

  return table.concat(result, '')
end

-- Usage: {{#invoke:ListParser|Dragons|<names,comma,separated>}}
-- Ex: {{#invoke:ListParser|Dragons|Halloween Maritimus, Halloween Silke}}
function p.Dragons(frame)
  local names = frame.args[1]
  return p._Dragons(names)
end

function p._Dragons(names)
  local result = {}

  for name in mw.text.gsplit(names, ',') do
    name = mw.text.trim(name)
    if name ~= '' then
      result[#result+1] = string.format(itemTemplate, icon('Dragon', name), name)
    end
  end

  return table.concat(result, '')
end

-- Usage: {{#invoke:ListParser|Wyrmprints|<names,comma,separated>}}
-- Ex: {{#invoke:ListParser|Wyrmprints|Witch's Kitchen}}
function p.Wyrmprints(frame)
  local names = frame.args[1]
  return p._Wyrmprints(names)
end

function p._Wyrmprints(names)
  local result = {}

  for name in mw.text.gsplit(names, ',') do
    name = mw.text.trim(name)
    if name ~= '' then
      result[#result+1] = string.format(itemTemplate, icon('Wyrmprint', name), name)
    end
  end

  return table.concat(result, '')
end

-- Usage: {{#invoke:ListParser|Weapons|<names,comma,separated>}}
-- Ex: {{#invoke:ListParser|Weapons|Fólkvangr}}
function p.Weapons(frame)
  local names = frame.args[1]
  return p._Weapons(names)
end

function p._Weapons(names)
  local result = {}

  for name in mw.text.gsplit(names, ',') do
    name = mw.text.trim(name)
    if name ~= '' then
      result[#result+1] = string.format(itemTemplate, icon('Weapon', name), name)
    end
  end

  return table.concat(result, '')
end


-- Common templating functions

-- {{Template:Icon}}
function icon(type, name)
  local frame = mw.getCurrentFrame()
  return frame:expandTemplate{title='Icon', args={type, name}}
end

return p
--</includeonly>