Jump to content
Toggle menu
  • 799 articles
  • 4.8K files
  • 4 users
  • 64.7K edits
2b2t Uncensored
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Documentation for this module may be created at Module:Coordinates/doc

require('Module:No globals')

local math_mod = require("Module:Math")
local coordinates = {};

local current_page = mw.title.getCurrentTitle()
local page_name = mw.uri.encode( current_page.prefixedText, 'WIKI' );
local templatestyles = 'Module:Coordinates/styles.css'

local function displaytitle(s)
	local l = "Coordinates: " .. s
	local co = '<span id="coordinates">' .. l .. '</span>';
	return '<span style="font-size: small;">' .. co .. '</span>';
end

local function makeInvokeFunc(funcName)
	return function (frame)
		local args = require('Module:Arguments').getArgs(frame, {
			wrappers = 'Template:Coord'
		})
		return coordinates[funcName](args, frame)
	end
end

local function formatFor2b2t(coordStr)
	local floored = math.floor(tonumber(coordStr))
	return tostring(floored):reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", "")
end

coordinates.coord = makeInvokeFunc('_coord')
function coordinates._coord(args)

	local contents = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = templatestyles} }

	contents = contents .. 'X: ' .. formatFor2b2t(args[1])
	contents = contents .. ', '
	contents = contents .. 'Z: ' .. formatFor2b2t(args[2])
	local Display = args.intitle and args.intitle:lower() or 'yes'

	local function isInTitle(s)
		return s:find('yes') ~= nil
	end

	local text = contents
	if isInTitle(Display) then
		text = text
			.. displaytitle(contents)
	end

	return text
end

return coordinates