Module:TfdLinks
From MINR.ORG WIKI
Revision as of 15:27, 22 December 2016 by Frietjes (talk) (testing a lua implementation of template:tfd links)
Documentation for this module may be created at Module:TfdLinks/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 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