Модуль:CategoryFormatter: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 5: | Строка 5: | ||
local results = {} | local results = {} | ||
-- Разбивка выходной строки по символу ' | -- Разбивка выходной строки по символу ',' | ||
for part in mw.text.gsplit(input, " | for part in mw.text.gsplit(input, ",", true) do | ||
local name = mw.text.trim(part) | local name = mw.text.trim(part) | ||
if name ~= "" then | if name ~= "" then | ||
| Строка 13: | Строка 13: | ||
-- Если страница с таким названием существует, выводит её в виде ссылки | -- Если страница с таким названием существует, выводит её в виде ссылки | ||
if title and title.exists then | if title and title.exists then | ||
displayText = "[[" .. name .. "]]" | displayText = "[[{{мч|" .. name .. "}}|" .. name .. "]]" | ||
end | end | ||
-- Формирования строки: выводит обработанный текст и добавляет категорию с таким именем | -- Формирования строки: выводит обработанный текст и добавляет категорию с таким именем | ||
| Строка 20: | Строка 20: | ||
end | end | ||
return frame:preprocess(table.concat(results, " | return frame:preprocess(table.concat(results, " ")) | ||
end | end | ||
return p | return p | ||
Текущая версия от 21:06, 13 апреля 2025
Для документации этого модуля может быть создана страница Модуль:CategoryFormatter/doc
local p = {}
function p.main(frame)
local input = frame.args[1] or ""
local results = {}
-- Разбивка выходной строки по символу ','
for part in mw.text.gsplit(input, ",", true) do
local name = mw.text.trim(part)
if name ~= "" then
local title = mw.title.new(name)
local displayText = name
-- Если страница с таким названием существует, выводит её в виде ссылки
if title and title.exists then
displayText = "[[{{мч|" .. name .. "}}|" .. name .. "]]"
end
-- Формирования строки: выводит обработанный текст и добавляет категорию с таким именем
table.insert(results, "<code>" .. displayText .. "</code>" .. "\n[[Category:{{мч|" .. name .. "}}]]")
end
end
return frame:preprocess(table.concat(results, " "))
end
return p