Mudanças entre as edições de "Módulo:Teste"
Ir para navegação
Ir para pesquisar
| Linha 28: | Linha 28: | ||
:css("top", y .. "px") | :css("top", y .. "px") | ||
:css("left", x .. "px") | :css("left", x .. "px") | ||
local titleObj = mw.title.new(alvo) | |||
local href = titleObj and titleObj:getUrl() or "#" | |||
pointSpan:tag("a") | pointSpan:tag("a") | ||
:attr("href", | :attr("href", href) | ||
:wikitext("") | :wikitext("") | ||
:done() | :done() | ||
Edição das 22h06min de 5 de junho de 2025
A documentação para este módulo pode ser criada em Módulo:Teste/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args or {}
local nomeImagem = args.imagem or ""
local pontosStr = args.pontos or ""
if nomeImagem == "" then
return mw.html.create("div")
:css("color", "red")
:wikitext("Erro: imagem não informado em Módulo:Teste.")
:allDone()
end
local container = mw.html.create("div")
if pontosStr == "" then
return ""
end
for ponto in mw.text.gsplit(pontosStr, ";", true) do
ponto = mw.text.trim(ponto)
if ponto ~= "" then
local x, y, descricao, alvo = ponto:match("^%s*(%d+)%s*|%s*(%d+)%s*|%s*(.-)%s*|%s*(.-)%s*$")
if x and y and descricao and alvo then
local pointSpan = container:tag("span")
:addClass("map-point")
:css("top", y .. "px")
:css("left", x .. "px")
local titleObj = mw.title.new(alvo)
local href = titleObj and titleObj:getUrl() or "#"
pointSpan:tag("a")
:attr("href", href)
:wikitext("")
:done()
pointSpan:tag("span")
:addClass("tooltip")
:wikitext(descricao)
:done()
else
container:tag("div")
:css("color", "red")
:wikitext("Parâmetro de ponto inválido: <code>" .. ponto .. "</code>")
:done()
end
end
end
return tostring(container)
end
return p