Modul:Smiles: razlika između inačica
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" | ||
-- | -- Č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' }) | ||
-- 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>' | |||
html | |||
return | -- 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
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