Toggle menu
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:Tfd links/doc

-- This module implements [[Template:Tfd links]]
local p = {}

local function urlencode(text)
	-- Return equivalent of {{urlencode:text}}.
	local function byte(char)
		return string.format('%%%02X', string.byte(char))
	end
	return text:gsub('[^ %w%-._]', byte):gsub(' ', '+')
end

local function fullurllink(t, a, s)
	return '[https://en.wikipedia.org/w/index.php?title=' .. urlencode(t) .. '&' .. a .. ' ' .. s .. ']'
end

function p.main(frame)
	local args = frame:getParent().args
	local ns = (((args['catfd'] and args['catfd'] ~= '') and 'Category') or
		(args['module'] and args['module'] ~= '') and 'Module')
		or  'Template'
	local tname = mw.getContentLanguage():ucfirst(args['1'])
	local fname = ns .. ':' .. tname
	local fullpagename = frame:preprocess('{{FULLPAGENAME}}')
	local sep = '&nbsp;<b>·</b> '
	
	local res = '<span id="' .. ns .. ':' .. tname 
	.. '" class="plainlinks nourlexpansion 1x">'
	.. '[[:' .. ns .. ':' .. tname .. ']]&nbsp;('
	.. '[[' .. ns .. ' talk:' .. tname .. '|talk]]' .. sep
	.. '[[Special:PageHistory/' .. fname .. '|history]]' .. sep
	.. fullurllink('Special:Whatlinkshere/' .. fname, 'limit=5000&hidelinks=1', 'transclusions') .. sep
	.. fullurllink('Special:Log', 'page=' .. urlencode(fname), 'logs') .. sep
	.. '[[Special:PrefixIndex/' .. fname .. '/|subpages]])</span>'
	
	return res
end

return p