Module:redlink category

local export = {}

local rmatch = mw.ustring.match

function export.cat(frame) local redlink_category = ""

local m_languages = require("Module:languages") local code = frame.args[1] -- language code local template = frame.args["template"]

local lang = m_languages.getByCode(frame.args[1]) local sc = lang:findBestScript(frame.args[2]) local is_linked, entry = pcall(require("Module:links").get_link_page, frame.args[2], lang, sc) -- entry name (parameter 2 in Template:m, Template:l)

local link_object = mw.title.new(entry) -- Prevent an expensive parser function error. Unfortunately, we can't check -- the expensive parser function count before running the preceding code -- in this function. local success, exists if link_object then success, exists = pcall(function return link_object.exists end) end

if success and not exists then local langname = lang:getCanonicalName redlink_category = "" if template and template ~= "-" then redlink_category = redlink_category .. ""		end end if is_linked then -- a blank terms (i.e. those intended to be unlinked) still seem to invoke this module, so we don't want to add them to the category return redlink_category else return "" end

end

return export