Difference between revisions of "Module:Is infobox in lead/sandbox"
Jump to navigation
Jump to search
blackwiki>Trialpears (Also ignore embedded infoboxes) |
blackwiki>Trialpears (comments) |
||
| Line 11: | Line 11: | ||
local lead = string.sub(content, 1, offset-1) | local lead = string.sub(content, 1, offset-1) | ||
if (string.find(lead, searchString)) then | if (string.find(lead, searchString)) then | ||
| − | lead = string.gsub( lead, "{{%s-[Ii]nfobox%s-mapframe", "") | + | lead = string.gsub( lead, "{{%s-[Ii]nfobox%s-mapframe", "") --don't check for infobox mapframe |
| − | lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-embed%s-=%s-yes", "") | + | lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-embed%s-=%s-yes", "") --don't check for embeded infoboxes |
| − | lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-child%s-=%s-yes", "") | + | lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-child%s-=%s-yes", "") --don't check for child infoboxes |
local iter = string.gmatch(lead, "{{%s-[Ii]nfobox") | local iter = string.gmatch(lead, "{{%s-[Ii]nfobox") | ||
iter() | iter() | ||
Revision as of 07:41, 3 October 2019
Documentation for this module may be created at Module:Is infobox in lead/sandbox/doc
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
local lead = string.sub(content, 1, offset-1)
if (string.find(lead, searchString)) then
lead = string.gsub( lead, "{{%s-[Ii]nfobox%s-mapframe", "") --don't check for infobox mapframe
lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-embed%s-=%s-yes", "") --don't check for embeded infoboxes
lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-child%s-=%s-yes", "") --don't check for child infoboxes
local iter = string.gmatch(lead, "{{%s-[Ii]nfobox")
iter()
if not iter() then --if able to find two infoboxes in the lead, then don't return true
local iter2 = string.gmatch(content, searchString)
iter2()
if not iter2() then --if able to find two of the specific infobox in the article, then don't return true
return true
end
end
end
end
end
return p