×
নতুন নিবন্ধ তৈরি করুন
আপনার পাতাটির শিরোনাম এখানে লিখুন
বর্তমানে শারকেডিয়া-তে আমাদের ১০ টি নিবন্ধ রয়েছে। উপরে আপনার নিবন্ধের নাম টাইপ করুন অথবা এখানে তালিকাভুক্ত নিবন্ধগুলোর একটি তৈরি করুন!



    শারকেডিয়া
    This wiki has been automatically closed because there have been no edits or log actions made within the last 60 days. If you are a user (who is not the bureaucrat) that wishes for this wiki to be reopened, please request that at Requests for reopening wikis. If this wiki is not reopened within 6 months it may be deleted. Note: If you are a bureaucrat on this wiki, you can go to Special:ManageWiki and uncheck the "Closed" box to reopen it.

    এই মডিউলের জন্য মডিউল:Navbar/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে

    local p = {}
    local cfg = mw.loadData('মডিউল:Navbar/রূপরেখা')
    
    local function get_title_arg(is_collapsible, template)
    	local title_arg = 1
    	if is_collapsible then title_arg = 2 end
    	if template then title_arg = 'template' end
    	return title_arg
    end
    
    local function choose_links(template, args)
    	-- The show table indicates the default displayed items.
    	-- view, talk, edit, hist, move, watch
    	-- TODO: Move to configuration.
    	local show = {true, false, true, false, false, false}
    	if template then
    		show[2] = false
    		show[3] = false
    		local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6,
    			talk = 2, edit = 3, hist = 4, move = 5, watch = 6}
    		-- TODO: Consider removing TableTools dependency.
    		for _, v in ipairs(require ('মডিউল:টেবিল সরঞ্জাম').compressSparseArray(args)) do
    			local num = index[v]
    			if num then show[num] = true end
    		end
    	end
    
    	local remove_edit_link = args.noedit
    	if remove_edit_link then show[3] = false end
    	
    	return show
    	
    end
    
    local function add_link(link_description, ul, is_mini, font_style)
    	local l
    	if link_description.url then
    		l = {'[', '', ']'}
    	else
    		l = {'[[', '|', ']]'}
    	end
    	ul:tag('li')
    		:addClass('nv-' .. link_description.full)
    		:wikitext(l[1] .. link_description.link .. l[2])
    		:tag(is_mini and 'abbr' or 'span')
    			:attr('title', link_description.html_title)
    			:cssText(font_style)
    			:wikitext(is_mini and link_description.mini or link_description.full)
    			:done()
    		:wikitext(l[3])
    		:done()
    end
    
    local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style)
    	
    	local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace)
    	if not title then
    		error(cfg.invalid_title .. title_text)
    	end
    	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''
    	
    	-- TODO: Get link_descriptions and show into the configuration module.
    	-- link_descriptions should be easier...
    	local link_descriptions = {
    		{ ['mini'] = 'দে', ['full'] = 'দেখুন', ['html_title'] = 'এই টেমপ্লেটটি দেখুন',
    			['link'] = title.fullText, ['url'] = false },
    		{ ['mini'] = 'আ', ['full'] = 'আলাপ', ['html_title'] = 'এই টেমপ্লেটটি নিয়ে আলোচনা',
    			['link'] = talkpage, ['url'] = false },
    		{ ['mini'] = 'স', ['full'] = 'সম্পাদনা', ['html_title'] = 'এই টেমপ্লেটটি সম্পাদনা করুন',
    			['link'] = title:fullUrl('action=edit'), ['url'] = true },
    		{ ['mini'] = 'ই', ['full'] = 'ইতিহাস', ['html_title'] = 'এই টেমপ্লেটটির ইতিহাস',
    			['link'] = title:fullUrl('action=history'), ['url'] = true },
    		{ ['mini'] = 'স্থা', ['full'] = 'স্থানান্তর', ['html_title'] = 'এই টেমপ্লেটটি স্থানান্তর করুন',
    			['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true },
    		{ ['mini'] = 'ন', ['full'] = 'নজর', ['html_title'] = 'এই টেমপ্লেটটি নজরে রাখুন', 
    			['link'] = title:fullUrl('action=watch'), ['url'] = true }
    	}
    
    	local ul = mw.html.create('ul')
    	if has_brackets then
    		ul:addClass(cfg.classes.brackets)
    			:cssText(font_style)
    	end
    	
    	for i, _ in ipairs(displayed_links) do
    		if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end
    	end
    	return ul:done()
    	
    end
    
    function p._navbar(args)
    	
    	-- TODO: We probably don't need both fontstyle and fontcolor...
    	local font_style = args.fontstyle
    	local font_color = args.fontcolor
    	local is_collapsible = args.collapsible
    	local is_mini = args.mini
    	local is_plain = args.plain
    	
    	local collapsible_class = nil
    	if is_collapsible then
    		collapsible_class = cfg.classes.collapsible
    		if not is_plain then is_mini = 1 end
    		if font_color then
    			font_style = (font_style or '') .. '; color: ' .. font_color .. ';'
    		end
    	end
    	font_style = (font_style or '') .. ';text-decoration:inherit;'
    	
    	local navbar_style = args.style
    	local div = mw.html.create():tag('div')
    	div
    		:addClass(cfg.classes.navbar)
    		:addClass(cfg.classes.plainlinks)
    		:addClass(cfg.classes.horizontal_list)
    		:addClass(collapsible_class) -- we made the determination earlier
    		:cssText(navbar_style)
    
    	if is_mini then div:addClass(cfg.classes.mini) end
    
    	local box_text = (args.text or cfg.box_text) .. ' '
    	 -- the concatenated space guarantees the box text is separated
    	if not (is_mini or is_plain) then
    		div
    			:tag('span')
    				:addClass(cfg.classes.box_text)
    				:cssText(font_style)
    				:wikitext(box_text)
    	end
    	
    	local template = args.template
    	local displayed_links = choose_links(template, args)
    	local has_brackets = args.brackets
    	local title_arg = get_title_arg(is_collapsible, template)
    	local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
    	local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style)
    	div:node(list)
    
    	if is_collapsible then
    		local title_text_class
    		if is_mini then
    			title_text_class = cfg.classes.collapsible_title_mini
    		else
    			title_text_class = cfg.classes.collapsible_title_full
    		end
    		div:done()
    			:tag('div')
    			:addClass(title_text_class)
    			:cssText(font_style)
    			:wikitext(args[1])
    	end
    	
    	return mw.getCurrentFrame():extensionTag{
    		name = 'templatestyles', args = { src = cfg.templatestyles }
    	} .. tostring(div:done())
    end
    
    function p.navbar(frame)
    	return p._navbar(require('Module:Arguments').getArgs(frame))
    end
    
    return p
    
    কুকিসমূহ আমাদের সেবা প্রদান করতে সহায়তা করে। আমাদের পরিষেবা ব্যবহার করার মাধ্যমে, আপনি আমাদের দ্বারা কুকি ব্যবহারে সম্মত হচ্ছেন।
    আরও তথ্য

    সাম্প্রতিক পরিবর্তন

  • 37.111.194.29 • ৪ মাস আগে
  • 37.111.194.29 • ৪ মাস আগে
  • কুকিসমূহ আমাদের সেবা প্রদান করতে সহায়তা করে। আমাদের পরিষেবা ব্যবহার করার মাধ্যমে, আপনি আমাদের দ্বারা কুকি ব্যবহারে সম্মত হচ্ছেন।
    আরও তথ্য