Jump to content

Module:Is article: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
better disambiguation handling
Tag: Reverted
Undid recent revision by Gonnym -> This edit seems to have lead to template recursion issues. This has affected Category:Pages using infobox PH collegiate finals with unknown parameters and the template Unknown parameters category. WIll leave you to debug this
Line 1: Line 1:
local p = {}
local p = {}

local disambiguationTemplates = {
"[Dd]isambiguation",
"[Dd]isambig",
"[Dd]isamb",
"[Dd]ab",
"[Ss]urname"
}


function p.main(frame)
function p.main(frame)
Line 7: Line 15:
page = mw.title.new(title, 0)
page = mw.title.new(title, 0)
if not page then
if (not page) then
return "badtitle"
return "badtitle"
end
end


if not page.exists then
if (not page.exists) then
return "empty"
return "empty"
end
end


if page.isRedirect then
if (page.isRedirect) then
return "redirect"
return "redirect"
end
end


local content = page:getContent()
local content = page:getContent()
if content then
if (content) then
for i, name in ipairs(disambiguationTemplates) do
content = string.gsub(content, "noinclude", "<!-- noinclude -->")
if (content:match('{{%s?' .. name .. '%s?}}')) then
content = frame:preprocess(content)
return "dab"
if content:match('dmbox') then
end
return "dab"
end
end
end
end

Revision as of 21:08, 10 July 2022

local p = {}

local disambiguationTemplates = {
	"[Dd]isambiguation",
	"[Dd]isambig",
	"[Dd]isamb",
	"[Dd]ab",
	"[Ss]urname"
	}

function p.main(frame)
	local getArgs = require('Module:Arguments').getArgs
	local args = getArgs(frame)
	title = args[1]
	page = mw.title.new(title, 0)
	
	if (not page) then
		return "badtitle"
	end

	if (not page.exists) then
		return "empty"
	end

	if (page.isRedirect) then
		return "redirect"
	end

	local content = page:getContent()
	if (content) then
		for i, name in ipairs(disambiguationTemplates) do
			if (content:match('{{%s?' .. name .. '%s?}}')) then
				return "dab"
			end
		end
	end

	return "article"
end

return p