Modulo:Lingvara superrigardo

 MODULO
Memtesto disponeblas sur la dokumentaĵa subpaĝo.

local p = {}
local raus = ""

function p.main(frame)
	args = frame.args
	args1 = {}
	if args[1] then s = args[1] 
		for w in (s..","):gmatch("([^,]+), *") do
			table.insert(args1, w)
		end
	end
	sumo = 0

	Lingvoj = args1
	Superrigardo = { }
	Geszahl = mw.site.stats.articles
	
	local root = mw.html.create('table')
	root:addClass('wikitable sortable zebra centered') 
	root:css('text-align','right')
	tagtr = root:tag('tr')
		:tag('th')
		:tag('th')
			:wikitext('Lingvo/kategorio')		
		:tag('th')
			:wikitext('Kapvortoj')		
		:tag('th')
			:addClass('unsortable')
			:wikitext('Procento')		
        if args[2] then
                tagtr:tag('th')
			:addClass('unsortable')
			:wikitext(args[2])
        end
	tagtr = root:tag('tr')
		:addClass('unsortable')
		:tag('th')
		:tag('th')
			:wikitext('Kapvortoj entute')		
		:tag('th')
			:wikitext(Geszahl)		
		:tag('th')
			:wikitext('100,00 ')		
        if args[2] then
                tagtr:tag('th')
			:addClass('unsortable')
			:wikitext(' ')
        end
	for k, Sprache in ipairs(Lingvoj) do
		Superrigardo[k] = {k, mw.site.stats.pagesInCategory(Sprache,"pages")}
	end
	table.sort(Superrigardo, function (k1, k2) return k1[2]>k2[2] end )
	zaehler = 1
	for k,Ue in ipairs(Superrigardo) do
		link = mw.title.new("Kategorio:" .. Lingvoj[Ue[1]])
		tagtr = root:tag('tr')
			:tag('td')
				:wikitext(zaehler .. ".")
			:tag('td')
				:css('text-align','left')
				-- :wikitext(string.format( "[%s %s]", tostring(link:fullUrl()), Lingvoj[Ue[1]]))
				:wikitext("[[:Kategorio:" ..  Lingvoj[Ue[1]] .. "|" ..  Lingvoj[Ue[1]] .. "]]")
			:tag('td')
				:wikitext(Ue[2])
			:tag('td')
				:wikitext(string.format("%.2f",Ue[2]/Geszahl*100))
                if args[2] then
		        tagtr:tag('td')
			:addClass('unsortable')
			:css('text-align','left')
			:wikitext("[[" .. mw.title.getCurrentTitle().prefixedText .. "/" .. args[2] .. " (" .. Lingvoj[Ue[1]] .. ")|" .. args[2] .. "]]")
                end
		zaehler = zaehler + 1
		sumo = sumo + Ue[2]
	end
        if frame.args.Sumo then
	   tagtr = root:tag('tr')
		tagtr:tag('td')
			:wikitext("")
		tagtr:tag('td')
			:css('text-align','left')
			-- :wikitext(string.format( "[%s %s]", tostring(link:fullUrl()), Lingvoj[Ue[1]]))
			:wikitext("'''Sumo'''")
		tagtr:tag('td')
			:wikitext(sumo)
		tagtr:tag('td')
			:wikitext(string.format("%.2f",sumo/Geszahl*100))
        end
	return tostring(root)
end

return p