Модуль:Поиск шаблона страницы: различия между версиями

Материал из Space Station 14 Вики
мНет описания правки
мНет описания правки
Строка 4: Строка 4:
     local args = frame.args
     local args = frame.args
     local searchText = args[1] or ""
     local searchText = args[1] or ""
   
 
     searchText = searchText:gsub("<nowiki>", ""):gsub("</nowiki>", "")
     searchText = searchText:gsub("^<nowiki>(.-)</nowiki>$", "%1")
    searchText = mw.text.trim(searchText)
 
   
     local title = mw.title.getCurrentTitle()
     local title = mw.title.getCurrentTitle()
     local content = title:getContent()
     local content = title:getContent()
Строка 16: Строка 15:


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


     if not cleanedContent:match(searchText) then
     if not cleanedContent:match(searchText) then

Версия от 14:33, 6 марта 2025

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

local p = {}

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

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

    local title = mw.title.getCurrentTitle()
    local content = title:getContent()

    if not content then
        return "Нет"
    end

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

    if not cleanedContent:match(searchText) then
        return "Нет"
    end

    return "Да"
end

return p