Module:Is infobox in lead

From blackwiki
Revision as of 09:37, 25 February 2019 by blackwiki>Galobtter (Protected "Module:Is infobox in lead": High-risk Lua module ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)))
Jump to navigation Jump to search

Module:Is infobox in lead checks if a given infobox is in the lead, is also the only infobox in the lead, and that there aren't two of that same infobox in the article. If that is the case, it returns true, and if not returns nothing.

Usage

{{#invoke:Is infobox in lead|main|[Ii]nfobox [Ff]oo [Bb]ar}}


local p = {}

function p.main (frame)
	return p._main (frame.args[1])
end

function p._main (searchString)
	local content = mw.title.getCurrentTitle():getContent()
	local offset = string.find(content, "==", 1 , true)
	if offset then
		lead = string.sub(content, 1, offset-1)
		if (string.find(lead, searchString)) then
			iter = string.gmatch(lead, "[Ii]nfobox")
			iter()
			if not iter() then --if able to find two infoboxes, then don't return true
				return "true"
			end
		end
	end
end

return p