Template:Tfd links

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

local function urlencode(text) -- Return equivalent of. 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 '[//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'] or 'Example') local fname = ns .. ':' .. tname local ymd = args['2'] or '' local fullpagename = (ymd ~= '') and	'WP:Templates for discussion/Log/' .. ymd or frame:preprocess('') local sep = ' · ' local res = '' ..  .. ns .. ':' .. tname .. ' ('	if ymd ~=  then		local dmy = frame:expandTemplate{ title='date', args={ymd, 'dmy'} } 		res = res .. '' .. dmy .. ') ('	end	res = res .. fullurllink(fname, 'action=edit', 'edit') .. sep	res = res .. 'talk' .. sep	res = res .. fullurllink(fname, 'action=history', 'history') .. sep	if ns ~= 'Category' then		res = res .. fullurllink('Special:Whatlinkshere/' .. fname, 'limit=5000', 'links') .. sep		res = res .. fullurllink('Special:Whatlinkshere/' .. fname, 'limit=5000&hidelinks=1', 'transclusions') .. sep	end	res = res .. fullurllink('Special:Log', 'page=' .. urlencode(fname), 'logs') .. sep	res = res .. 'subpages'	res = res .. ' ' .. sep .. fullurllink(fname, 'action=delete&wpReason=' .. urlencode( .. fullpagename .. ), 'delete') .. ' '	res = res .. ') ' return res end

return p