Dantes (обсуждение | вклад) Нет описания правки Метка: отменено |
Dantes (обсуждение | вклад) Нет описания правки Метка: отменено |
||
| Строка 1: | Строка 1: | ||
local data = require("Module:ChemCard/data") | |||
local p = {} | local p = {} | ||
function p.card(frame) | function p.card(frame) | ||
local | local key = frame.args[1] | ||
local chem = data[ | local chem = data[key] | ||
if not chem then return " | if not chem then return "" end | ||
local out = '<div class="chem-card" style="background:'..chem.bg..'; border:2px solid '..chem.border..'; padding: 8px; border-radius: 8px; margin: 4px;">' | |||
local out = | out = out .. '<div class="chem-card-header" style="color:'..chem.color..'; font-weight: 700; font-size: 1.1em; margin-bottom: 4px;">'..chem.name..'</div>' | ||
if chem.recipes and #chem.recipes>0 then | |||
out = out .. '<div class="chem-card-recipes" style="margin-bottom: 4px;"><b>Рецепты:</b><br>' | |||
if chem.recipes and #chem.recipes > 0 then | |||
for _, r in ipairs(chem.recipes) do | for _, r in ipairs(chem.recipes) do | ||
out = out .. '<b>Ингредиенты:</b> ' | |||
for i, ing in ipairs(r.reactants) do | |||
out = out .. ing.name.." ["..ing.amount.."]" | |||
if i<#r.reactants then out = out .. ", " end | |||
end | |||
out = out .. '<br><b>Продукты:</b> ' | |||
for i, p in ipairs(r.products) do | |||
out = out .. p.name.." ["..p.amount.."]" | |||
if i<#r.products then out = out .. ", " end | |||
end | |||
out = out .. '<br><hr style="border:1px solid #444;">' | |||
end | end | ||
out | out = out .. '</div>' | ||
end | end | ||
if chem.effects and #chem.effects > 0 then | if chem.effects and #chem.effects>0 then | ||
out = out .. '<div class="chem-card-effects" style="margin-bottom:4px;"><b>Эффекты:</b><br>' | |||
for _, e in ipairs(chem.effects) do | for _, e in ipairs(chem.effects) do | ||
out = out .. e.description.."<br>" | |||
end | end | ||
out | out = out .. '</div>' | ||
end | end | ||
return | out = out .. '<div class="chem-card-desc" style="font-size:0.9em;">'..chem.desc..'</div>' | ||
out = out .. '</div>' | |||
return out | |||
end | end | ||
return p | return p | ||
Версия от 08:03, 11 ноября 2025
Для документации этого модуля может быть создана страница Модуль:ChemCard/doc
local data = require("Module:ChemCard/data")
local p = {}
function p.card(frame)
local key = frame.args[1]
local chem = data[key]
if not chem then return "" end
local out = '<div class="chem-card" style="background:'..chem.bg..'; border:2px solid '..chem.border..'; padding: 8px; border-radius: 8px; margin: 4px;">'
out = out .. '<div class="chem-card-header" style="color:'..chem.color..'; font-weight: 700; font-size: 1.1em; margin-bottom: 4px;">'..chem.name..'</div>'
if chem.recipes and #chem.recipes>0 then
out = out .. '<div class="chem-card-recipes" style="margin-bottom: 4px;"><b>Рецепты:</b><br>'
for _, r in ipairs(chem.recipes) do
out = out .. '<b>Ингредиенты:</b> '
for i, ing in ipairs(r.reactants) do
out = out .. ing.name.." ["..ing.amount.."]"
if i<#r.reactants then out = out .. ", " end
end
out = out .. '<br><b>Продукты:</b> '
for i, p in ipairs(r.products) do
out = out .. p.name.." ["..p.amount.."]"
if i<#r.products then out = out .. ", " end
end
out = out .. '<br><hr style="border:1px solid #444;">'
end
out = out .. '</div>'
end
if chem.effects and #chem.effects>0 then
out = out .. '<div class="chem-card-effects" style="margin-bottom:4px;"><b>Эффекты:</b><br>'
for _, e in ipairs(chem.effects) do
out = out .. e.description.."<br>"
end
out = out .. '</div>'
end
out = out .. '<div class="chem-card-desc" style="font-size:0.9em;">'..chem.desc..'</div>'
out = out .. '</div>'
return out
end
return p