Модуль:AlchemyRecipe: различия между версиями

Материал из Space Stories Wiki
Нет описания правки
(Полностью удалено содержимое страницы)
Метки: очистка ручная отмена
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
local p = {}


function p.render(frame)
local args = frame:getParent().args
local title = args['название'] or 'Без названия'
local recipe = {}
local i = 1
while args['ингредиент' .. i] do
table.insert(recipe, args['ингредиент' .. i])
i = i + 1
end
local result = args['результат'] or 'Неизвестно'
local effects = {}
i = 1
while args['эффект' .. i] do
table.insert(effects, args['эффект' .. i])
i = i + 1
end
local description = args['описание'] or 'Нет описания.'
local out = {}
table.insert(out, '<div class="alchemy-recipe-card" style="border:1px solid #555;padding:1em;margin:1em 0;background:#1a1a1a;color:#eee;border-radius:12px;">')
table.insert(out, '<div style="font-size:1.5em;font-weight:bold;margin-bottom:0.5em;">' .. title .. '</div>')
-- Рецепт
table.insert(out, '<div style="margin-bottom:0.5em;"><b>Рецепт</b><ul>')
for _, r in ipairs(recipe) do
table.insert(out, '<li>' .. r .. '</li>')
end
table.insert(out, '<li><i>Смешайте</i></li>')
table.insert(out, '<li><b>' .. result .. '</b></li>')
table.insert(out, '</ul></div>')
-- Эффекты
if #effects > 0 then
table.insert(out, '<div style="margin-bottom:0.5em;"><b>Эффекты</b><ul>')
for _, e in ipairs(effects) do
table.insert(out, '<li>' .. e .. '</li>')
end
table.insert(out, '</ul></div>')
end
-- Описание
table.insert(out, '<div><b>Описание</b><br>' .. description .. '</div>')
table.insert(out, '</div>')
return table.concat(out, '\n')
end
return p

Текущая версия от 11:41, 22 июня 2025

Для документации этого модуля может быть создана страница Модуль:AlchemyRecipe/doc