Module:Is article: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
No edit summary |
||
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 16: | Line 24: | ||
local content = page:getContent() |
local content = page:getContent() |
||
if content |
if (content) then |
||
for i, name in ipairs(disambiguationTemplates) do |
|||
and content:match('{{%s*[Dd]isambig%a*%s*}}') |
|||
if (content:match('{{%s*' .. name .. '.*}}')) then |
|||
⚫ | |||
or content:match('{{%s*[Ss]urname%s*}}') |
|||
end |
|||
then |
|||
end |
|||
⚫ | |||
end |
end |
||
Revision as of 08:08, 3 July 2020
![]() | This module depends on the following other modules: |
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
{{#invoke:Is article|main|page_name}}
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.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 .. '.*}}')) then
return "dab"
end
end
end
return "article"
end
return p