Permanently protected module
From Wikipedia, the free encyclopedia


-- 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/?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&hideredirs=1', 'transclusions') .. sep

	.. fullurllink('Special:Log', 'page=' .. urlencode(fname), 'logs') .. sep

	.. '[[Special:PrefixIndex/' .. fname .. '/|subpages]])</span>'

	

	return res

end



return p