پودمان:RandomContentImprovementItems: تفاوت میان نسخه‌ها

از اسلامیکال
پرش به ناوبری پرش به جستجو
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
خط ۱۴: خط ۱۴:
     createItem('-color-blue', '-icon-searchCaseSensitive', 'اصطلاحات کلامی', 'اصطلاحات کلامی'),
     createItem('-color-blue', '-icon-searchCaseSensitive', 'اصطلاحات کلامی', 'اصطلاحات کلامی'),
     createItem('-color-red', '-icon-alert', 'اصطلاحات فقهی', 'اصطلاحات فقهی'),
     createItem('-color-red', '-icon-alert', 'اصطلاحات فقهی', 'اصطلاحات فقهی'),
     -- createItem('-color-blue', '-icon-tag', 'مذاهب اسلامی', 'مذاهب اسلامی'),
     createItem('-color-blue', '-icon-tag', 'مذاهب زیرشاخه تسنن', 'مذاهب سنی'),
     createItem('-color-red', '-icon-language', 'خلفای اسلامی', 'خلفای اسلامی'),
    createItem('-color-blue', '-icon-tag', 'مذاهب زیرشاخه تشیع', 'مذاهب شیعه'),
    createItem('-color-red', '-icon-language', 'خلفای اموی', 'خلفای اموی'),
     createItem('-color-red', '-icon-language', 'خلفای عباسی', 'خلفای عباسی'),
     createItem('-color-green', '-icon-link', 'کشورهای اسلامی', 'کشورهای اسلامی'),
     createItem('-color-green', '-icon-link', 'کشورهای اسلامی', 'کشورهای اسلامی'),
     createItem('-color-red', '-icon-reference', 'میراث اسلامی', 'میراث اسلامی'),
     createItem('-color-red', '-icon-reference', 'علوم اسلامی', 'علوم اسلامی'),
     createItem('-color-blue', '-icon-eye', 'امپراتوری‌های مسلمان', 'امپراتوری‌های مسلمان'),
     createItem('-color-blue', '-icon-eye', 'امپراتوری‌های مسلمان', 'امپراتوری‌های مسلمان'),
     createItem('-color-green', '-icon-history', 'تقویم اسلامی', 'تقویم اسلامی'),
     createItem('-color-green', '-icon-history', 'تاریخ اسلام', 'تاریخ اسلام'),
     createItem('-color-gray', '-icon-code', 'زیارتگاه‌ها‏', 'زیارتگاه‌ها‏'),
     createItem('-color-gray', '-icon-code', 'مناسک اسلامی', 'زمناسک اسلامی'),
     createItem('-color-blue', '-icon-help', 'آرامگاه‌ها', 'آرامگاه‌ها'),
     createItem('-color-blue', '-icon-help', 'سازمان‌های اسلامی', 'سازمان‌های اسلامی'),
     createItem('-color-green', '-icon-halfBright', 'مسجدها', 'مسجدها'),
     createItem('-color-green', '-icon-halfBright', 'نقد اسلام', 'نقد اسلام'),
     createItem('-color-blue', '-icon-add', 'مکان‌های مقدس اسلامی', 'مکان‌های مقدس اسلامی'),
     createItem('-color-blue', '-icon-add', 'اسلام و زنان', 'اسلام و زنان'),
     -- createItem('-color-green', '-icon-articleSearch', 'کتاب‌ها', 'کتاب‌ها'),
     createItem('-color-gray', '-icon-articleSearch', 'حقوق اسلامی', 'حقوق اسلامی'),
     createItem('-color-blue', '-icon-block', 'پادشاهان مسلمان', 'پادشاهان مسلمان')
     createItem('-color-blue', '-icon-block', 'پادشاهان مسلمان', 'پادشاهان مسلمان')
}
}

نسخهٔ ‏۲۱ مهٔ ۲۰۲۴، ساعت ۱۵:۱۳

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

local p = {}

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

local data = {
    createItem('-color-blue', '-icon-editUndo', 'اصطلاحات قرآنی', 'اصطلاحات قرآنی'),
    createItem('-color-green', '-icon-tableMergeCells', 'اصطلاحات حدیثی', 'اصطلاحات حدیثی'),
    createItem('-color-blue', '-icon-searchCaseSensitive', 'اصطلاحات کلامی', 'اصطلاحات کلامی'),
    createItem('-color-red', '-icon-alert', 'اصطلاحات فقهی', 'اصطلاحات فقهی'),
    createItem('-color-blue', '-icon-tag', 'مذاهب زیرشاخه تسنن', 'مذاهب سنی'),
    createItem('-color-blue', '-icon-tag', 'مذاهب زیرشاخه تشیع', 'مذاهب شیعه'),
    createItem('-color-red', '-icon-language', 'خلفای اموی', 'خلفای اموی'),
    createItem('-color-red', '-icon-language', 'خلفای عباسی', 'خلفای عباسی'),
    createItem('-color-green', '-icon-link', 'کشورهای اسلامی', 'کشورهای اسلامی'),
    createItem('-color-red', '-icon-reference', 'علوم اسلامی', 'علوم اسلامی'),
    createItem('-color-blue', '-icon-eye', 'امپراتوری‌های مسلمان', 'امپراتوری‌های مسلمان'),
    createItem('-color-green', '-icon-history', 'تاریخ اسلام', 'تاریخ اسلام'),
    createItem('-color-gray', '-icon-code', 'مناسک اسلامی', 'زمناسک اسلامی'),
    createItem('-color-blue', '-icon-help', 'سازمان‌های اسلامی', 'سازمان‌های اسلامی'),
    createItem('-color-green', '-icon-halfBright', 'نقد اسلام', 'نقد اسلام'),
    createItem('-color-blue', '-icon-add', 'اسلام و زنان', 'اسلام و زنان'),
    createItem('-color-gray', '-icon-articleSearch', 'حقوق اسلامی', 'حقوق اسلامی'),
    createItem('-color-blue', '-icon-block', 'پادشاهان مسلمان', 'پادشاهان مسلمان')
}

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