Module:Cat more if exists
Jump to navigation
Jump to search
Usage
Used by Template:Cat more if exists
{{#invoke:Cat more if exists| main}}
Note
This is a crude fork of Module:See also if exists. It may be possible to merge the two modules.
--[[ v1.0
]]
local p = {}
local yesno = require("Module:yesno")
function p.main(frame)
local rawpages = {}
local nvalid = 0
local namespace = frame.args.ns
for i, v in ipairs(frame:getParent().args) do
if (v ~= nil) then
local thisArg = mw.text.trim(v)
if (thisArg ~= "") then
local title = mw.title.new(thisArg, namespace)
if title ~= nil and title.exists then
table.insert(rawpages, title.fullText)
nvalid = nvalid + 1
end
end
end
end
if (nvalid == 0) then
if yesno(frame.args.warning) then
if namespace == nil then
namespace = "page"
elseif namespace:sub(-1) == "y" then
namespace = namespace:sub(0, -2) .. "ie"
end
mw.addWarning(string.format("'''[[%s]] — no output, because none of the %ss currently exist.'''",
frame:getParent():getTitle(),namespace))
end
return ""
end
local mHatnote = require("Module:Hatnote")
local mHatList = require("Module:Hatnote list")
local options = {
extraclasses = "relarticle mainarticle"
}
local hatnoteText = string.format("For more information, see %s", mHatList.andList(rawpages, true))
return mHatnote._hatnote(hatnoteText, options)
end
return p