Модуль:Переключатель проекта: различия между версиями
Pok (обсуждение | вклад) Новая страница: «local p = {} local DEFAULT_VALUE = 'Goob, Corvax' local SPECIAL_SKIP_VALUE = 'Corvax' local function trim(s) return mw.text.trim(s or '') end local function splitProjects(text) local out = {} for part in mw.text.gsplit(text or '', ',', true) do part = trim(part) if part ~= '' then table.insert(out, part) end end return out end local function isSkipValue(value) return mw.ustring.lower(trim(value)) == mw.ustring.lower(SPECIAL_SKIP_VALUE) end...» |
Pok (обсуждение | вклад) Нет описания правки |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
local getArgs = require('Module:Arguments').getArgs | |||
local DEFAULT_VALUE = 'Goob | local DEFAULT_VALUE = 'Corvax, Goob' | ||
local function trim(s) | local function trim(s) | ||
| Строка 17: | Строка 17: | ||
end | end | ||
return out | return out | ||
end | end | ||
function p.main(frame) | function p.main(frame) | ||
local | local args = getArgs(frame, { removeBlanks = false }) | ||
local raw = args[1] or DEFAULT_VALUE | |||
local projects = splitProjects(raw) | local projects = splitProjects(raw) | ||
| Строка 36: | Строка 29: | ||
local first = projects[1] | local first = projects[1] | ||
local result = '' | |||
result = result .. '{{#vardefine:JsonPath|' .. first .. '}}' | |||
result = result .. '<div style="display:none;" class="js-project-selection-generator">' | result = result .. '<div style="display:none;" class="js-project-selection-generator">' | ||
.. mw.text.encode(table.concat(projects, ', ')) | .. mw.text.encode(table.concat(projects, ', ')) | ||
.. '</div>' | .. '</div>' | ||
return result | return frame:preprocess(result) | ||
end | end | ||
return p | return p | ||