Модуль:CssVarExtractor: различия между версиями
Pok (обсуждение | вклад) Новая страница: «local p = {} local function extractParts(input) if not input or type(input) ~= 'string' then return nil, nil end local varPart, valuePart = mw.ustring.match( mw.ustring.trim(input), "^(var%([^,]+%))%s*,%s*([^)]+)%)$" ) return varPart, valuePart end local function getVarInternal(input) local varPart = extractParts(input) return varPart or input end local function getColorInternal(input) local _, value...» |
Pok (обсуждение | вклад) мНет описания правки |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 5: | Строка 5: | ||
return nil, nil | return nil, nil | ||
end | end | ||
input = mw.text.trim(input) | |||
local varName, fallback = mw.ustring.match(input, "^var%((.-)%s*,%s*([^)]+)%)$") | |||
if varName and fallback then | |||
) | return "var(" .. varName .. ")", fallback | ||
return | end | ||
return nil, nil | |||
end | end | ||
| Строка 23: | Строка 24: | ||
function p.getVar(frameOrString) | function p.getVar(frameOrString) | ||
local input = (type(frameOrString) == 'table' and frameOrString.args[1]) or frameOrString or '' | |||
return getVarInternal(input) | |||
end | end | ||
function p.getColor(frameOrString) | function p.getColor(frameOrString) | ||
local input = (type(frameOrString) == 'table' and frameOrString.args[1]) or frameOrString or '' | |||
return frameOrString:preprocess('<nowiki>' .. getColorInternal(input) .. '</nowiki>') | |||
end | end | ||
return p | return p | ||