RuneScape Wiki
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 em %s.',
+
title = 'A Wikipédia tem um artigo sobre %s.',
},
+
},
os = {
+
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 em %s.',
+
title = 'A RuneScape Wiki tem um artigo sobre %s.',
},
+
},
}
+
}
   
local order = { 'rsw', 'wp', 'os' }
+
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