Halo Esports Wiki
Advertisement
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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


local lang = mw.getLanguage('en')
local LOOKUP = mw.loadData('Module:Wikinames')

function lookup(str)
	local namevars = LOOKUP.wikis[lang:lc(str)]
	if type(namevars) == 'table' then
		return namevars
	elseif type(namevars) == 'string' then
		return LOOKUP.wikis[namevars]
	else
		return { long = 'Unknown Wiki', short = 'Unknown', image = '', url = 'esports' }
	end
end

function addTarget(target)
	if not target then
		target = mw.title.getCurrentTitle().text
	end
	return (LOOKUP.url[3] .. target):gsub(' ','_') or ''
end

function makeURL(url, target)
	local output = {
		LOOKUP.url[1],
		url,
		LOOKUP.url[2],
		addTarget(target)
	}
	return table.concat(output,'')
end

local p = {}
function p.main(frame)
	if frame == mw.getCurrentFrame() then
		args = require('Module:ProcessArgs').merge(true)
	else
		frame = mw.getCurrentFrame()
	end
	return p[args[2] or 'wikilongname'](args[1] or '')
end

function p.wikilongname(str)
	return lookup(str).long
end

function p.wikiurl(str, args)
	return makeURL(lookup(str).url, args.target)
end

function p.longlinked(str, args)
	local namevars = lookup(str)
	return string.format(
		'[%s %s]',
		makeURL(namevars.url, args.target),
		namevars.long
	)
end

function p.onlyimagelinked(str, args)
	local namevars = lookup(str)
	return string.format(
		'<span title="%s">[[File:Infobox %slogo std.png|link=%s%s%s%s]]</span>',
		args.title or string.format(
			'%s on the %s wiki',
			args.titletarget or args.target or 'View this page',
			namevars.long
		),
		namevars.image,
		LOOKUP.url[1],
		namevars.url,
		LOOKUP.url[2],
		addTarget(args.target)
	)
end

return p
Advertisement