Modul:Infocasetă: Diferență între versiuni
Aspect
Fără descriere a modificării |
mFără descriere a modificării |
||
| (Nu s-au afișat 11 versiuni intermediare efectuate de același utilizator) | |||
| Linia 3: | Linia 3: | ||
function p.infobox(frame) | function p.infobox(frame) | ||
local args = frame.args | local args = frame.args | ||
local title = args.title or mw.title.getCurrentTitle().text | |||
local | local image = args.image or "" | ||
local caption = args.caption or "" | |||
-- | local root = mw.html.create("table") | ||
if | :addClass("infocaseta") | ||
-- | :css("width", "320px") | ||
local | :css("float", "right") | ||
:css("margin", "0 0 1em 1em") | |||
:css("border", "1px solid #5b8a3c") | |||
:css("background", "#f8fff5") | |||
:css("border-collapse", "collapse") | |||
:css("font-size", "88%") | |||
root:tag("tr") | |||
:tag("th") | |||
:attr("colspan", "2") | |||
:css("background", "#6aa84f") | |||
:css("color", "white") | |||
:css("font-size", "120%") | |||
:css("padding", "8px") | |||
:css("text-align", "center") | |||
:wikitext(title) | |||
if image ~= "" then | |||
local tr = root:tag("tr") | |||
local td = tr:tag("td") | |||
:attr("colspan", "2") | |||
:css("text-align", "center") | |||
:css("padding", "8px") | |||
td:wikitext(image) | |||
if caption ~= "" then | |||
td:tag("div") | |||
:css("font-size", "90%") | |||
:css("color", "#666") | |||
:css("margin-top", "4px") | |||
:css("text-align", "center") | |||
:wikitext(caption) | |||
end | |||
end | |||
local function addRow(label, value) | |||
if value and value ~= "" and value ~= "nil" then | |||
local tr = root:tag("tr") | |||
tr:tag("th") | |||
:css("text-align", "left") | |||
:css("padding", "5px") | |||
:css("width", "40%") | |||
:css("font-weight", "bold") | |||
:wikitext(label) | |||
tr:tag("td") | |||
:css("padding", "5px") | |||
:wikitext(value) | |||
end | |||
end | end | ||
if args.rows and args.rows ~= "" then | |||
if args | for linie in string.gmatch(args.rows, "[^\r\n]+") do | ||
local eticheta, valoare = string.match(linie, "^%s*(.-)%s*//%s*(.-)%s*$") | |||
if eticheta and valoare then | |||
addRow(eticheta, valoare) | |||
end | |||
end | |||
end | end | ||
return tostring( | return tostring(root) | ||
end | end | ||
return p | return p | ||
Versiunea curentă din 7 iunie 2026 16:43
Documentația acestui modul poate fi creată la Modul:Infocasetă/doc
local p = {}
function p.infobox(frame)
local args = frame.args
local title = args.title or mw.title.getCurrentTitle().text
local image = args.image or ""
local caption = args.caption or ""
local root = mw.html.create("table")
:addClass("infocaseta")
:css("width", "320px")
:css("float", "right")
:css("margin", "0 0 1em 1em")
:css("border", "1px solid #5b8a3c")
:css("background", "#f8fff5")
:css("border-collapse", "collapse")
:css("font-size", "88%")
root:tag("tr")
:tag("th")
:attr("colspan", "2")
:css("background", "#6aa84f")
:css("color", "white")
:css("font-size", "120%")
:css("padding", "8px")
:css("text-align", "center")
:wikitext(title)
if image ~= "" then
local tr = root:tag("tr")
local td = tr:tag("td")
:attr("colspan", "2")
:css("text-align", "center")
:css("padding", "8px")
td:wikitext(image)
if caption ~= "" then
td:tag("div")
:css("font-size", "90%")
:css("color", "#666")
:css("margin-top", "4px")
:css("text-align", "center")
:wikitext(caption)
end
end
local function addRow(label, value)
if value and value ~= "" and value ~= "nil" then
local tr = root:tag("tr")
tr:tag("th")
:css("text-align", "left")
:css("padding", "5px")
:css("width", "40%")
:css("font-weight", "bold")
:wikitext(label)
tr:tag("td")
:css("padding", "5px")
:wikitext(value)
end
end
if args.rows and args.rows ~= "" then
for linie in string.gmatch(args.rows, "[^\r\n]+") do
local eticheta, valoare = string.match(linie, "^%s*(.-)%s*//%s*(.-)%s*$")
if eticheta and valoare then
addRow(eticheta, valoare)
end
end
end
return tostring(root)
end
return p