نماد توضیحات توضیحات پودمان[ایجاد]
-- This module implements {{cat main}}.  local mHatnote = require('Module:Hatnote') 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 = 'الگو:اصلی رده'}) 	local pages = mTableTools.compressSparseArray(args) 	local options = { 		article = args.article, 		selfref = args.selfref 	} 	return p._catMain(options, unpack(pages)) end  function p._catMain(options, ...) 	options = options or {}  	-- Get the links table. 	local links = mHatnote.formatPages(...) 	if not links[1] then 		local page = mw.title.getCurrentTitle().text 		links[1] = mHatnote._formatLink(page) 	end 	for i, link in ipairs(links) do 		links[i] = string.format("'''%s'''", link) 	end  	-- Get the pagetype. 	local pagetype 	if yesno(options.article) ~= false then 		pagetype = 'مقاله' 	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 = string.format( 		stringToFormat, 		pagetype, 		mw.text.listToText(links) 	) 	 	-- Pass it through to Module:Hatnote. 	local hnOptions = {} 	hnOptions.selfref = options.selfref 	hnOptions.extraclasses = 'relarticle mainarticle'  	return mHatnote._hatnote(text, hnOptions) end  return p