Module:Tfd links: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Frietjes No edit summary |
meta>Frietjes No edit summary |
||
Line 11: | Line 11: | ||
local function fullurl(t, a) | local function fullurl(t, a) | ||
return '//en.wikipedia.org/w/index.php?title=' | return '//en.wikipedia.org/w/index.php?title=' .. t .. '&' .. a | ||
end | end | ||
Line 18: | Line 18: | ||
local ns = (args['catfd'] and args['catfd'] ~= '') and 'Category' or 'Template' | local ns = (args['catfd'] and args['catfd'] ~= '') and 'Category' or 'Template' | ||
local tname = mw.getContentLanguage():ucfirst(args['1'] or 'Example') | local tname = mw.getContentLanguage():ucfirst(args['1'] or 'Example') | ||
local fname = ns | local fname = ns .. ':' .. tname | ||
local ymd = args['2'] or '' | local ymd = args['2'] or '' | ||
local fullpagename = (ymd ~= '') | local fullpagename = (ymd ~= '') | ||
and 'WP:Templates for discussion/Log' | and 'WP:Templates for discussion/Log' .. ymd | ||
or frame:preprocess('{{FULLPAGENAME}}') | or frame:preprocess('{{FULLPAGENAME}}') | ||
local sep = ' <b>·</b> ' | local sep = ' <b>·</b> ' | ||
local res = '<span id="' | local res = '<span id="' .. ns .. ':' .. tname | ||
.. '" class="plainlinks nourlexpansion 1x">' | |||
.. '[[:' .. ns .. ':' .. tname .. ']] (' | |||
if ymd ~= '' then | if ymd ~= '' then | ||
local dmy = frame:expandTemplate{ title = 'date', args = {args['2'], 'dmy'} } | local dmy = frame:expandTemplate{ title = 'date', args = {args['2'], 'dmy'} } | ||
res = res | res = res .. '[[' .. fullpagename .. '#' .. fname .. '|' .. dmy .. ') (' | ||
end | end | ||
res = res | res = res .. '[' .. fullurl(fname, 'action=edit') .. ' edit]' .. sep | ||
res = res | res = res .. '[[' .. ns .. ' talk:' .. tname .. '|talk]]' .. sep | ||
res = res | res = res .. '[' .. fullurl(fname, 'action=history') .. ' history' .. sep | ||
if ns ~= 'Category' then | if ns ~= 'Category' then | ||
res = res | res = res .. '[' .. fullurl('Special:Whatlinkshere/' .. fname, 'limit=999') .. ' links]' .. sep | ||
end | end | ||
res = res | res = res .. '[' .. fullurl('Special:Log', 'page=' .. urlencode(fname)) .. ' logs]' .. sep | ||
res = res | res = res .. '[[Special:PrefixIndex/' .. fname .. '|subpages]]' .. sep | ||
res = res | res = res .. '[' .. fullurl(fname, 'action=delete&wpReason=' .. urlencode('[[' .. fullpagename .. '#' .. fname .. ']]')) .. ' delete]' | ||
res = res | res = res .. ')</span>' | ||
return res | return res |
Revision as of 14:32, 22 December 2016
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 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