Модуль:Галоўная старонка

Зьвесткі зь Вікіпэдыі — вольнай энцыкляпэдыі
Перайсьці да навігацыі Перайсьці да пошуку
 
Дакумэнтацыя модулю Дакумэнтацыя модулю[прагляд] [рэдагаваць] [гісторыя] [абнавіць]
local p = {}

local function parseWikistatsData()
    local dataTitle = mw.title.makeTitle( "Template", "NUMBEROF/data" )
    local rawData = dataTitle:getContent()
    local data = {}

    for code, articles in mw.ustring.gmatch( rawData, "| ([%l%-]+).-| NUMBEROFARTICLES | ARTICLES = (%d+)" ) do
        if tonumber( articles ) >= 250000 and code ~= "total" then table.insert( data, { ["code"] = code, ["articles"] = tonumber( articles ) } ) end
    end
    
    table.sort( data, function( a, b )
        return ( a.articles > b.articles )
    end )

    return data
end

function p.otherWikipedias()
    local data = parseWikistatsData()
    local wiki250, wiki500, wiki1000 = {}, {}, {}
    local wiki250s, wiki500s, wiki1000s = "", "", ""

    for i, wiki in ipairs( data ) do
        local langAutonymName = mw.language.fetchLanguageName( wiki.code )
        local langName = mw.language.fetchLanguageName( wiki.code, "be-tarask" )
        local insertStr = '{{nowrap|[[:' .. wiki.code .. ':|' .. langAutonymName .. ' (' .. langName .. ')]]}}'
        if wiki.articles >= 1000000 then
            table.insert( wiki1000, insertStr )
        elseif wiki.articles >= 500000 then
            table.insert( wiki500, insertStr )
        else
            table.insert( wiki250, insertStr )
        end
    end

    wiki250s = table.concat( wiki250, "{{*}}" )
    wiki500s = table.concat( wiki500, "{{*}}" )
    wiki1000s = table.concat( wiki1000, "{{*}}" )

    local msg = mw.message.new( "mainpage-otherwikis" )
    return msg:params( wiki1000s, wiki500s, wiki250s ):text()
end

return p