Izvor: Hrvatska internetska enciklopedija
Prijeđi na navigaciju
Prijeđi na pretraživanje
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