پودمان:RandomContentImprovementItems

از اسلامیکال
نسخهٔ تاریخ ‏۱۹ مهٔ ۲۰۲۴، ساعت ۰۹:۴۹ توسط Aboammar (بحث | مشارکت‌ها) (تست)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

توضیحات این پودمان می‌تواند در پودمان:RandomContentImprovementItems/توضیحات قرار گیرد.

local p = {}

function createItem(colorModifier, iconModifier, catName, subText)
    local s1 = '<div class="content-improvement-item ' .. colorModifier .. ' ' .. iconModifier .. '">'
    local s2 = '[[:Thể loại:' .. catName .. '|<span><span class="content-improvement-item__number">'
    local s3 = mw.getLanguage('vi'):formatNum(mw.site.stats.pagesInCategory(catName, pages))
    local s4 = '</span> bài</span> <span>' .. subText .. '</span>]]</div>'
    return s1 .. s2 .. s3 .. s4
end

local data = {
    createItem('-color-blue', '-icon-editUndo', 'Trang cần được biên tập lại', 'cần biên tập lại'),
    createItem('-color-green', '-icon-tableMergeCells', 'Bài cần hợp nhất', 'cần hợp nhất'),
    createItem('-color-blue', '-icon-searchCaseSensitive', 'Bài cần sửa văn phong', 'cần sửa văn phong'),
    createItem('-color-red', '-icon-alert', 'Bài chất lượng kém', 'chất lượng kém'),
    -- createItem('-color-blue', '-icon-tag', 'Bài chưa được phân loại', 'cần được phân loại'),
    createItem('-color-red', '-icon-language', 'Bài dịch có chất lượng kém', 'dịch chất lượng kém'),
    createItem('-color-green', '-icon-link', 'Bài có liên kết hỏng', 'hỏng liên kết'),
    createItem('-color-green', '-icon-history', 'Bài lỗi thời', 'lỗi thời'),
    createItem('-color-gray', '-icon-code', 'Tất cả bài viết cần được wiki hóa', 'cần wiki hóa'),
    createItem('-color-red', '-icon-reference', 'Hoàn toàn không có nguồn tham khảo', 'cần thêm nguồn'),
    createItem('-color-blue', '-icon-eye', 'Bàn cãi về TĐTL', 'gây tranh cãi về tính trung lập'),
    createItem('-color-blue', '-icon-help', 'Bài viết có thể chứa đựng nghiên cứu chưa được công bố', 'có nghiên cứu chưa công bố'),
    createItem('-color-blue', '-icon-add', 'Bài có đề mục cần mở rộng', 'có đề mục cần mở rộng'),
    createItem('-color-green', '-icon-halfBright', 'Bài viết với chủ đề có độ nổi bật không rõ', 'chưa rõ độ nổi bật'),
    -- createItem('-color-green', '-icon-articleSearch', 'Bài viết cần nguồn tốt hơn', 'cần nguồn tốt hơn'),
    createItem('-color-blue', '-icon-block', 'Bài thiếu nguồn tham khảo đáng tin cậy', 'có nguồn không tin cậy')
}

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