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
Nema sažetka uređivanja
Redak 2: Redak 2:


function p.render(frame)
function p.render(frame)
     -- 1) prvo pokušaj iz frame.args (predložak je poslao argument)
     local args = frame.args
     local smiles = frame.args[1] or frame.args.smiles
     local par  = frame:getParent() and frame:getParent().args or {}


     -- 2) ako nije tu, pokušaj iz parent framea (kada se koristi predložak)
     -- automatsko prepoznavanje SMILES argumenta
     if (not smiles or smiles == '') and frame:getParent() then
     local smiles = args[1] or args.smiles or par[1] or par.smiles
        smiles = frame:getParent().args[1] or frame:getParent().args.smiles
    end


    -- 3) ako i dalje nema — prijavi grešku
     if not smiles or smiles == '' then
     if not smiles or smiles == '' then
         return '[SMILES nije naveden]'
         return '[SMILES nije naveden]'
     end
     end


     -- 4) generiraj HTML
     -- opcije
     return string.format(
    local size  = tonumber(args.size or par.size) or 260
         '<div class="mw-smiles" data-smiles="%s"></div>',
    local theme = (args.theme or par.theme or 'light'):lower()
         mw.text.encode(smiles)
    local svg  = (args.svg or par.svg or ''):lower()
     )
 
    -- validacija teme
    if theme ~= 'light' and theme ~= 'dark' then
        theme = 'light'
    end
 
    -- HTML output
     local html = mw.html.create('div')
         :addClass('mw-smiles')
        :attr('data-smiles', smiles)
        :attr('data-size', size)
        :attr('data-theme', theme)
         :attr('data-svg', svg)
 
     return tostring(html)
end
end


return p
return p

Inačica od 20. svibanj 2026. u 11:32

Dokumentacija modula


local p = {}

function p.render(frame)
    local args = frame.args
    local par  = frame:getParent() and frame:getParent().args or {}

    -- automatsko prepoznavanje SMILES argumenta
    local smiles = args[1] or args.smiles or par[1] or par.smiles

    if not smiles or smiles == '' then
        return '[SMILES nije naveden]'
    end

    -- opcije
    local size  = tonumber(args.size or par.size) or 260
    local theme = (args.theme or par.theme or 'light'):lower()
    local svg   = (args.svg or par.svg or ''):lower()

    -- validacija teme
    if theme ~= 'light' and theme ~= 'dark' then
        theme = 'light'
    end

    -- HTML output
    local html = mw.html.create('div')
        :addClass('mw-smiles')
        :attr('data-smiles', smiles)
        :attr('data-size', size)
        :attr('data-theme', theme)
        :attr('data-svg', svg)

    return tostring(html)
end

return p