Module:TagList
From Eco - English Wiki
This module provides the back end functionality of the Template:TagsList.
If the template is passed, this module creates a list using details from the following Modules:
Credit
Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for TagsList.
-- Credit: Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for tagsList.
local p = {}
-- Grabs args from the parent frame
-- Trims and parses the args into a table, then returns the table
function norm()
local origArgs = mw.getCurrentFrame():getParent().args
local args = {}
for k, v in pairs( origArgs ) do
v = mw.text.trim( tostring( v ) )
if v ~= '' then
args[k] = v
end
end
return args
end
-- Main entry point for the Module
function p.main()
-- get args from the Template
local args = norm()
if args.list == nil or args.list == '' then
return '\'list\' must be specified.'
end
-- assign variables for list
local list = args.list
-- load lists
local itemData = require( "Module:ItemData" )
local tagList = ''
--Check Passes
if list ~= 'tags' then
return tagsList .. ' Incorrect use of pass. '
end
local a = {}
--Talent List
if list == 'tags' then
tagsList = tagsList .. '=== Tags List ===\n'
tagsList = tagsList .. '<div style=\"column-count:3;-moz-column-count:3;-webkit-column-count:3\">\n'
for k,v in pairs(itemData.tags) do
if itemData.tags[k] ~= nil or itemData.tags[k] ~= '' then
table.insert(a,k)
end
end
table.sort(a)
for i,n in ipairs(a) do
tagsList = tagsList .. '* [[' .. k .. ']]\n'
end
tagsList = tagsList .. '</div>'
end
return tagsList
end
return p