Модуль:Поиск шаблона страницы

Материал из Space Station 14 Вики

Для документации этого модуля может быть создана страница Модуль:Поиск шаблона страницы/doc

local p = {}

function p.main(frame)
    local args = frame.args
    local searchText = args[1] or ""

    searchText = searchText:match("^%s*(.-)%s*$")

    searchText = searchText:gsub("<nowiki>(.-)</nowiki>", "%1")

    if searchText == "" then
        return "Нет"
    end

    local title = mw.title.getCurrentTitle()
    local content = title:getContent()
    if not content then
        return "Нет"
    end

    local cleanedContent = content:gsub("{{#invoke:Поиск строк страницы|main|[^}]+}}", "")

    local pattern = "%f[%wА-Яа-яёЁ]" .. searchText .. "%f[^%wА-Яа-яёЁ]"
    
    if not cleanedContent:match(pattern) then
        return "Нет"
    end

    return "Да"
end

return p