Saltar para o conteúdo

Módulo:Avaliação/Marcas/Tabela

Origem: Wikipédia, a enciclopédia livre.
local getArgs = require('Module:Arguments').getArgs
local p = {}
local bannerNames = {'24 Horas','30 Rock','administração','aeroportos do Brasil','Afeganistão','África do Sul','África','Albânia','álbuns','Alemanha','alimentos','ambiente','América do Sul','anarquismo','Andorra','anfíbios','Angola','Angra dos Reis','animangá','anos','Antígua e Barbuda','antivandalismo','Arábia Saudita','Argélia','Argentina','Armênia','arqueologia','arquitetos','arquitetura de Portugal','arquitetura','arte','artes marciais','artrópodes','árvore da vida','As Crônicas de Nárnia','Ásia','Assu','asteróide','astronomia','Atlético Mineiro','atores do Brasil','Austrália','Áustria','automobilismo','Avaí','aves','aviação','Azerbaijão','bactérias','Bahai','Bahamas','Bahia','Bahrein','bairros do Brasil','Banda Desenhada','bandas','Bangladesh','Barbados','Bélgica','Belize','Benim','Bermudas','Beyoncé Knowles','Bielorrússia','biografias','biologia','bioquímica','Bolívia','Bósnia e Herzegovina','bossa nova','botânica','Botswana','Brasil','Brunei','Bulgária','Burkina Faso','Burundi','Butão','Cabo Verde','cães','Camarões','Camboja','Canadá','canções','capitais','carnaval','Caruaru','catolicismo','Cazaquistão','ceticismo científico','Chade','Chile','China','Chipre','cidades da Espanha','cidades do Brasil','cidades do Paquistão','cidades dos Estados Unidos','cidades','ciência da computação','ciência','ciências sociais','cientistas','cinema','Colômbia','Comores','Copa do Mundo','Coreia do Norte','Coreia do Sul','Corinthians','Corumbá','Costa do Marfim','Costa Rica','Croácia','Cuba','cultura','dança','digressões','Dinamarca','dinossauros','direito','direitos animais','discografias','Djibouti','Dominica','Dourados','dramaturgia','ecologia','economia','educação','Egito','El Salvador','eleição','eletrônica','Emirados Árabes Unidos','empresas','entretenimento','enxadrismo','Equador','Eritreia','Escócia','escolares e universitários','Eslováquia','Eslovénia','Espanha','esporte','Estados Federados da Micronésia','Estados Unidos','estatística','Estónia','Etiópia','Europa','Eurovisão','eventos multi-esportivos','evolução','fármacos','Ferrovipédia','Fiji','Filipinas','filosofia','Finlândia','física','Forças Armadas','Fórmula 1','França','futebol na Noruega','futebol','Gabão','galáxia','Galizaplus','Gâmbia','Gana','Geografia','Geórgia','ginástica','Goiânia','gospel','Granada','Grande Porto','Grécia Antiga','Grécia','Guam','Guatemala','Guerras Médicas','Guiana','Guiné Equatorial','Guiné-Bissau','Guiné','Haiti','handebol','Harry Potter','hidrografia','hip hop','História da ciência','história militar','História','Honduras','Hungria','Iémen','Ilhabela','Ilhas Marshall','Ilhas Salomão','Índia','Indonésia','invertebrados','Irão','Iraque','Irlanda','Islândia','Islão','Israel','Itália','Jamaica','Japão','jazz','Jennifer Lopez','jogos eletrônicos','Jordânia','Jornalismo','judaísmo','Kelly Rowland','Kiribati','Kosovo','Kuwait','Laos','Lesoto','Letónia','LGBT','Líbano','Libéria','Líbia','Liechtenstein','línguas','Lituânia','livros','localidades de Portugal','lógica','Lost','Luxemburgo','Macau','Madagáscar','Madeira','Malásia','Malawi','Maldivas','Mali','Malta','mamíferos','Mariah Carey','Marrocos','matemática','Mato Grosso do Sul','Maurícia','Mauritânia','medicina','Mercosul','metal','Metropolitanos do Mundo','México','Minas Gerais','mitologia','MMA','MMO','Moçambique','Moldávia','Mónaco','Mongólia','Montenegro','Municípios de Portugal','música portuguesa','música','Myanmar','Namíbia','Naruto','Nauru','Naval','Nepal','Nicarágua','Níger','Nigéria','Niue','Nobel','nordeste','Noruega','Nova Iorque','Nova Zelândia','Oceania','Omã','Os Santos dos Últimos Dias','Países Baixos','países','Palau','Palmeiras','Panamá','Papua-Nova Guiné','Paquistão','Paraguai','Paraná','património de Portugal','património Mundial da UNESCO','Pau dos Ferros','Paulínia','peixes','Percy Jackson','Peru','Pink Floyd','pintura','plantas','pokémon','política','políticos','Polónia','pornografia','Portugal','primatas','psicologia','Qatar','Quénia','química','Quirguistão','R&B','rádio','Reino Unido','relações internacionais','religião','répteis','República Centro-Africana','República Checa','República da China','República da Macedónia','República Democrática do Congo','República do Congo','República Dominicana','Rihanna','Rio de Janeiro','Rio Grande do Norte','Rio Grande do Sul','rock','Romênia','Ruanda','Rússia','Samoa','San Marino','Santa Catarina','Santa Lúcia','santos','São Cristóvão e Nevis','São Miguel (Rio Grande do Norte)','São Paulo Futebol Clube','São Paulo','São Tomé e Príncipe','São Vicente e Granadinas','saúde','Segunda Guerra Mundial','Senegal','série de televisão','Serra Leoa','Sérvia','Seychelles','Simpsons','Singapura','Síria','skate','sociedade','sociobiologia','Somália','Sri Lanka','Suazilândia','subdivisões do Brasil','Sudão do Sul','Sudão','Suécia','Suíça','Suriname','Tailândia','Tajiquistão','Tanzânia','Taylor Swift','teatro','telenovela','televisão','tênis','Teologia','Timor-Leste','Togo','Tolkien','Tonga','transporte','Trinidad e Tobago','Tunísia','Turquemenistão','Turquia','Tuvalu','Ucrânia','Uganda','urbanismo','Uruguai','Uzbequistão','Vanuatu','Vaticano','Venezuela','Vietname','vinho','vírus','voleibol','Wallis e Futuna','WP Offline','Wrestling','Zâmbia','Zimbabwe'}
 
function p.main(frame)
	local banners = mw.loadData( 'Módulo:Avaliação/Marcas' )
	local args = getArgs(frame)
	local root = mw.html.create('table')
		:addClass( 'wikitable sortable' )
	local lang = mw.language.getContentLanguage()
	root:tag( 'tr' )
		:tag( 'th' )
			:wikitext( 'Tema' )
			:done()
		:tag( 'th' )
			:wikitext( 'Link' )
			:done()
		:tag( 'th' )
			:wikitext( 'Texto do link' )
			:done()
		:tag( 'th' )
			:wikitext( 'Categoria' )
			:done()
		:tag( 'th' )
			:wikitext( 'Texto personalizado' )
			:done()
		:tag( 'th' )
			:wikitext( 'Discussão' )
			:done()
		:tag( 'th' )
			:wikitext( 'Imagem' )
			:done()
		:tag( 'th' )
			:wikitext( 'Tamanho' )
			:done()
	local first = tonumber( args['início'] )or 1
	local last = tonumber( args['fim'] ) or 200
	for pos = 1, #bannerNames do
		local k = bannerNames[pos]
		if first <= pos then
			if last < pos then
				break
			end
			local tr = root:tag( 'tr' )
			local title = lang:lcfirst( k )
			local banner = banners[ title ]
			if not banner then
				title = lang:ucfirst( k )
				banner = banners[ title ]
			end
			if type( banner ) == 'string' then
				-- Redirect
				title = banner
				banner = banners[ title ]
			end
			local link = banner['link']
			if not( link and mw.title.new( link ) and mw.title.new( link ).exists ) then
				-- link does not contain a valid title to an existing page
				local title = lang:ucfirst( title )
				local proj = 'WP:Projetos/' .. title
				if mw.title.new( proj ) and mw.title.new( proj ).exists then
					link = proj
				else
					local portal = 'Portal:' .. title
					if mw.title.new( portal ) and mw.title.new( portal ).exists then
						link = portal
					else
						-- No valid title was found! Create a red link for a future project
						link = proj
					end
				end
			end
			link = mw.ustring.gsub( link, '^Wikipédia:', 'WP:' )
			local about = banner['sobre'] or title
			local talkPage = 'Wikipédia Discussão:Projetos/' .. ( banner['discussão'] or lang:ucfirst( about or '' ) )
			local img =  banner['imagem'] and '[[:Imagem:' .. banner['imagem'] .. '|' .. banner['imagem'] .. ']]'
			tr:tag( 'td' ):wikitext( title )
			tr:tag( 'td' ):wikitext( '[[' .. link .. ']]' )
			tr:tag( 'td' ):wikitext( banner['texto do link'] or link )
			tr:tag( 'td' ):wikitext( '[[:Categoria:!Artigos de qualidade 1 sobre ' .. about .. '|' .. about .. ']]' )
			tr:tag( 'td' ):wikitext( banner['texto'] or '[[Imagem:X mark.svg|15px|Não]]' )
			tr:tag( 'td' ):wikitext( '[[' .. talkPage .. ']]' )
			tr:tag( 'td' ):wikitext( img or '[[Imagem:X mark.svg|15px|Não]]' )
			tr:tag( 'td' ):wikitext( banner['tamanho'] or '75x50px' )
		end
	end
	return tostring( root )
end
 
return p