Pergi ke kandungan

Modul:Sandbox/26 Ramadan

Daripada Wikipedia, ensiklopedia bebas.

Pendokumenan untuk modul ini boleh diciptakan di Modul:Sandbox/26 Ramadan/doc

local p = {}

function createItem(colorModifier, iconModifier, catName, subText)
    local s1 = '<div class="content-improvement-item ' .. colorModifier .. ' ' .. iconModifier .. '">'
    local s2 = '[[:Kategori:' .. catName .. '|<span><span class="content-improvement-item__number">'
    local s3 = mw.getLanguage('ms'):formatNum(mw.site.stats.pagesInCategory(catName, pages))
    local s4 = '</span> rencana</span> <span>' .. subText .. '</span>]]</div>'
    return s1 .. s2 .. s3 .. s4
end

local data = {
    createItem('-color-blue', '-icon-editUndo', 'Rencana yang memerlukan perapian', 'yang memerlukan perapian'),
    createItem('-color-green', '-icon-tableMergeCells', 'Semua rencana untuk digabungkan', 'untuk digabungkan'),
    createItem('-color-blue', '-icon-searchCaseSensitive', 'Rencana Wikipedia yang memerlukan suntingan gaya', 'yang memerlukan suntingan gaya'),
    createItem('-color-red', '-icon-alert', 'Semua rencana dengan kenyataan tidak bersumber', 'dengan kenyataan tidak bersumber'),
    createItem('-color-blue', '-icon-tag', 'Laman tak dikategorikan', 'tak dikategorikan'),
    createItem('-color-red', '-icon-language', 'Rencana Wikipedia yang memerlukan pembersihan selepas diterjemahkan', 'yang memerlukan pembersihan selepas diterjemahkan'),
    createItem('-color-green', '-icon-link', 'Semua rencana dengan pautan luar mati', 'dengan pautan luar mati'),
    createItem('-color-green', '-icon-history', 'Rencana Wikipedia yang memerlukan pengemaskinian', 'yang memerlukan pengemaskinian'),
    createItem('-color-gray', '-icon-code', 'Rencana perlu diwikikan', 'yang perlu diwikikan'),
    createItem('-color-red', '-icon-reference', 'Rencana tanpa sumber rujukan', 'tanpa sumber rujukan'),
    createItem('-color-blue', '-icon-eye', 'Pertikaian pandangan berkecuali Wikipedia', 'dengan pertikaian pandangan berkecuali'),
    createItem('-color-blue', '-icon-help', 'Rencana yang mungkin mengandungi penyelidikan asli', 'yang mungkin mengandungi penyelidikan asli'),
    createItem('-color-blue', '-icon-add', 'Semua rencana dengan bahagian kosong', 'dengan bahagian kosong'),
    createItem('-color-green', '-icon-halfBright', 'Semua rencana dengan topik yang kekurangan kelayakan', 'dengan topik yang kekurangan kelayakan'),
    -- createItem('-color-green', '-icon-articleSearch', 'Rencana kekurangan sumber yang dipercayai', 'kekurangan sumber yang dipercayai'),
    createItem('-color-blue', '-icon-block', 'Rencana kekurangan sumber yang dipercayai', 'kekurangan sumber yang dipercayai')
}

function p.main(frame)
    local result = ""
    local dataShuffled = FYShuffle(data)
    for i = 1, 9, 1 do
    	result = result .. dataShuffled[i]
    end
    return result
end

-- Source: https://stackoverflow.com/questions/35572435/how-do-you-do-the-fisher-yates-shuffle-in-lua
function FYShuffle(tInput)
    math.randomseed(os.time())
    local tReturn = {}
    for i = #tInput, 1, -1 do
        local j = math.random(i)
        tInput[i], tInput[j] = tInput[j], tInput[i]
        table.insert(tReturn, tInput[i])
    end
    return tReturn
end

return p