Modul:Smiles: razlika između inačica

Izvor: Hrvatska internetska enciklopedija
Prijeđi na navigaciju Prijeđi na pretraživanje
mNema sažetka uređivanja
mNema sažetka uređivanja
Redak 2: Redak 2:


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


     -- Ovo forsira MediaWiki da učita tvoj modul na ovoj stranici!
     -- Č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' })
     frame:callParserFunction('#tag', { 'script', '', module = 'ext.smiles' })


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


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


return p
return p

Inačica od 27. lipanj 2026. u 13:32

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