Sem resumo de edição Etiqueta: sourceedit |
Sem resumo de edição Etiqueta: sourceedit |
||
Linha 6: | Linha 6: | ||
params = { 'wikipedia', 'wp', 'w' }, |
params = { 'wikipedia', 'wp', 'w' }, |
||
abbr = 'W', |
abbr = 'W', |
||
− | title = 'A Wikipédia tem um artigo |
+ | title = 'A Wikipédia tem um artigo sobre %s.', |
− | + | }, |
|
− | + | en = { |
|
− | format = '[[en:%s|%s]]', |
||
− | params = { 'os', 'en', 'english' }, |
||
− | abbr = 'OS', |
||
− | title = 'A Old School RuneScape Wiki tem um artigo em %s.', |
||
− | }, |
||
− | rsw = { |
||
format = '[[en:runescape:%s|%s]]', |
format = '[[en:runescape:%s|%s]]', |
||
params = { 'rsw', 'wiki', 'en' }, |
params = { 'rsw', 'wiki', 'en' }, |
||
abbr = 'RSW', |
abbr = 'RSW', |
||
− | title = 'A RuneScape Wiki tem um artigo |
+ | title = 'A RuneScape Wiki tem um artigo sobre %s.', |
− | + | }, |
|
− | + | } |
|
− | local order = { ' |
+ | local order = { 'en', 'wp' } |
local allparams = {} |
local allparams = {} |
||
Linha 63: | Linha 57: | ||
ret:addClass('topright topright-icon') |
ret:addClass('topright topright-icon') |
||
for _,v in ipairs(order) do |
for _,v in ipairs(order) do |
||
− | --if not vals[v] then |
||
− | --vals[v] = v; |
||
− | --end |
||
− | |||
if vals[v] then |
if vals[v] then |
||
local span = mw.html.create('span') |
local span = mw.html.create('span') |
||
Linha 74: | Linha 64: | ||
ret:wikitext(string.format(sites[v].format, vals[v], tostring(span))) |
ret:wikitext(string.format(sites[v].format, vals[v], tostring(span))) |
||
end |
end |
||
− | |||
− | -- ret:wikitext(string.format(sites[v].format, 'Err!', vals[v])) |
||
end |
end |
||
Revisão das 17h08min de 2 de abril de 2017
A documentação para este módulo pode ser criada na página Módulo:Top icons/doc
local p = {}
local sites = {
wp = {
format = '[[wikipedia:%s|%s]]',
params = { 'wikipedia', 'wp', 'w' },
abbr = 'W',
title = 'A Wikipédia tem um artigo sobre %s.',
},
en = {
format = '[[en:runescape:%s|%s]]',
params = { 'rsw', 'wiki', 'en' },
abbr = 'RSW',
title = 'A RuneScape Wiki tem um artigo sobre %s.',
},
}
local order = { 'en', 'wp' }
local allparams = {}
function p.main(frame)
local args = frame:getParent().args
local pagename = mw.title.getCurrentTitle().fullText
local vals = {}
-- create allparams
for s,t in pairs(sites) do
for _,v in ipairs(t.params) do
allparams[v] = s
end
end
-- loop named params
for i,v in pairs(allparams) do
if args[i] and not vals[v] then
vals[v] = args[i]
end
end
-- loop unnamed params
local i = 1
local v
while args[i] do
v = allparams[args[i]]
if v and not vals[v] then
vals[v] = pagename
end
i = i + 1
end
mw.log('allparams')
mw.log(allparams)
mw.log('vals')
mw.log(vals)
local ret = mw.html.create('div')
ret:addClass('topright topright-icon')
for _,v in ipairs(order) do
if vals[v] then
local span = mw.html.create('span')
span:wikitext(sites[v].abbr)
:addClass('rs-header-icon rs-header-icon-'..v)
:attr('title', string.format(sites[v].title, vals[v]))
ret:wikitext(string.format(sites[v].format, vals[v], tostring(span)))
end
end
return tostring(ret)
end
return p