Jump to content

Module:Other uses of/sandbox

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Andrybak (talk | contribs) at 11:30, 2 November 2020 (add debug). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local mOtheruses = require('Module:Other uses')
local p = {}
p.otherusesof = function (frame)
	function getArg (num)
		local x = frame:getParent().args[num]
		return x ~= '' and x or nil
	end
	local currentTitle = mw.title.getCurrentTitle().prefixedText
	local ofWhat = getArg(1) or currentTitle
	local page = getArg(2)
	local options = {
		title = ofWhat,
		otherText = string.format('uses of "%s"', ofWhat)
	}
	local skipCat = currentTitle.isTalkPage or currentTitle.namespace == 2
	local debugStr = tostring(currentTitle.isTalkPage) .. " ns:" .. tostring(currentTitle.namespace)
	local oddCat = skipCat and '' or "[[Category:Hatnote templates using unusual parameters]]"
	if (mw.ustring.lower(getArg(1) or "") == mw.ustring.lower(currentTitle)) or
		((not getArg(1)) and not getArg(2)) then
			options.otherText = options.otherText .. oddCat
	end
	arg = page and {page} or {}
	return mOtheruses._otheruses(arg, options) .. "<big>{{red|" .. debugStr ..  "}}</big>"
end
return p