Módulo:Info: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
m link para ver modelos simples |
modificações relacionadas com imagens e legendas e outras pequenas atualizações |
||
Linha 1:
m = {}
local cores = { -- tons das linhas: {'escuro', 'mediano', 'claro', 'bem claro'}
{'#B60000', '#FFAFAF', '#FFD7D7', '#FFEBEB'}, -- vermelho
{'#B00058', '#FFABD5', '#FFD5EA', '#FFEAF5'}, -- bordô
{'#840084', '#FFA4FF', '#FFD2FF', '#FFE9FF'}, -- púrpura
{'#5800B1', '#DAB5FF', '#EDDAFF', '#F6EDFF'}, -- roxo
{'#2020C9', '#BFBFFF', '#DFDFFF', '#EFEFFF'}, -- azul
{'#0057AF', '#93C9FF', '#C9E4FF', '#E4F2FF'}, -- azul~ciano
{'#00626F', '#11E4FF', '#88F2FF', '#C4F9FF'}, -- ciano
{'#00654E', '#27FFCF', '#93FFE7', '#C9FFF3'}, -- verde~ciano
{'#006800', '#7BFF7B', '#BDFFBD', '#DEFFDE'}, --
{'#4A6000', '#CFFF27', '#E7FF93', '#F3FFC9'}, -- verde~amarelo
{'#655900', '#FFE411', '#FFF288', '#FFF9C4'}, -- amarelo
{'#8C4600', '#FFB56B', '#FFDAB5', '#FFEDDA'}, -- laranja
{'#FFFFC0', '#FFFFC0', '', ''}, -- amarelo não padrão (temporário)
{'#E8E8E8', '#E8E8E8', '', ''}, -- cinza claro não padrão (temporário)
{'#585858', '#C7C7C7', '#E3E3E3', '#F1F1F1'} -- cinza
}
-- Função para montar a infobox depois que os parâmetros foram pré-processados
montarinfo = function()
partes = {}
Linha 48 ⟶ 49:
end
end
--
local
for
if
table.insert(c, '|-\n|colspan=2 style="text-align:center; font-weight:bold;' .. cor2 .. '"|' .. campo['tópico'])▼
local dominio, img = string.match(params['imagem' .. n], '^%[%[(%w+):([^%]%|%.\n]+%.%w%w%w%w?)[%]%|]')▼
elseif campo['rótulo'] and campo['rótulo'] == '#imagem' and campo[1] then
▲ local dominio, img = string.match(
if dominio then
for _, d in pairs({'Ficheiro', 'Imagem', 'File', 'Image', 'ficheiro', 'imagem', 'file', 'image'}) do
Linha 62 ⟶ 65:
if dominio then img = nil end
else
img =
end
if img then
end
end▼
end▼
end▼
for _, campo in ipairs(campos) do▼
▲ table.insert(c, '|-\n|colspan=2 style="text-align:center; font-weight:bold;' .. cor2 .. '"|' .. campo['tópico'])
elseif campo['rótulo'] and campo[1] then
table.insert(c, '|-\n|scope="row" ' .. 'style="vertical-align:top; text-align:left; font-weight:bold;' .. cor3 .. '"|' .. campo['rótulo'] ..
'\n|' .. (campo['wikidata'] and 'class="dadoswd" ' or '') .. 'style="vertical-align:top; text-align:left; font-weight:bold;"|' .. campo[1])
elseif campo[1] then
table.insert(c, '|-\n|colspan=2 ' .. (campo['wikidata'] and 'class="dadoswd" ' or '') ..
Linha 92 ⟶ 85:
partes['rodapé'] = '|-\n|colspan=2|<pre>' .. (debug or '(debug vazio)') .. '</pre>'
end
if string.match(nomebase, '^Predefinição:') then
partes['ver-editar'] = '|-\n|colspan=2 class="plainlinks" style="text-align:right"|[[' ..
Linha 128 ⟶ 120:
num = ncamposwd == 0 and 'nenhum campo' or ncamposwd == 1 and '1 campo' or ncamposwd <= 10 and
tostring(ncamposwd) .. ' campos' or 'mais de 10 campos'
end
end
-- Montar a partes --
local template = [=[{|style="font-size: 90%; line-height: 1.
{ cabeçalho }
|-
!colspan=2 style="height:45px; vertical-align:middle; text-align:center; font-size:120%; font-weight:bolder; line-height:1.3em; position:relative;{ cor }"|{ pictograma }{ título }
{ subtítulo }
{ campos }
{ rodapé }
Linha 159 ⟶ 150:
nomebase = frame:getParent():getTitle()
params = {}
-- Para ordenar as chaves de uma tabela em Lua é necessário separar a tabela em duas:
local
local camposv = {} -- tabela para guardar os valores dos campos
for k, v in pairs(frame.args) do
if v == '' then
Linha 214 ⟶ 206:
local i = 0
for _, n in ipairs(camposn) do
-- Como no preenchimento antigo existem tópicos e rótulos/dados com o mesmo número,
-- é necessário ordenar desta forma para colocar os dados um número a frente do tópico
if camposv[n]['tópico'] then
i = i + 1
Linha 240 ⟶ 234:
end
debug = table.concat(debug, '\n')
-- Imagens e legendas no formato antigo --
if params['imagem' .. n] then
table.insert(campos, 1, {['rótulo']='#imagem', params['imagem' .. n]})
if params['legenda' .. n] or params['imagem_legenda' .. n] then
table.insert(campos, 2, {params['legenda' .. n] or params['imagem_legenda' .. n]})
▲ end
▲ end
▲ end
-- Coordenadas --
Linha 261 ⟶ 265:
if importar == 'sim' then
for i, campo in ipairs(campos) do
if campo[1] and string.match(campo[1], '^#
table.insert(verwikidata, i)
end
Linha 268 ⟶ 272:
for i, campo in ipairs(campos) do
for n, dados in ipairs(campo) do
if not string.match(dados, '^#
if n > 1 then
campos[i][1] = dados
|