Ugrás a tartalomhoz

Modul:Infobox

Innen: MKOE wiki
A lap korábbi változatát látod, amilyen Dr. Gyúró Zoltán (vitalap | szerkesztései) 2026. május 8., 15:28-kor történt szerkesztése után volt.

A modult a Modul:Infobox/doc lapon tudod dokumentálni

-- ==========================================================
-- Modul:Infobox.lua
-- ==========================================================

local p = {} -- EZ HIÁNYZOTT: Létrehozzuk a csomag tábláját

function p.buildInfobox(frame)
    -- Ha nincs frame (pl. parancssorból futtatva rosszul), ne szálljon el
    local args = (frame.getParent and frame:getParent().args) or frame.args

    -- Változónevek ékezet nélkül (biztonságosabb offline futtatáshoz)
    -- De a kulcsok (pl. args['név']) maradhatnak ékezetesek, mert azok stringek
    local name          = (args['név']             ~= '' and args['név']) or "Nincs név"
    local image         = (args['kép']             ~= '' and args['kép']) or nil
    local date          = (args['dátum']           ~= '' and args['dátum']) or "Nincs dátum"
    local nationality   = (args['állampolgárság']  ~= '' and args['állampolgárság']) or "ismeretlen"
    local profession    = (args['foglalkozás']     ~= '' and args['foglalkozás']) or "ismeretlen"
    local abbreviation  = (args['rövidítés']       ~= '' and args['rövidítés']) or ""

    local output = ""

    -- TÁBLÁZAT GENERÁLÁSA
    output = output .. '{| class="infobox biota ember"\n'
    output = output .. '|-\n ! colspan="2" | ' .. name .. '\n'
    output = output .. '|-\n ! colspan="2" | ' .. date .. '\n'

    if image then
        output = output .. '|-\n ! colspan="2"|[[Fájl:' .. image .. '|340px]]\n'
    end

    output = output .. '|-\n | class="right" | állampolgárság || class="left" | ' .. nationality .. '\n'
    output = output .. '|-\n | class="right" | foglalkozás || class="left" | ' .. profession .. '\n'
    output = output .. '|-\n | class="right" | rövidítés || class="left" | ' .. abbreviation .. '\n'
    output = output .. '|}\n'

    return output
end

-- ==========================================================
-- OFFLINE TESZTELŐ SZAKASZ
-- ==========================================================

if arg then
    -- MW szimuláció
    mw = { uri = { encode = function(s) return s:gsub(" ", "%%20") end } }

    local mock_frame = {
        getParent = function()
            return {
                args = {
                    ['név'] = "Karl Moritz Schumann",
                    ['kép'] = "Karl Moritz Schumann.jpg",
                    ['dátum'] = "1851 - 1904",
                    ['állampolgárság'] = "német",
                    ['foglalkozás'] = "botanikus",
                    ['rövidítés'] = "K.Schum."
                }
            }
        end
    }

    print("\n--- INFOBOX GENERÁLT WIKITEXT ---")
    local success, result = pcall(p.buildInfobox, mock_frame)
    if success then
        print(result)
    else
        print("HIBA: " .. result)
    end
end

return p -- EZ IS FONTOS: Visszaadjuk a táblát a MediaWiki számára