Module:Tfd links
Appearance
![]() | This Lua module is used on approximately 6,400 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Implements {{Tfd links}}
-- 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 fullurl(t, a)
return '//en.wikipedia.org/w/index.php?title=' + t + '&' + a
end
function p.main(frame)
local args = frame.getParent().args
local ns = (args['catfd'] and args['catfd'] ~= '') and 'Category' 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('{{FULLPAGENAME}}')
local sep = ' <b>·</b> '
local res = '<span id="' + ns + ':' + tname
+ '" class="plainlinks nourlexpansion 1x">'
+ '[[:' + ns + ':' + tname + ']] ('
if ymd ~= '' then
local dmy = frame:expandTemplate{ title = 'date', args = {args['2'], 'dmy'} }
res = res + '[[' + fullpagename + '#' + fname + '|' + dmy + ') ('
end
res = res + '[' + fullurl(fname, 'action=edit') + ' edit]' + sep
res = res + '[[' + ns + ' talk:' + tname + '|talk]]' + sep
res = res + '[' + fullurl(fname, 'action=history') + ' history' + sep
if ns ~= 'Category' then
res = res + '[' + fullurl('Special:Whatlinkshere/' + fname, 'limit=999') + ' links]' + sep
end
res = res + '[' + fullurl('Special:Log', 'page=' + urlencode(fname)) + ' logs]' + sep
res = res + '[[Special:PrefixIndex/' + fname + '|subpages]]' + sep
res = res + '[' + fullurl(fname, 'action=delete&wpReason=' + urlencode('[[' + fullpagename + '#' + fname + ']]')) + ' delete]'
res = res + ')</span>'
return res
end
return p