Перейти до вмісту

Модуль:Is article

Матеріал з Вікіпедії — вільної енциклопедії.
{{i}} Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]

Модуль:Is article використовується, щоб визначати чи передана сторінка є статтею, перенаправленням, сторінкою багатозначності, поганою назвою чи її не існує.

Використання

[ред. код]

Значення, що повертаються

[ред. код]
Результат та значення, що повертаються
Результат Значення, що повертаються
Стаття article
Перенаправлення redirect
Сторінка багатозначності dab
Сторінки не існує empty
Погана назва badtitle

Список параметрів

[ред. код]
Параметр Пояснення
1 Позиційний або номерний параметр; назва сторінки.
local p = {}

local disambiguationTemplates = {
	"[Dd]isambiguation",
	"[Dd]isambig",
	"[Dd]isamb",
	"[Dd]ab",
	"[Ss]urname",
	"[Tt]emplate disambiguation",
	"[Бб]агатозначність",
	"[Нн]евизначеність",
	"[Нн]еоднозначність",
}

function p.main(frame)
	local getArgs = require("Module:Arguments").getArgs
	local args = getArgs(frame)
	local page = mw.title.new(args[1], 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
		content = string.gsub(content, "noinclude", "<!-- noinclude -->")
		for _, name in ipairs(disambiguationTemplates) do
			if mw.ustring.match(content, "{{%s?" .. name .. "%s?}}") and not mw.ustring.match(content, "{{{%s?" .. name .. "%s?}}}") then -- to disable false positives in parameter names {{{disamb}}}
				return "dab"
			end
		end
	end

	return "article"
end

return p