Module:TitleUtil

From NBA 2K Esports Wiki
Jump to: navigation, search

To edit the documentation or categories for this module, click here.


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