Модуль:Testing: различия между версиями
Материал из Space Station 14 Вики
CatBG (обсуждение | вклад) Нет описания правки |
CatBG (обсуждение | вклад) Нет описания правки |
||
Строка 12: | Строка 12: | ||
return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует | return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует | ||
end | |||
function p.addSubdivision(frame) | |||
-- Получаем параметр 'subdivision' из шаблона | |||
local subdivision = frame.args['subdivision'] or '' | |||
-- Таблица с соответствиями подразделений и категорий | |||
local categories = { | |||
["Редакция"] = "Категория:Редакция", | |||
["Отдел B"] = "Категория:Отдел B", | |||
["Отдел C"] = "Категория:Отдел C" | |||
} | |||
-- Если подразделение есть в таблице, добавляем соответствующую категорию | |||
if categories[subdivision] then | |||
return '[[' .. categories[subdivision] .. ']]' | |||
end | |||
-- Если нет соответствующего подразделения, не добавляем категорию | |||
return '' | |||
end | end | ||
Версия от 14:24, 11 августа 2024
Для документации этого модуля может быть создана страница Модуль:Testing/doc
local p = {} function p.getServersInfo(frame) local servers = frame.args[1] local categories = servers if servers == "none" or servers == "None" or servers == "" then return end --Дублируется специально, на случай, если кто-то поставит или не поставит побелы servers = servers:gsub(', ', '}}\n:*{{abb|') servers = servers:gsub(',', '}}\n:*{{abb|') categories = categories:gsub(', ', '|short}}]] [[Категория:Редакторы {{abb|') categories = categories:gsub(',', '|short}}]] [[Категория:Редакторы {{abb|') return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует end function p.addSubdivision(frame) -- Получаем параметр 'subdivision' из шаблона local subdivision = frame.args['subdivision'] or '' -- Таблица с соответствиями подразделений и категорий local categories = { ["Редакция"] = "Категория:Редакция", ["Отдел B"] = "Категория:Отдел B", ["Отдел C"] = "Категория:Отдел C" } -- Если подразделение есть в таблице, добавляем соответствующую категорию if categories[subdivision] then return '[[' .. categories[subdivision] .. ']]' end -- Если нет соответствующего подразделения, не добавляем категорию return '' end function p.getRolesInfo(frame) local roles = frame.args[1] --Делим строку на составляющие. Разделитель: ", " t = {} for str in string.gmatch(roles, "([^, ]+)") do table.insert(t, str) end --Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых) roles = roles:gsub(', ', 'Cool meme here') --вторая проверка, на случай, если пробелы не ставились for str in string.gmatch(roles, "([^,]+)") do table.insert(t, str) end local categories = "" for i in pairs(t) do if t[i] == "Куратор вики" or t[i] == "куратор вики" then categories = categories.. "[[Категория:Кураторы разделов]]" end if t[i] == "Всевышнее Око" or t[i] == "всевышнее око" then categories = categories.. "[[Категория:Всевышнее Око]]" end if t[i] == "Манускрипт" or t[i] == "манускрипт" then categories = categories.. "[[Категория:Манускрипт]]" end if t[i] == "Шаблонайзер" or t[i] == "шаблонайзер" then categories = categories.. "[[Категория:Шаблонайзеры]]" end if t[i] == "Инструктор Редакции" or t[i] == "инструктор редакции" then categories = categories.. "[[Категория:Инструкторы Редакции]]" end end if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end if roles == "none" or roles == "None" then return "" else return frame:preprocess(categories) end end return p