Modul:Smiles

Izvor: Hrvatska internetska enciklopedija
Inačica 787334 od 27. lipanj 2026. u 13:32 koju je unio WikiSysop (razgovor | doprinosi)
Prijeđi na navigaciju Prijeđi na pretraživanje
Dokumentacija modula


local p = {}

function p.render(frame)
    -- Dohvaćanje argumenata iz predloška
    local args = frame:getParent().args
    local smiles = args[1] or args.smiles or ""
    local size = args.size or "260"
    local theme = args.theme or "light"

    -- Čišćenje SMILES stringa od razmaka i novih redova
    smiles = string.gsub(smiles, "%s+", "")

    -- Ako nema SMILES-a, nemoj vraćati ništa ili vrati grešku
    if smiles == "" then
        return '<span class="error">SMILES parametar fali!</span>'
    end

    -- Prisilno učitavanje ResourceLoader modula na stranici
    frame:callParserFunction('#tag', { 'script', '', module = 'ext.smiles' })

    -- Kreiramo strogi, čisti HTML string. 
    -- Izbjegavamo mw.html jer ponekad u kombinaciji s HeaderTabs zna krivo zatvoriti tagove.
    local html = '<div class="mw-smiles" data-smiles="' .. mw.text.nowiki(smiles) .. '" data-size="' .. size .. '" data-theme="' .. theme .. '">'
    html = html .. '<noscript>[[Datoteka:Smiles-fallback.png|200px|link=]]</noscript>'
    html = html .. '</div>'

    -- Vraćamo HTML omotan u preprocesor kako bi MediaWiki znao da je to siguran HTML
    return frame:preprocess(html)
end

return p