Modül:RolBox: Revizyonlar arasındaki fark
"local p = {} function p.render(frame) local args = frame:getParent().args local isim = args["isim"] or "" local rolID = args["rolID"] or "" local gorev = args["gorev"] or "" local kritik = args["kritik"] or "" local ikinci = args["ikinci"] or "" local simgeler = args["simgeler"] or "" -- kritik özellikleri yeşil local kritik_html = "" if kritik ~= "" then kritik_html = '<span st..." içeriğiyle yeni sayfa oluşturdu |
Değişiklik özeti yok |
||
| 1. satır: | 1. satır: | ||
local p = {} | local p = {} | ||
-- split: "A, B, C" → {"A","B","C"} | |||
local function splitList(str) | |||
local t = {} | |||
for item in string.gmatch(str, "([^,]+)") do | |||
table.insert(t, mw.text.trim(item)) | |||
end | |||
return t | |||
end | |||
function p.render(frame) | function p.render(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
-- kritik | local isim = args["isim"] or "" | ||
local gorev = args["gorev"] or "" | |||
local kritik = args["kritik"] or "" | |||
local ikinci = args["ikinci"] or "" | |||
local simgeler = args["simgeler"] or "" | |||
-- kritik ve ikinci: liste parse | |||
local kritikList = kritik ~= "" and splitList(kritik) or {} | |||
local ikinciList = ikinci ~= "" and splitList(ikinci) or {} | |||
local simgeList = simgeler ~= "" and splitList(simgeler) or {} | |||
local kritik_html = "" | local kritik_html = "" | ||
for _,v in ipairs(kritikList) do | |||
kritik_html = '<span | kritik_html = kritik_html .. '<span class="fm-badge fm-badge-critical">' .. v .. '</span>' | ||
end | end | ||
local ikinci_html = "" | local ikinci_html = "" | ||
for _,v in ipairs(ikinciList) do | |||
ikinci_html = ikinci_html .. '<span class="fm-badge fm-badge-secondary">' .. v .. '</span>' | |||
end | |||
local simge_html = "" | |||
for _,v in ipairs(simgeList) do | |||
simge_html = simge_html .. '<span class="fm-icon">' .. v .. '</span>' | |||
end | end | ||
<div class="fm-role-section"> | local html = string.format([[ | ||
<div class="fm-rolecard"> | |||
<div class="fm-role-top"> | |||
<div class="fm-role-name">%s</div> | |||
<div class="fm-role-tag">%s</div> | |||
</div> | |||
<div class="fm-role-section"> | |||
<div class="fm-role-block"> | |||
<div class="fm-role-title">Kritik Alanlar</div> | |||
<div class="fm-badge-list">%s</div> | |||
</div> | </div> | ||
%s | |||
</div> | |||
<div class="fm-role-icons">%s</div> | |||
</div> | |||
]], | |||
isim, | isim, | ||
gorev, | gorev, | ||
kritik_html, | kritik_html, | ||
(ikinci ~= "" and '<div class="fm-role- | (ikinci ~= "" and '<div class="fm-role-block"><div class="fm-role-title">İkincil Alanlar</div><div class="fm-badge-list">'..ikinci_html..'</div></div>' or ""), | ||
simge_html | |||
) | ) | ||
return html | |||
end | end | ||
return p | return p | ||
07.56, 4 Aralık 2025 tarihindeki hâli
Bu modül için bir Modül:RolBox/belge belgelendirmesi oluşturabilirsiniz
local p = {}
-- split: "A, B, C" → {"A","B","C"}
local function splitList(str)
local t = {}
for item in string.gmatch(str, "([^,]+)") do
table.insert(t, mw.text.trim(item))
end
return t
end
function p.render(frame)
local args = frame:getParent().args
local isim = args["isim"] or ""
local gorev = args["gorev"] or ""
local kritik = args["kritik"] or ""
local ikinci = args["ikinci"] or ""
local simgeler = args["simgeler"] or ""
-- kritik ve ikinci: liste parse
local kritikList = kritik ~= "" and splitList(kritik) or {}
local ikinciList = ikinci ~= "" and splitList(ikinci) or {}
local simgeList = simgeler ~= "" and splitList(simgeler) or {}
local kritik_html = ""
for _,v in ipairs(kritikList) do
kritik_html = kritik_html .. '<span class="fm-badge fm-badge-critical">' .. v .. '</span>'
end
local ikinci_html = ""
for _,v in ipairs(ikinciList) do
ikinci_html = ikinci_html .. '<span class="fm-badge fm-badge-secondary">' .. v .. '</span>'
end
local simge_html = ""
for _,v in ipairs(simgeList) do
simge_html = simge_html .. '<span class="fm-icon">' .. v .. '</span>'
end
local html = string.format([[
<div class="fm-rolecard">
<div class="fm-role-top">
<div class="fm-role-name">%s</div>
<div class="fm-role-tag">%s</div>
</div>
<div class="fm-role-section">
<div class="fm-role-block">
<div class="fm-role-title">Kritik Alanlar</div>
<div class="fm-badge-list">%s</div>
</div>
%s
</div>
<div class="fm-role-icons">%s</div>
</div>
]],
isim,
gorev,
kritik_html,
(ikinci ~= "" and '<div class="fm-role-block"><div class="fm-role-title">İkincil Alanlar</div><div class="fm-badge-list">'..ikinci_html..'</div></div>' or ""),
simge_html
)
return html
end
return p