Module:Necropolis packs
The above documentation is transcluded from Module:Necropolis packs/doc.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
require('Module:No globals')
local m_util = require('Module:Util')
local use_sandbox = m_util.misc.maybe_sandbox('Necropolis_packs')
local m_data = use_sandbox and mw.loadData('Module:Necropolis_packs/data/sandbox') or mw.loadData('Module:Necropolis_packs/data')
local m_lookup = use_sandbox and mw.loadData('Module:Necropolis_pack_lookup/data/sandbox') or mw.loadData('Module:Necropolis_pack_lookup/data')
local function _expand_template(data, sections)
return mw.getCurrentFrame():expandTemplate{
title = use_sandbox and 'Template:Necropolis packs/display/sandbox' or 'Template:Necropolis packs/display',
args = {
name = sections and "==" .. data.name .. "==",
description = data.description,
leader = data.leader
}
}
end
local function _render_pack(tpl_args)
tpl_args = tpl_args or {}
if tpl_args.name then
local data = m_data[m_lookup[tpl_args.name].pack_id]
return mw.getCurrentFrame():preprocess(_expand_template(data))
else
local all = ""
for _, data in pairs(m_data) do
if data.name then
all = all .. "\n" .. _expand_template(data, true)
end
end
return mw.getCurrentFrame():preprocess(all)
end
end
local p = {}
p.render_pack = _render_pack
return p