Module:TitleUtil

local util_text = require('Module:Text') local util_table = require('Module:TableUtil')

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

return p