Edit the documentation or categories for this module.
local util_text = require('Module:TextUtil')
local util_table = require('Module:TableUtil')
local util_vars = require('Module:VarsUtil')
local p = {}
function p.titleTable(title)
local title = title or mw.title.getCurrentTitle().text
return util_text.split(title,'/')
end
function p.concatSubpage(base, extension)
-- concatenate the two but don't add a / if the 2nd argument is empty or Overview
if extension == 'Overview' or extension == '' or not extension then
return base
elseif base == '' or not base then
return extension
else
return base .. '/' .. extension
end
end
function p.concatSubpageSystem(base, extension)
local systems = mw.loadData('Module:Systems')
return p.concatSubpage(base, systems[extension])
end
function p.concatSystemSubpage(base, extension)
local systems = mw.loadData('Module:Systems')
return p.concatSubpage(systems[base], extension)
end
function p.concatSubpages(tbl, extension)
for k, v in pairs(tbl) do
tbl[k] = p.concatSubpage(v, extension)
end
return
end
function p.titleparts(str, n, s)
local tbl = util_text.split(str, '/')
return table.concat(util_table.slice(tbl,s,s+n-1),'/')
end
function p.target(page)
if not page then return nil end
local title = mw.title.makeTitle(ns or '', page)
if title.redirectTarget then
return title.redirectTarget.fullText
end
return page
end
return p