Dantes (обсуждение | вклад) м (Dantes переименовал страницу Модуль:AlchemyRecipeAligned в Модуль:AlchemyRecipe без оставления перенаправления) |
Dantes (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
local p = {} | local p = {} | ||
local function split(str, sep) | |||
local result = {} | |||
for part in mw.text.gsplit(str, sep) do | |||
table.insert(result, mw.text.trim(part)) | |||
local function | |||
local | |||
for | |||
table.insert( | |||
end | end | ||
return | return result | ||
end | end | ||
function p.card(frame) | |||
local args = frame:getParent().args or {} | |||
local | local name = args['Название'] or '' | ||
local ingredients_raw = args['Ингредиенты'] or '' | |||
local result = args['Результат'] or '' | |||
local effects_raw = args['Эффекты'] or '' | |||
local effects_desc = args['ОписаниеЭффектов'] or '' | |||
local border_color = args['ЦветРамки'] or '#338833' | |||
local bg_color = args['ЦветФона'] or '#1a2a1a' | |||
local ingredients = split(ingredients_raw, ';') | |||
local | local effects = split(effects_raw, ';') | ||
local | local card = mw.html.create('div') | ||
:addClass('alchemy-card') | |||
:css('border-color', border_color) | |||
:css('background-color', bg_color) | |||
card:tag('h3'):wikitext(name) | |||
local | local ingr_div = card:tag('div'):addClass('alchemy-ingredients') | ||
for _, ingr in ipairs(ingredients) do | |||
ingr_div:tag('div'):wikitext(ingr) | |||
end | |||
: | |||
card:tag('div'):addClass('alchemy-mix'):wikitext('Смешайте') | |||
card:tag('div'):addClass('alchemy-result'):wikitext(result) | |||
local eff_div = card:tag('div'):addClass('alchemy-effects') | |||
local | for _, eff in ipairs(effects) do | ||
eff_div:tag('div'):addClass('alchemy-effect-line'):wikitext(eff) | |||
end | end | ||
if | if effects_desc and effects_desc ~= '' then | ||
eff_div:tag('div'):addClass('alchemy-effect-desc'):wikitext(effects_desc) | |||
end | end | ||
return tostring(card) | |||
return tostring( | |||
end | end | ||
return p | return p | ||
Версия от 18:39, 16 мая 2025
Для документации этого модуля может быть создана страница Модуль:AlchemyRecipe/doc
local p = {}
local function split(str, sep)
local result = {}
for part in mw.text.gsplit(str, sep) do
table.insert(result, mw.text.trim(part))
end
return result
end
function p.card(frame)
local args = frame:getParent().args or {}
local name = args['Название'] or ''
local ingredients_raw = args['Ингредиенты'] or ''
local result = args['Результат'] or ''
local effects_raw = args['Эффекты'] or ''
local effects_desc = args['ОписаниеЭффектов'] or ''
local border_color = args['ЦветРамки'] or '#338833'
local bg_color = args['ЦветФона'] or '#1a2a1a'
local ingredients = split(ingredients_raw, ';')
local effects = split(effects_raw, ';')
local card = mw.html.create('div')
:addClass('alchemy-card')
:css('border-color', border_color)
:css('background-color', bg_color)
card:tag('h3'):wikitext(name)
local ingr_div = card:tag('div'):addClass('alchemy-ingredients')
for _, ingr in ipairs(ingredients) do
ingr_div:tag('div'):wikitext(ingr)
end
card:tag('div'):addClass('alchemy-mix'):wikitext('Смешайте')
card:tag('div'):addClass('alchemy-result'):wikitext(result)
local eff_div = card:tag('div'):addClass('alchemy-effects')
for _, eff in ipairs(effects) do
eff_div:tag('div'):addClass('alchemy-effect-line'):wikitext(eff)
end
if effects_desc and effects_desc ~= '' then
eff_div:tag('div'):addClass('alchemy-effect-desc'):wikitext(effects_desc)
end
return tostring(card)
end
return p