Difference between revisions of "Module:For related page/sandbox"
Jump to navigation
Jump to search
blackwiki>Pppery (Create sandbox version of Module:For outline) |
blackwiki>Pppery (Implementing merge) |
||
| Line 3: | Line 3: | ||
local p = {} | local p = {} | ||
| − | function p. | + | function p.forFoo (frame) |
| − | local args = mArguments.getArgs(frame) | + | local args = mArguments.getArgs(frame, |
| + | {parentOnly = true} | ||
| + | ) | ||
local target | local target | ||
if args[1] then | if args[1] then | ||
| Line 14: | Line 16: | ||
title | title | ||
} | } | ||
| − | local | + | local forms = frame.args |
| − | + | for k, v in ipairs(forms) do | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | for k, v in | ||
for i, j in pairs(titles) do | for i, j in pairs(titles) do | ||
local lookup = string.format(v, j) | local lookup = string.format(v, j) | ||
| Line 33: | Line 27: | ||
if target then break end | if target then break end | ||
end | end | ||
| − | target = target or string.format( | + | target = target or string.format(forms[1], title) |
end | end | ||
| − | return mFor._For({ | + | return mFor._For({frame.args.what, target}) |
end | end | ||
return p | return p | ||
Revision as of 15:58, 5 July 2018
Documentation for this module may be created at Module:For related page/sandbox/doc
local mFor = require('Module:For')
local mArguments = require('Module:Arguments')
local p = {}
function p.forFoo (frame)
local args = mArguments.getArgs(frame,
{parentOnly = true}
)
local target
if args[1] then
target = args[1]
else
local title = mw.title.getCurrentTitle().text
local titles = {
mw.ustring.lower(mw.ustring.sub(title, 1, 1)) .. mw.ustring.sub(title, 2),
title
}
local forms = frame.args
for k, v in ipairs(forms) do
for i, j in pairs(titles) do
local lookup = string.format(v, j)
if mw.title.new(lookup, 0).exists then
target = lookup
break
end
end
if target then break end
end
target = target or string.format(forms[1], title)
end
return mFor._For({frame.args.what, target})
end
return p