![]() |
مسابقه سال اسلامیکال |
همزمان با آغاز ماه رمضان، مسابقه سال اسلامیکال با هدف معرفی اسلامیکال و توسعه مقالات در زمینه اسلامی آغاز شدهاست. علاقهمندان به شرکت در این مسابقه میتوانند تا پایان ماه رمضان ۱۴۴۶ قمری برای آن نامنویسی کنند. فهرستی از مقالات پیشنهادی جهت ایجاد در اینجا وجود دارد |
پودمان:Cat main
پرش به ناوبری
پرش به جستجو
توضیحات این پودمان میتواند در پودمان:Cat main/توضیحات قرار گیرد.
-- This module implements {{cat main}}.
local mHatnote = require('Module:Hatnote')
local mFormatLink = require('Module:Format link')
local yesno = require('Module:Yesno')
local mTableTools -- lazily initialise
local mArguments -- lazily initialise
local p = {}
function p.catMain(frame)
mTableTools = require('Module:TableTools')
mArguments = require('Module:Arguments')
local args = mArguments.getArgs(frame, {wrappers = {'الگو:Cat main', 'الگو:اصلی رده'}})
local pages = mTableTools.compressSparseArray(args)
local options = {
article = args.article or args['مقاله'],
selfref = args.selfref or args['خودارجاع']
}
return p._catMain(options, unpack(pages))
end
function p._catMain(options, ...)
options = options or {}
-- Get the links table.
local links = mFormatLink.formatPages({}, {...})
if not links[1] then
local page = mw.title.getCurrentTitle().text
links[1] = mFormatLink._formatLink{link = page}
end
for i, link in ipairs(links) do
links[i] = mw.ustring.format("'''%s'''", link)
end
-- Get the pagetype.
local pages = {...}
local pagetype
if options.article ~= nil then
pagetype = yesno(options.article) ~= false and 'مقاله' or 'صفحه'
elseif pages and pages[1] then
local page = mw.ustring.gsub(pages[1], "|.*", "")
pagetype = mw.title.new(page).namespace == 0 and "مقاله" or "صفحه"
else
pagetype = "مقاله"
end
-- Work out whether we need to be singular or plural.
local stringToFormat
if #links > 1 then
stringToFormat = '%sهای اصلی این [[راهنما:رده|رده]]، %s هستند.'
else
stringToFormat = '%sٔ اصلی این [[راهنما:رده|رده]]، %s است.'
end
-- Get the text.
local text = mw.ustring.format(
stringToFormat,
pagetype,
mw.text.listToText(links)
)
-- Pass it through to Module:Hatnote.
local hnOptions = {}
hnOptions.selfref = options.selfref
return mHatnote._hatnote(text, hnOptions)
end
return p