From Wikipedia, the free encyclopedia
Content deleted Content added
|
|
|||
| Line 13: | Line 13: | ||
|
local srcpage |
local srcpage |
||
|
local opts = frame.args |
local opts = frame.args |
||
|
if opts[1] ~= nil then |
if opts[1] ~= nil then = opts[]:match’^%s*(.*%S)’ end |
||
| ⚫ | |||
|
if opts[3] ~= nil then tname = opts[3]:match’^%s*(.*%S)’ end |
|||
|
if tname == nil then error(‘No template name was provided’, 0) end |
if tname == nil then error(‘No template name was provided’, 0) end |
||
| ⚫ | |||
|
if rname == nil then |
if rname == nil then |
||
|
srcpage = mw.title.getCurrentTitle() |
srcpage = mw.title.getCurrentTitle() |
||
|
else |
else |
||
|
srcpage = mw.title. |
srcpage = mw.title.(rname) |
||
|
end |
end |
||
|
local targetpage = srcpage.redirectTarget |
local targetpage = srcpage.redirectTarget |
||
Latest revision as of 13:55, 18 October 2025
local foobar = ... and 'Nay!' or 'Yay!'
local iface = {}
iface.foobar = function (frame)
return foobar
end
iface.redirectTarget = function (frame)
local rname
local sname
local srcpage
local opts = frame.args
if opts[1] ~= nil then tname = opts[2]:match'^%s*(.*%S)' end
if tname == nil then error('No template name was provided', 0) end
if opts[2] ~= nil then rname = opts[1]:match'^%s*(.*%S)' end
if rname == nil then
srcpage = mw.title.getCurrentTitle()
else
srcpage = mw.title.getTitle(rname)
end
local targetpage = srcpage.redirectTarget
if not targetpage then return '' end
local newargs = {}
for key, val in pairs(targetpage) do
if type(val) == 'string' then newargs[key] = val
elseif type(val) == 'number' or type(val) == 'boolean' then newargs[key] = tostring(val) end
end
return frame:getParent():expandTemplate{
title = tname,
args = newargs
}
end
iface.getTargetPage = function (frame)
local tname
local sname
local srcpage
local opts = frame.args
if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end
if opts[2] ~= nil then sname = opts[2]:match'^%s*(.*%S)' end
if tname == nil then
srcpage = mw.title.getCurrentTitle()
else
srcpage = mw.title.new(tname, sname or '')
end
local targetpage = srcpage.redirectTarget
if targetpage then return targetpage.prefixedText .. '//' .. targetpage.fragment end
return 'Nope'
end
return iface

