مسابقه سال اسلامیکال
همزمان با آغاز ماه رمضان، مسابقه سال اسلامیکال با هدف معرفی اسلامیکال و توسعه مقالات در زمینه اسلامی آغاز شده‌است. علاقه‌مندان به شرکت در این مسابقه می‌توانند تا پایان ماه رمضان ۱۴۴۶ قمری برای آن نام‌نویسی کنند. فهرستی از مقالات پیشنهادی جهت ایجاد در اینجا وجود دارد

پودمان:Icon

از اسلامیکال
پرش به ناوبری پرش به جستجو

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

-- This module implements [[Template:Icon]].

require("Module:No globals")
local yesNo = require("Module:Yesno")
local getArgs = require("Module:Arguments").getArgs
local getPlain = nil

local p = {}

-- Determine whether we're being called from a sandbox
local sandbox = mw.getCurrentFrame():getTitle():find('تمرین', 1, true) and '/تمرین' or ''

-- Implements [[Template:Icon]]
-- Returns the icon image corresponding to a string (like 'B')
function p._main(args, data)
	local data_module = 'Module:Icon/data'..sandbox
	data = data or mw.loadData(data_module)
	local code
	if args['کلاس'] then
		code = args['کلاس']
	else
		code = args.class or args[1]
	end
	local iconData
	if code then
		code = mw.ustring.match(code, '^%s*(.-)%s*$'):lower() -- trim whitespace and put in lower case
		iconData = data[code]
	end
	if not iconData then
		iconData = data._DEFAULT
	end
	return mw.ustring.format(
		'[[پرونده:%s%s%s|%s|class=noviewer|alt=%s]]',
		iconData.image,
		iconData.tooltip and '|' .. iconData.tooltip or '',
		iconData.link == false and '|link=' or '',
		(args.size or args['اندازه']) or '16x16px',
		iconData.alt or ''
	)
end

-- Implements [[Template:Icon link]], a superset of [[Template:Icon]]
-- Returns an icon, plus a suitably formatted wikilink
function p._link(args, data)
	if args['اندازه'] then
		args.size = args['اندازه']
	else
		args.size = args.size or args.iconsize
	end
	local icon = p._main(args, data)
	-- If no link given in args[2], default back to [[Template:Icon]]
	if not args[2] then
		return icon
	end
	-- Strip wiki markup out of link
	getPlain = getPlain or require("Module:Text").Text().getPlain
	local link = getPlain(args[2])
	local display = args[3] or args[2]
	-- italicize display string, if requested
	if yesNo(args.i) or yesNo(args.italic) or yesNo(args.italics) or yesNo(args['کج']) or yesNo(args['ایتالیک']) then
		display = '<i>'..display..'</i>'
	end
	-- if display is link, just use standard wlink
	if link == display then
		return icon..'&nbsp;[['..link..']]'
	end
	return icon..'&nbsp;[['..link..'|'..display..']]'
end

function p.main(frame)
	local args = getArgs(frame,{parentFirst=true})
	return p._main(args)
end

function p.link(frame)
	local args = getArgs(frame,{parentFirst=true})
	return p._link(args)
end

return p