Template:Lua
Module:Is article is used to determine if a given page is an article, a redirect, a disambiguation page, does not exist or a bad title.
Usage
Return values
Results and return values
| Result | Return value | 
|---|
| Article | article | 
|---|
| Redirect | redirect | 
|---|
| Disambiguation page | dab | 
|---|
| Page does not exist | empty | 
|---|
| bad title | badtitle | 
|---|
Parameter list
| Parameter | Explanation | 
|---|
| 1 | Positional or numbered parameter; The page name title. | 
|---|
 
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