Module:For glossary
From EverybodyWiki Bios & Wiki
Implements {{for glossary}}.
local mFor = require('Module:For')
local mArguments = require('Module:Arguments')
local p = {}
function p.forGlossary (frame)
local args = mArguments.getArgs(frame)
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 glossaryForms = {
'Glossary of %s',
'Glossary of %ss',
'Glossary of the %s',
'Glossary of %s terms',
'Glossary of %s-related terms',
'Glossary of %s terminology',
'List of %s terms',
'List of %s-related terms',
'List of terms related to the %s'
}
for k, v in pairs(glossaryForms) 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(glossaryForms[1], title)
end
return mFor._For({'a glossary of this subject', target})
end
return p
