怀孕第一天有什么症状| 高处不胜寒什么意思| 2d是什么意思| 尿毒症可以吃什么水果| 毓读什么| 前列腺炎是什么引起的| 211和985什么意思| 爱生气的人容易得什么病| 湿疹不能吃什么| 腹直肌分离是什么意思| 小孩用脚尖走路是什么原因| 难怪是什么意思| 无条件是什么意思| 胎盘成熟度1级是什么意思| 嘴角上方有痣代表什么| 什么样的心情| 女人吃善存有什么好处| 为什么吃芒果会过敏| 加拿大签证需要什么材料| 鸡蛋和什么不能一起吃| 海带属于什么类| 病人打白蛋白意味着什么| 为什么会打哈欠| 葡萄膜炎是什么原因引起的| 烦躁是什么意思| 啤酒是什么味道| 肋骨下面是什么器官| 朱是什么颜色| 良知是什么意思| 什么的舞蹈| 优质是什么意思| 无名指和食指一样长代表什么| 心口痛挂什么科| 胆汁淤积症有什么症状| 鱼子酱是什么东西| 什么时辰出生最好| 什么夺目| 什么样的枫叶| 花魁是什么意思| 婴儿长牙有什么症状| 为什么门牙突然有缝了| 普瑞巴林是什么药| 我要控制我自己是什么歌| 复方氯化钠注射作用是什么| 部长助理是什么级别| 马上好药膏主治什么| 歌帝梵巧克力什么档次| 包皮手术后吃什么伤口愈合快| 手麻是什么病的预兆| 做梦梦到蜘蛛是什么意思| johnson是什么品牌| 状物是什么意思| 小寨附近有什么好玩的| 锁精环是什么| 梦到绿色的蛇是什么意思| 汗蒸有什么好处和功效| 苍耳是什么东西| 紫花地丁有什么功效| 穿堂风是什么意思| 姓陆的女孩取什么名字好| 月经期适合吃什么食物| 上海市市长是什么级别| 享年是什么意思| 梦见打老虎是什么预兆| 山东简称为什么是鲁不是齐| 七月十七是什么星座| 刮痧和拔罐有什么区别| 什么药补肾| 阅字五行属什么| 前列腺液是什么颜色| 妇科炎症小腹坠痛吃什么药| 血糖高是什么原因造成的| 刘胡兰是什么样的人| 出家人不打诳语是什么意思| 975是什么意思| 手抖是什么病| u什么意思| 野人是什么意思| 下压高是什么原因引起的| 日柱金舆是什么意思| 自渡是什么意思| 吃什么可以生精最快| 冬枣什么时候上市| 拔罐起水泡是什么原因| 貔貅是什么生肖| 嘴涩是什么原因造成的| 女人适合喝什么茶最好| 华在姓氏里读什么| 处女座和什么座最配| 肚子响是什么原因| 肋骨属于什么骨| 营养师属于什么专业| 皮肤瘙痒用什么药好| 梦见自己牙齿掉光了是什么征兆| 为什么姨妈迟迟不来| 吃什么食物能升白细胞| 什么是野鸡大学| 感冒嗓子哑了吃什么药| 装孙子是什么意思| 梦见中奖了预兆什么| 为什么没有西京| 分泌物过氧化氢阳性是什么意思| 山东日照有什么好玩的| 普瑞巴林胶囊治什么病| mrcp检查是什么意思| 雄激素是什么意思| 菱角什么时候上市| pr医学上是什么意思| 皮肤过敏擦什么药膏好得快| squirrel是什么意思| 也字五行属什么| 痤疮吃什么药| 道听途说什么意思| 红楼梦贾家为什么被抄家| 乾元是什么意思| 梦见白发是什么意思| 末法时代是什么意思| 川崎病是什么症状| complex是什么意思| 变卖是什么意思| 男性补肾壮阳吃什么药效果比较好| 一个口一个者念什么| 磨人的小妖精是什么意思| 张靓颖什么星座| 二杠四星是什么军衔| 大圈是什么意思| 八卦中代表雷的卦象叫什么| 外交部部长是什么级别| 有什么功效| 什么是肾阴虚| 体重指数是什么意思| 外阴炎用什么药膏| 1958年属什么| 肾功能不好吃什么药调理| 年轮稀疏的一面是什么方向| 怀孕了不能吃什么| 长一智的上一句是什么| 嗓子疼吃什么水果好| 吃什么让月经量增多| 什么的香味| 什么药护肝效果最好| 渡人是什么意思| 金晨为什么叫大喜| 发高烧是什么原因引起的| 厌恶是什么意思| 脾脏是人体的什么器官| 大学记过处分有什么影响| 内能与什么因素有关| 不均质回声是什么意思| 3月17日什么星座| 属鸡的幸运色是什么颜色| 幽灵蛛为什么不能打死| 撸什么意思| 问其故的故是什么意思| 什么星座最好| 偷是什么生肖| 尖湿锐吃什么药最好| 世上谁嫌男人丑的前一句是什么| 2倍是什么意思| 中焦不通吃什么药| 北京有什么好吃的美食| 天空中有什么| 圆坟是什么意思| 镪水池是什么| 装什么病能容易开病假| 去港澳旅游需要什么证件| 炎细胞浸润是什么意思| 七月七日是什么节日| 1025是什么星座| 妨子痣是什么意思| 浅表性胃炎吃什么药| 近水楼台是什么意思| 今年28岁属什么| 三伏天是什么意思| 不来例假也没怀孕是什么原因| 肺癌晚期什么症状| 大黄米和小黄米有什么区别| 氢化植物油是什么| 经期血块多是什么原因| 梦见穿裤子是什么意思| 泡泡像什么| 染色体xy代表什么| 猫咪轻轻咬你代表什么| 产后拉肚子是什么原因引起的| 白虎什么意思| 手足口疫苗什么时候打| 外阴起红点是什么病| 什么茶叶好喝又香又甜| 卫生局是什么单位| 更年期出汗多是什么原因| 女兔配什么属相最好| 知了是什么| 3月份生日是什么星座| wbc白细胞高是什么原因| ssg是什么意思| 血糖高能吃什么肉| 不完全性右束支传导阻滞是什么意思| 什么时候喝咖啡能减肥| 什么是瞬时速度| 不知为什么| 口腔疱疹吃什么药| 淋巴结肿大看什么科室最好| 微盟是做什么的| 明五行属什么| Mo什么元素| 脉冲什么意思| 灵芝有什么作用与功效| 青柠是什么意思| 牛油果坏了是什么样| 手指甲发黑是什么原因| 三什么六什么| 锡兵是什么| 文房四宝是什么| 执勤是什么意思| 容易中暑是什么原因| 圣贤是什么意思| 小燕子吃什么| 痔疮吃什么药效果好| 李白为什么叫青莲居士| 岁月如歌什么意思| 头皮发紧是什么病的前兆| 老人适合吃什么水果| 独一无二是什么生肖| 月经血是黑色的是什么原因| 为什么十个络腮九个帅| o型血和ab型血生的孩子是什么血型| 牙齿经常出血是什么原因| 为什么乳头会变黑| 小腹痛吃什么药| pd是什么| 莴苣是什么| 陶土样大便见于什么病| 腋下出汗是什么原因| 胰岛a细胞分泌什么激素| 前列腺液是什么颜色| 献完血吃什么东西补血| 管科是什么专业| 什么叫裸眼视力| 牛奶什么时候喝好| 靶向药有什么副作用| 三点水加邑念什么| hpv16阳性是什么意思| 免疫球蛋白适合什么人| 张姓五行属什么| 仓鼠是什么动物| 胸腺癌早期有什么症状| 万宝龙皮带算什么档次| 脑供血不足吃什么药好得快| 女生适合抽什么烟| 什么是理疗| 来例假可以吃什么水果| 南京立秋吃什么| 解酒喝什么饮料| 失眠吃什么药见效快| 为什么小便是红色的尿| 8月底是什么星座| 抬举是什么意思| 梦见和邻居吵架什么预兆| 有一种水果叫什么竹| 什么门永远关不上| 尿酸高是什么原因造成的| 什么是冰丝面料| 42天产后复查都查什么| 血糖高适合吃什么水果| 百度Nju?kii siskáldasan

救父女孩伤情趋稳 郭佳佳的母亲称前期治疗费已

Wikipedia:st
百度 下周五耶稣受难日,美国所有金融市场都将休市。

Taan mooduul ravvuu puáhtá r?hti? siij?on Mooduul:Navbox/raava

local p = {}
local navbar = require('Module:Navbar')._navbar
local cfg = mw.loadData('Module:Navbox/configuration')
local getArgs -- lazily initialized
local args
local format = string.format

local function striped(wikitext, border)
	-- Return wikitext with markers replaced for odd/even striping.
	-- Child (subgroup) navboxes are flagged with a category that is removed
	-- by parent navboxes. The result is that the category shows all pages
	-- where a child navbox is not contained in a parent navbox.
	local orphanCat = cfg.category.orphan
	if border == cfg.keyword.border_subgroup and args[cfg.arg.orphan] ~= cfg.keyword.orphan_yes then
		-- No change; striping occurs in outermost navbox.
		return wikitext .. orphanCat
	end
	local first, second = cfg.class.navbox_odd_part, cfg.class.navbox_even_part
	if args[cfg.arg.evenodd] then
		if args[cfg.arg.evenodd] == cfg.keyword.evenodd_swap then
			first, second = second, first
		else
			first = args[cfg.arg.evenodd]
			second = first
		end
	end
	local changer
	if first == second then
		changer = first
	else
		local index = 0
		changer = function (code)
			if code == '0' then
				-- Current occurrence is for a group before a nested table.
				-- Set it to first as a valid although pointless class.
				-- The next occurrence will be the first row after a title
				-- in a subgroup and will also be first.
				index = 0
				return first
			end
			index = index + 1
			return index % 2 == 1 and first or second
		end
	end
	local regex = orphanCat:gsub('([%[%]])', '%%%1')
	return (wikitext:gsub(regex, ''):gsub(cfg.marker.regex, changer)) -- () omits gsub count
end

local function processItem(item, nowrapitems)
	if item:sub(1, 2) == '{|' then
		-- Applying nowrap to lines in a table does not make sense.
		-- Add newlines to compensate for trim of x in |parm=x in a template.
		return '\n' .. item ..'\n'
	end
	if nowrapitems == cfg.keyword.nowrapitems_yes then
		local lines = {}
		for line in (item .. '\n'):gmatch('([^\n]*)\n') do
			local prefix, content = line:match('^([*:;#]+)%s*(.*)')
			if prefix and not content:match(cfg.pattern.nowrap) then
				line = format(cfg.nowrap_item, prefix, content)
			end
			table.insert(lines, line)
		end
		item = table.concat(lines, '\n')
	end
	if item:match('^[*:;#]') then
		return '\n' .. item ..'\n'
	end
	return item
end

-- we will want this later when we want to add tstyles for hlist/plainlist
local function has_navbar()
	return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off
		and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain
		and (
			args[cfg.arg.name]
			or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '')
				~= cfg.pattern.navbox
		)
end

local function renderNavBar(titleCell)
	if has_navbar() then
		titleCell:wikitext(navbar{
			[cfg.navbar.name] = args[cfg.arg.name],
			[cfg.navbar.mini] = 1,
			[cfg.navbar.fontstyle] = (args[cfg.arg.basestyle] or '') .. ';' ..
				(args[cfg.arg.titlestyle] or '') ..
				';background:none transparent;color:inherit;border:none;box-shadow:none;padding:0;'
		})
	end

end

local function renderTitleRow(tbl)
	if not args[cfg.arg.title] then return end

	local titleRow = tbl:tag('tr')

	local titleCell = titleRow:tag('th'):attr('scope', 'col')

	local titleColspan = 2
	if args[cfg.arg.imageleft] then titleColspan = titleColspan + 1 end
	if args[cfg.arg.image] then titleColspan = titleColspan + 1 end

	titleCell
		:cssText(args[cfg.arg.basestyle])
		:cssText(args[cfg.arg.titlestyle])
		:addClass(cfg.class.navbox_title)
		:attr('colspan', titleColspan)

	renderNavBar(titleCell)

	titleCell
		:tag('div')
			-- id for aria-labelledby attribute
			:attr('id', mw.uri.anchorEncode(args[cfg.arg.title]))
			:addClass(args[cfg.arg.titleclass])
			:css('font-size', '114%')
			:css('margin', '0 4em')
			:wikitext(processItem(args[cfg.arg.title]))
end

local function getAboveBelowColspan()
	local ret = 2
	if args[cfg.arg.imageleft] then ret = ret + 1 end
	if args[cfg.arg.image] then ret = ret + 1 end
	return ret
end

local function renderAboveRow(tbl)
	if not args[cfg.arg.above] then return end

	tbl:tag('tr')
		:tag('td')
			:addClass(cfg.class.navbox_abovebelow)
			:addClass(args[cfg.arg.aboveclass])
			:cssText(args[cfg.arg.basestyle])
			:cssText(args[cfg.arg.abovestyle])
			:attr('colspan', getAboveBelowColspan())
			:tag('div')
				-- id for aria-labelledby attribute, if no title
				:attr('id', args[cfg.arg.title] and nil or mw.uri.anchorEncode(args[cfg.arg.above]))
				:wikitext(processItem(args[cfg.arg.above], args[cfg.arg.nowrapitems]))
end

local function renderBelowRow(tbl)
	if not args[cfg.arg.below] then return end

	tbl:tag('tr')
		:tag('td')
			:addClass(cfg.class.navbox_abovebelow)
			:addClass(args[cfg.arg.belowclass])
			:cssText(args[cfg.arg.basestyle])
			:cssText(args[cfg.arg.belowstyle])
			:attr('colspan', getAboveBelowColspan())
			:tag('div')
				:wikitext(processItem(args[cfg.arg.below], args[cfg.arg.nowrapitems]))
end

local function renderListRow(tbl, index, listnum, listnums_size)
	local row = tbl:tag('tr')

	if index == 1 and args[cfg.arg.imageleft] then
		row
			:tag('td')
				:addClass(cfg.class.noviewer)
				:addClass(cfg.class.navbox_image)
				:addClass(args[cfg.arg.imageclass])
				:css('width', '1px')               -- Minimize width
				:css('padding', '0 2px 0 0')
				:cssText(args[cfg.arg.imageleftstyle])
				:attr('rowspan', listnums_size)
				:tag('div')
					:wikitext(processItem(args[cfg.arg.imageleft]))
	end

	local group_and_num = format(cfg.arg.group_and_num, listnum)
	local groupstyle_and_num = format(cfg.arg.groupstyle_and_num, listnum)
	if args[group_and_num] then
		local groupCell = row:tag('th')

		-- id for aria-labelledby attribute, if lone group with no title or above
		if listnum == 1 and not (args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group2]) then
			groupCell
				:attr('id', mw.uri.anchorEncode(args[cfg.arg.group1]))
		end

		groupCell
			:attr('scope', 'row')
			:addClass(cfg.class.navbox_group)
			:addClass(args[cfg.arg.groupclass])
			:cssText(args[cfg.arg.basestyle])
			-- If groupwidth not specified, minimize width
			:css('width', args[cfg.arg.groupwidth] or '1%')

		groupCell
			:cssText(args[cfg.arg.groupstyle])
			:cssText(args[groupstyle_and_num])
			:wikitext(args[group_and_num])
	end

	local listCell = row:tag('td')

	if args[group_and_num] then
		listCell
			:addClass(cfg.class.navbox_list_with_group)
	else
		listCell:attr('colspan', 2)
	end

	if not args[cfg.arg.groupwidth] then
		listCell:css('width', '100%')
	end

	local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing
	if index % 2 == 1 then
		rowstyle = args[cfg.arg.oddstyle]
	else
		rowstyle = args[cfg.arg.evenstyle]
	end

	local list_and_num = format(cfg.arg.list_and_num, listnum)
	local listText = args[list_and_num]
	local oddEven = cfg.marker.oddeven
	if listText:sub(1, 12) == '</div><table' then
		-- Assume list text is for a subgroup navbox so no automatic striping for this row.
		oddEven = listText:find(cfg.pattern.navbox_title) and cfg.marker.restart or cfg.class.navbox_odd_part
	end

	local liststyle_and_num = format(cfg.arg.liststyle_and_num, listnum)
	local listclass_and_num = format(cfg.arg.listclass_and_num, listnum)
	listCell
		:css('padding', '0')
		:cssText(args[cfg.arg.liststyle])
		:cssText(rowstyle)
		:cssText(args[liststyle_and_num])
		:addClass(cfg.class.navbox_list)
		:addClass(cfg.class.navbox_part .. oddEven)
		:addClass(args[cfg.arg.listclass])
		:addClass(args[listclass_and_num])
		:tag('div')
			:css('padding',
				(index == 1 and args[cfg.arg.list1padding]) or args[cfg.arg.listpadding] or '0 0.25em'
			)
			:wikitext(processItem(listText, args[cfg.arg.nowrapitems]))

	if index == 1 and args[cfg.arg.image] then
		row
			:tag('td')
				:addClass(cfg.class.noviewer)
				:addClass(cfg.class.navbox_image)
				:addClass(args[cfg.arg.imageclass])
				:css('width', '1px')               -- Minimize width
				:css('padding', '0 0 0 2px')
				:cssText(args[cfg.arg.imagestyle])
				:attr('rowspan', listnums_size)
				:tag('div')
					:wikitext(processItem(args[cfg.arg.image]))
	end
end

-- uses this now to make the needHlistCategory correct
-- to use later for when we add list styles via navbox
local function has_list_class(htmlclass)
	local class_args = { -- rough order of probability of use
		cfg.arg.bodyclass, cfg.arg.listclass, cfg.arg.aboveclass,
		cfg.arg.belowclass, cfg.arg.titleclass, cfg.arg.navboxclass,
		cfg.arg.groupclass, cfg.arg.imageclass
	}
	local patterns = {
		'^' .. htmlclass .. '$',
		'%s' .. htmlclass .. '$',
		'^' .. htmlclass .. '%s',
		'%s' .. htmlclass .. '%s'
	}
	
	for _, arg in ipairs(class_args) do
		for _, pattern in ipairs(patterns) do
			if mw.ustring.find(args[arg] or '', pattern) then
				return true
			end
		end
	end
	return false
end

local function needsHorizontalLists(border)
	if border == cfg.keyword.border_subgroup or args[cfg.arg.tracking] == cfg.keyword.tracking_no then
		return false
	end
	return not has_list_class(cfg.pattern.hlist) and not has_list_class(cfg.pattern.plainlist)
end

local function hasBackgroundColors()
	for _, key in ipairs({cfg.arg.titlestyle, cfg.arg.groupstyle,
		cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do
		if tostring(args[key]):find('background', 1, true) then
			return true
		end
	end
	return false
end

local function hasBorders()
	for _, key in ipairs({cfg.arg.groupstyle, cfg.arg.basestyle,
		cfg.arg.abovestyle, cfg.arg.belowstyle}) do
		if tostring(args[key]):find('border', 1, true) then
			return true
		end
	end
	return false
end

local function isIllegible()
	local styleratio = require('Module:Color contrast')._styleratio
	for key, style in pairs(args) do
		if tostring(key):match(cfg.pattern.style) then
			if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then
				return true
			end
		end
	end
	return false
end

local function getTrackingCategories(border)
	local cats = {}
	if needsHorizontalLists(border) then table.insert(cats, cfg.category.horizontal_lists) end
	if hasBackgroundColors() then table.insert(cats, cfg.category.background_colors) end
	if isIllegible() then table.insert(cats, cfg.category.illegible) end
	if hasBorders() then table.insert(cats, cfg.category.borders) end
	return cats
end

local function renderTrackingCategories(builder, border)
	local title = mw.title.getCurrentTitle()
	if title.namespace ~= 10 then return end -- not in template space
	local subpage = title.subpageText
	if subpage == cfg.keyword.subpage_doc or subpage == cfg.keyword.subpage_sandbox
		or subpage == cfg.keyword.subpage_testcases then return end

	for _, cat in ipairs(getTrackingCategories(border)) do
		builder:wikitext('[[Category:' .. cat .. ']]')
	end
end

local function renderMainTable(border, listnums)
	local tbl = mw.html.create('table')
		:addClass(cfg.class.nowraplinks)
		:addClass(args[cfg.arg.bodyclass])

	local state = args[cfg.arg.state]
	if args[cfg.arg.title] and state ~= cfg.keyword.state_plain and state ~= cfg.keyword.state_off then
		if state == cfg.keyword.state_collapsed then
			state = cfg.class.collapsed
		end
		tbl
			:addClass(cfg.class.collapsible)
			:addClass(state or cfg.class.autocollapse)
	end

	tbl:css('border-spacing', 0)
	if border == cfg.keyword.border_subgroup or border == cfg.keyword.border_none then
		tbl
			:addClass(cfg.class.navbox_subgroup)
			:cssText(args[cfg.arg.bodystyle])
			:cssText(args[cfg.arg.style])
	else  -- regular navbox - bodystyle and style will be applied to the wrapper table
		tbl
			:addClass(cfg.class.navbox_inner)
			:css('background', 'transparent')
			:css('color', 'inherit')
	end
	tbl:cssText(args[cfg.arg.innerstyle])

	renderTitleRow(tbl)
	renderAboveRow(tbl)
	local listnums_size = #listnums
	for i, listnum in ipairs(listnums) do
		renderListRow(tbl, i, listnum, listnums_size)
	end
	renderBelowRow(tbl)

	return tbl
end

local function add_navbox_styles()
	local frame = mw.getCurrentFrame()
	-- This is a lambda so that it doesn't need the frame as a parameter
	local function add_user_styles(templatestyles)
		if templatestyles and templatestyles ~= '' then
			return frame:extensionTag{
				name = 'templatestyles', args = { src = templatestyles }
			}
		end
		return ''
	end

	-- get templatestyles. load base from config so that Lua only needs to do
	-- the work once of parser tag expansion
	local base_templatestyles = cfg.templatestyles
	local templatestyles = add_user_styles(args[cfg.arg.templatestyles])
	local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles])

	-- The 'navbox-styles' div exists for two reasons:
	--  1. To wrap the styles to work around T200206 more elegantly. Instead
	--     of combinatorial rules, this ends up being linear number of CSS rules.
	--  2. To allow MobileFrontend to rip the styles out with 'nomobile' such that
	--     they are not dumped into the mobile view.
	return mw.html.create('div')
		:addClass(cfg.class.navbox_styles)
		:addClass(cfg.class.nomobile)
		:wikitext(base_templatestyles .. templatestyles .. child_templatestyles)
		:done()
end

function p._navbox(navboxArgs)
	args = navboxArgs
	local listnums = {}

	for k, _ in pairs(args) do
		if type(k) == 'string' then
			local listnum = k:match(cfg.pattern.listnum)
			if listnum then table.insert(listnums, tonumber(listnum)) end
		end
	end
	table.sort(listnums)

	local border = mw.text.trim(args[cfg.arg.border] or args[1] or '')
	if border == cfg.keyword.border_child then
		border = cfg.keyword.border_subgroup
	end

	-- render the main body of the navbox
	local tbl = renderMainTable(border, listnums)

	local res = mw.html.create()
	-- render the appropriate wrapper for the navbox, based on the border param

	if border == cfg.keyword.border_none then
		res:node(add_navbox_styles())
		local nav = res:tag('div')
			:attr('role', 'navigation')
			:node(tbl)
		-- aria-labelledby title, otherwise above, otherwise lone group
		if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1]
			and not args[cfg.arg.group2]) then
			nav:attr(
				'aria-labelledby',
				mw.uri.anchorEncode(
					args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1]
				)
			)
		else
			nav:attr('aria-label', cfg.aria_label)
		end
	elseif border == cfg.keyword.border_subgroup then
		-- We assume that this navbox is being rendered in a list cell of a
		-- parent navbox, and is therefore inside a div with padding:0em 0.25em.
		-- We start with a </div> to avoid the padding being applied, and at the
		-- end add a <div> to balance out the parent's </div>
		res
			:wikitext('</div>')
			:node(tbl)
			:wikitext('<div>')
	else
		res:node(add_navbox_styles())
		local nav = res:tag('div')
			:attr('role', 'navigation')
			:addClass(cfg.class.navbox)
			:addClass(args[cfg.arg.navboxclass])
			:cssText(args[cfg.arg.bodystyle])
			:cssText(args[cfg.arg.style])
			:css('padding', '3px')
			:node(tbl)
		-- aria-labelledby title, otherwise above, otherwise lone group
		if args[cfg.arg.title] or args[cfg.arg.above]
			or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then
			nav:attr(
				'aria-labelledby',
				mw.uri.anchorEncode(args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1])
			)
		else
			nav:attr('aria-label', cfg.aria_label)
		end
	end

	if (args[cfg.arg.nocat] or cfg.keyword.nocat_false):lower() == cfg.keyword.nocat_false then
		renderTrackingCategories(res, border)
	end
	return striped(tostring(res), border)
end

function p.navbox(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	args = getArgs(frame, {wrappers = {cfg.pattern.navbox}})

	-- Read the arguments in the order they'll be output in, to make references
	-- number in the right order.
	local _
	_ = args[cfg.arg.title]
	_ = args[cfg.arg.above]
	-- Limit this to 20 as covering 'most' cases (that's a SWAG) and because
	-- iterator approach won't work here
	for i = 1, 20 do
		_ = args[format(cfg.arg.group_and_num, i)]
		_ = args[format(cfg.arg.list_and_num, i)]
	end
	_ = args[cfg.arg.below]

	return p._navbox(args)
end

return p
崩溃是什么意思 洗衣机不出水是什么原因 山丘是什么意思 绒毛浆是什么 宝宝发烧吃什么药
手术后吃什么营养品好 网易是干什么的 月经下不来吃什么药 脂肪肝不能吃什么 喝水多尿多是什么原因男性
月球是地球的什么星 先河是什么意思 发烧后头疼是什么原因 送老师什么花好 恶心想吐吃什么药好
阴唇长什么样 见血封喉什么意思 吃避孕药会有什么副作用 喝酒脸红是什么原因 阁老相当于现在什么官
什么是格局hcv8jop6ns1r.cn 乙肝复查检查什么项目hcv7jop9ns4r.cn 做月子要注意什么hcv8jop2ns5r.cn 来月经前头痛什么原因cj623037.com mechrevo是什么牌子的电脑hcv9jop2ns6r.cn
孕妇吃什么蔬菜对胎儿好shenchushe.com 什么的冬瓜hcv7jop9ns9r.cn 测骨龄去医院挂什么科hcv9jop0ns6r.cn 思觉失调是什么意思hcv8jop2ns7r.cn 唐氏综合症是什么意思hcv8jop3ns1r.cn
农历8月13日是什么星座hcv9jop0ns9r.cn 缺维生素c会得什么病hcv9jop4ns9r.cn 有胃火口臭怎么办吃什么药hcv8jop2ns6r.cn imax是什么意思hcv8jop8ns1r.cn 周瑜为什么打黄盖hcv7jop9ns8r.cn
宫颈癌做什么检查bjhyzcsm.com 高血脂会引起什么疾病hcv7jop5ns4r.cn 一什么牙刷jasonfriends.com 1月29日是什么星座hcv7jop7ns4r.cn 上朝是什么意思hcv8jop5ns2r.cn
百度