وحدة:About

    من الشعر الشيعي
    مراجعة ١٤:٠٦، ٤ أغسطس ٢٠٢٣ بواسطة Admin (نقاش | مساهمات) (مراجعة واحدة)
    (فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

    يمكن إنشاء صفحة توثيق الوحدة في وحدة:About/شرح

    local mArguments --initialize lazily
    local mHatnote = require('Module:Hatnote')
    local mHatList = require('Module:Hatnote list')
    local libraryUtil = require('libraryUtil')
    local checkType = libraryUtil.checkType
    local p = {}
    
    function p.about (frame)
    	-- A passthrough that gets args from the frame and all
    	mArguments = require('Module:Arguments')
    	args = mArguments.getArgs(frame)
    	return p._about(args)
    end
    
    
    function p._about (args, options)
    	-- Produces "about" hatnote.
    
    	-- Type checks and defaults
    	checkType('_about', 1, args, 'table', true)
    	args = args or {}
    	checkType('_about', 2, options, 'table', true)
    	options = options or {}
    	local defaultOptions = {
    		aboutForm = 'این %s دربارهٔ %s است. ',
    		PageType = require('Module:Pagetype').main(),
    		otherText = nil, --included for complete list
    		sectionString = 'بخش'
    	}
    	for k, v in pairs(defaultOptions) do
    		if options[k] == nil then options[k] = v end
    	end
    
    	-- Set initial "about" string
    	local pageType = (args.section or args['بخش'] and options.sectionString) or options.PageType
    	local about = ''
    	if args[1] then
    		about = string.format(options.aboutForm, pageType, args[1])
    	end
    	
    	--Allow passing through certain options
    	local fsOptions = {
    		otherText = options.otherText,
    		extratext = args.text or args['متن']
    	}
    	local hnOptions = {
    		selfref = args.selfref or args['خودارجاع']
    	}
    
    	-- Set for-see list
    	local forSee = mHatList._forSee(args, 2, fsOptions)
    
    	-- Concatenate and return
    	return mHatnote._hatnote(about .. forSee, hnOptions)
    end
    
    return p