Modül:RolBox: Revizyonlar arasındaki fark

FM Wiki sitesinden
Değişiklik özeti yok
Değişiklik özeti yok
1. satır: 1. satır:
local p = {}
local p = {}


-- "A, B, C" → {"A","B","C"}
local function splitList(str)
local function splitList(str)
     local t = {}
     local t = {}
13. satır: 12. satır:
     local args = frame:getParent().args
     local args = frame:getParent().args


     local isim     = args["isim"] or ""
     local isim     = args["isim"] or ""
     local gorev   = args["gorev"] or ""
     local gorev     = args["gorev"] or ""
     local kritik   = args["kritik"] or ""
    local aciklama  = args["aciklama"] or ""
     local ikinci   = args["ikinci"] or ""
     local kritik   = args["kritik"] or ""
     local simgeler = args["simgeler"] or ""
     local ikinci   = args["ikinci"] or ""
     local simgeler = args["simgeler"] or ""


    -- listeleri parse
     local kritikList = kritik ~= "" and splitList(kritik) or {}
     local kritikList = kritik ~= "" and splitList(kritik) or {}
     local ikinciList = ikinci ~= "" and splitList(ikinci) or {}
     local ikinciList = ikinci ~= "" and splitList(ikinci) or {}
     local simgeList  = simgeler ~= "" and splitList(simgeler) or {}
     local simgeList  = simgeler ~= "" and splitList(simgeler) or {}


    -- kritik badge
     local kritik_html = ""
     local kritik_html = ""
     for _,v in ipairs(kritikList) do
     for _,v in ipairs(kritikList) do
30. satır: 28. satır:
     end
     end


    -- ikinci badge
     local ikinci_html = ""
     local ikinci_html = ""
     for _,v in ipairs(ikinciList) do
     for _,v in ipairs(ikinciList) do
36. satır: 33. satır:
     end
     end


    -- simgeler
     local simge_html = ""
     local simge_html = ""
     for _,v in ipairs(simgeList) do
     for _,v in ipairs(simgeList) do
50. satır: 46. satır:
         </div>
         </div>
         ]], ikinci_html)
         ]], ikinci_html)
    end
    local aciklama_html = ""
    if aciklama ~= "" then
        aciklama_html = string.format([[
            <div class="fm-role-desc">%s</div>
        ]], aciklama)
     end
     end


58. satır: 61. satır:
         <div class="fm-role-tag">%s</div>
         <div class="fm-role-tag">%s</div>
     </div>
     </div>
    %s


     <div class="fm-role-section">
     <div class="fm-role-section">
75. satır: 80. satır:
         isim,
         isim,
         gorev,
         gorev,
        aciklama_html,
         kritik_html,
         kritik_html,
         ikinci_block,
         ikinci_block,

08.00, 4 Aralık 2025 tarihindeki hâli

Bu modül için bir Modül:RolBox/belge belgelendirmesi oluşturabilirsiniz

local p = {}

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 aciklama  = args["aciklama"] or ""
    local kritik    = args["kritik"] or ""
    local ikinci    = args["ikinci"] or ""
    local simgeler  = args["simgeler"] or ""

    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 ikinci_block = ""
    if ikinci ~= "" then
        ikinci_block = string.format([[
        <div class="fm-role-block">
            <div class="fm-role-title">İkincil Alanlar</div>
            <div class="fm-badge-list">%s</div>
        </div>
        ]], ikinci_html)
    end

    local aciklama_html = ""
    if aciklama ~= "" then
        aciklama_html = string.format([[
            <div class="fm-role-desc">%s</div>
        ]], aciklama)
    end

    return 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>

    %s

    <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,
        aciklama_html,
        kritik_html,
        ikinci_block,
        simge_html
    )
end

return p