Difference between revisions of "Module:About other people"
Jump to navigation
Jump to search
blackwiki>Nihiltres (A prototype…) |
blackwiki>Nihiltres (A link tweak and a string fix) |
||
| Line 10: | Line 10: | ||
return mHatnote.makeWikitextError( | return mHatnote.makeWikitextError( | ||
'no page subject specified', | 'no page subject specified', | ||
| − | 'Template:About-otherpeople | + | 'Template:About-otherpeople', |
args.category | args.category | ||
) | ) | ||
| Line 32: | Line 32: | ||
args[2] | args[2] | ||
) | ) | ||
| − | ) or 'people with the same name' | + | ) or 'other people with the same name' |
} | } | ||
return mAbout._about(returnArgs, options) | return mAbout._about(returnArgs, options) | ||
Revision as of 22:03, 16 July 2016
Implements {{about other people}}.
local mAbout = require('Module:About')
local mHatnote = require('Module:Hatnote')
local mArguments = require('Module:Arguments')
local p = {}
function p.aboutOtherPeople (frame)
local args = mArguments.getArgs(frame)
--if not args[1], a different template would be better!
if not args[1] then
return mHatnote.makeWikitextError(
'no page subject specified',
'Template:About-otherpeople',
args.category
)
end
--get pages from arguments if applicable, with attempted default to args[2]
local pages = {}
for k, v in pairs(args) do
if type(k) == 'number' and k > 2 then
if pages[1] then table.insert(pages, 'and') end
table.insert(pages, v)
end
end
if #pages == 0 then pages = {args[2] and mHatnote.disambiguate(args[2])} end
--translate args into args for _about(). [2] is nil to force otherText.
local returnArgs = {args[1], nil, unpack(pages)}
local options = {
otherText = (args[2] and
string.format(
'other people %s %s',
args.named or 'named',
args[2]
)
) or 'other people with the same name'
}
return mAbout._about(returnArgs, options)
end
return p