女人喝咖啡有什么好处和坏处| 钙不能和什么一起吃| 什么是蜘蛛痣| 琪五行属什么| 男性腰疼挂什么科| 河粉为什么叫河粉| 婴儿吃什么奶粉好吸收| 什么是福报| 脸长适合什么样的发型| 车加昆念什么| 血液是什么组织| 阴道口出血是什么原因| 磨牙是什么原因| 压差小是什么原因引起的| 泌尿系统由什么组成| 猫咪睡姿代表什么图解| 脑白质病是什么病| 高光是什么意思| 流局是什么意思| 荨麻疹吃什么| 音欠读什么| 什么年树木| 做梦孩子死了什么预兆| 吃什么对神经恢复快速| 白痰多是什么原因造成的| 维生素c是补什么的| 陌上是什么意思| 狗被蜱虫咬了有什么症状| 生地黄是什么| 假冒警察什么罪怎么判| 大姨妈来能吃什么水果| 花儿像什么比喻句| 牛肉饺子馅配什么蔬菜好吃| 心脏病挂什么科| 低血压吃什么食物好| 内消瘰疬丸主治什么病| 缺维生素b有什么症状| 宫颈分离是什么意思| 大运正官是什么意思| 大脑缺氧有什么症状| 前列腺炎是什么原因引起| 什么叫meta分析| menu是什么意思| 器质性疾病是什么意思| 疼和痛有什么区别| 铁树开花是什么生肖| 乖乖是什么意思| 钟字五行属什么| 卵磷脂什么牌子好| 羊水破了是什么感觉| 银为什么会变黑| 肝气虚吃什么中成药| o型血为什么叫熊猫血| 转氨酶高是什么情况| 10月26是什么星座| 男人不尊重你说明什么| 屁股长痘痘是什么原因| 做包子用什么面粉| 三月初九是什么星座| kappa是什么牌子| 怂包是什么意思| 兽中之王是什么动物| 宿命是什么意思| 南京五行属什么| 囊肿是什么东西| 女人梦见虫子什么预兆| 定海神针什么意思| 梦见摘辣椒是什么意思| 老人越来越瘦是什么原因| 非萎缩性胃炎什么意思| 花肠是母猪的什么部位| wbc是什么意思医学| 世界上最小的长度单位是什么| 红痣是什么原因引起的| 鼻炎吃什么消炎药| abi是什么意思| 蕾丝边是什么意思| 今年为什么闰六月| 你为什么背着我爱别人| 恕是什么意思| 湿热是什么原因引起的| 虫可念什么| 困惑是什么意思| 股骨长是什么意思| 2月16日是什么星座| 玉鸟吃什么饲料好| 误机是什么意思| lancome是什么牌子的| 妈妈吃什么帮宝宝排气| 脂肪瘤看什么科| 万能输血者是什么血型| 去医院看舌头挂什么科| 身体冒虚汗什么原因| 翠是什么颜色| 无间道是什么意思| 皮肤软组织感染用什么消炎药| 七什么什么什么成语| 为什么女人阴唇会变大| 人格魅力是什么意思| 更年期吃什么药调理| 我低头向山沟是什么歌| 脂肪肝吃什么好| 代金券是什么意思| 脑壳疼是什么原因| 9月26号是什么星座| 坪效是什么意思| 胃有幽门螺旋杆菌是什么症状| soso是什么意思| 同房出血什么原因| 自提是什么意思| 患难见真情是什么意思| 桂花乌龙茶属于什么茶| 雷锋日是什么时候| 农历5月是什么星座| 做tct检查前要注意什么| 1992年属什么生肖| 睡眠模式是什么意思| 脚麻木吃什么药| 男人很man是什么意思| 肝火旺盛失眠吃什么药| 内痔是什么| 唇系带短有什么影响| 人彘是什么意思| 多汗症是什么原因引起的| 飞机为什么怕小鸟| 阿尔茨海默症吃什么药| 什么是中元节| 当归炖鸡有什么功效| 无休止是什么意思| 梦见打死猫有什么预兆| 梦见朋友怀孕了是什么意思| 郁是什么生肖| 萎缩性胃炎什么症状| 道家思想的核心是什么| hipanda是什么牌子| 什么是龟头炎| 银河系是什么| 抗体是指什么| 苦荞茶适合什么人喝| 什么是生命之本| 少校军衔是什么级别| 迷津是什么意思| 鲲之大的之是什么意思| 唇钉是干什么用的| 壁立千仞无欲则刚是什么意思| 排骨炒什么配菜好吃| 可可粉是什么| 根管治疗是什么意思| 奶奶的妈妈叫什么| 90年是什么年| 幽门螺旋杆菌什么意思| 梦见乌龟是什么意思| 豆浆什么时候喝最好| 皮肤变黄是什么原因| 女性尿酸低是什么原因| tory burch什么牌子| 耳目比喻什么| 潜叶蝇打什么药效果好| 什么桌椅| 肝内脂肪浸润是什么意思| 7一9点是什么时辰| 桂味是什么| 尿路感染吃什么药最快| 拘挛是什么意思| 1月26是什么星座| 眼睛发蓝是什么原因| 甲沟炎涂抹什么药膏最有效| 扭捏是什么意思| 妇炎康片有什么副作用| 崩漏带下是什么症状| 乳房胀痛什么原因| 两侧肋骨疼是什么原因| 早泄什么症状| 舌尖长溃疡是什么原因| 牛子什么意思| 肢体拘挛是什么意思| 尿常规隐血弱阳性什么意思| 黄瓜有什么好处| 10.17是什么星座| 滋养细胞疾病是什么病| 朋友妻不可欺是什么意思| 看胸部挂什么科| 放生乌龟有什么寓意| 酉什么意思| 什么是豆粕| 窝沟封闭是什么意思| 清对什么| 潘粤明老婆现任叫什么| 水泻拉肚子吃什么药| 外围是什么| 牙松动了还疼用什么方法处理最好| 924是什么星座| 肺部结节是什么引起的| 秋天有什么花开| 单核细胞偏低是什么意思| 呜呼哀哉什么意思| 中国中铁是做什么的| 弯的是什么意思| 福字挂在家里什么位置最合适| 211是什么| 卫生间除臭用什么最好| 莫逆是什么意思| 6月18号是什么日子| 孕妇梦见掉牙齿是什么意思| 骨髓捐赠对自己有什么影响没有| 心脏彩超挂什么科| 阑尾炎手术后可以吃什么水果| 胆毒是什么原因引起的| 什么动物吃草| 什么的生活| 老年人血压忽高忽低是什么原因| 女子胞指的是什么| 双一流大学是什么意思| 为什么发动文化大革命| 眼睛发粘是什么原因| 什么东西可以减肥| 梦到掉牙齿是什么预兆| 平台期是什么意思| 院感是什么意思| forever21是什么牌子| 有容乃大是什么意思| 什么叫心悸| 如果是什么意思| 天麻治什么病| 96年的鼠是什么命| 什么工作挣钱多| 老年人助听器什么牌子好| 央企和国企有什么区别| 粘膜慢性炎是什么意思| 什么是鸡胸病症状图片| 幺是什么意思| 四大美女是什么生肖| 什么什么大叫| 手指甲上有白点是什么原因| human是什么意思| 湿气重吃什么好| 立夏有什么习俗| 火车硬卧代硬座是什么意思| 什么的青蛙| 牙周炎用什么药| bcr是什么意思| 黑豆加红枣有什么功效| 三氯蔗糖是什么东西| 眼镜框什么材质的好| 天兵神将是什么动物| 牛仔裤配什么鞋| 挂彩是什么意思| 刘伯温属什么生肖| 肌张力障碍是什么病| 梦见玉米是什么意思| 九转大肠是什么菜系| 压马路是什么意思| 宜余事勿取是什么意思| 放大镜是什么镜| 龟头炎用什么药好| 士多店是什么意思| 为什么叫基围虾| 献血对身体有什么好处| 肠粉是用什么粉做的| 为什么医院开的钙都是碳酸钙| 我的部首是什么| 吕布为什么叫三姓家奴| 小孩咳嗽吃什么药好| 怀孕为什么会恶心想吐| 百度Saltar para o conteúdo

“懂电”大师拜克明:用小发明为企业挽回千万元损失

Permanently protected module
Origem: Wikipédia, a enciclopédia livre.

local libUtil = require('libraryUtil')
local checkType = libUtil.checkType
local mTableTools = require('Módulo:TableTools')

local p = {}

local listTypes = {
	['bulleted'] = true,
	['unbulleted'] = true,
	['horizontal'] = true,
	['ordered'] = true,
	['horizontal_ordered'] = true
}

function p.makeListData(listType, args)
	-- Constrói uma tabela de dados para ser passada para p.renderList.
	local data = {}

	-- Classes e TemplateStyles
	data.classes = {}
	data.templatestyles = ''
	if listType == 'horizontal' or listType == 'horizontal_ordered' then
		table.insert(data.classes, 'hlist')
		data.templatestyles = mw.getCurrentFrame():extensionTag{
			name = 'templatestyles', args = { src = 'Hlist/styles.css' }
		}
	elseif listType == 'unbulleted' then
		table.insert(data.classes, 'plainlist')
		data.templatestyles = mw.getCurrentFrame():extensionTag{
			name = 'templatestyles', args = { src = 'Lista simples/styles.css' }
		}
	end
	local argsClass = args.class or args.classe
	table.insert(data.classes, argsClass)

	-- Estilo div principal
	data.style = args.style or args.estilo

	-- Indenta??o para listas horizontais
	if listType == 'horizontal' or listType == 'horizontal_ordered' then
		local indent 
		if args.indent then
			indent = tonumber(args.indent)
		else
			indent = tonumber(args.indentar)
		end
		indent = indent and indent * 1.6 or 0
		if indent > 0 then
			data.marginLeft = indent .. 'em'
		end
	end
	
	-- Tipos de estilo de lista para listas ordenadas.
	-- Isto pode ser "1, 2, 3", "a, b, c" ou vários outros. O tipo de estilo de 
	-- lista é definido pelo atributo "type" ou pela propriedade de CSS
	-- "list-style-type".
	if listType == 'ordered' or listType == 'horizontal_ordered' then 
		data.listStyleType = args.list_style_type or args['list-style-type'] or args.lista_estilo_tipo or args['lista-estilo-tipo']
		data.type = args['type'] or args['tipo']

		-- Detecta atributos de tipo inválidos e tenta convertê-los em
		-- propriedades de CSS de list-style-type.
		if data.type 
			and not data.listStyleType
			and not tostring(data.type):find('^%s*[1AaIi]%s*$')
		then
			data.listStyleType = data.type
			data.type = nil
		end
	end
	
	-- Tipo de tag de lista
	if listType == 'ordered' or listType == 'horizontal_ordered' then
		data.listTag = 'ol'
	else
		data.listTag = 'ul'
	end

	-- Número inicial para listas ordenadas
	data.start = args.start or args['início']
	if listType == 'horizontal_ordered' then
		-- Aplica corre??o para fazer com que os números iniciais funcionem com
		-- listas ordenadas horizontais.
		local startNum = tonumber(data.start)
		if startNum then
			data.counterReset = 'listitem ' .. tostring(startNum - 1)
		end
	end

	-- Estilo de lista 
	 -- ul_style e ol_style est?o incluídos para compatibilidade com vers?es 
	 -- anteriores. Nenhuma distin??o é feita para listas que s?o ordenadas ou 
	 -- que n?o s?o ordenadas.
	data.listStyle = args.list_style or args.lista_estilo

	-- Lista de itens
	-- li_style está incluído para compatibilidade com vers?es anteriores.
	-- item_style foi incluído para ser mais fácil de entender para os que n?o
	-- s?o programadores.
	data.itemStyle = args.item_style or args.li_style or args.item_estilo or args.li_estilo
	data.items = {}
	for _, num in ipairs(mTableTools.numKeys(args)) do
		local item = {}
		item.content = args[num]
		item.style = args['item' .. tostring(num) .. '_style']
			or args['item_style' .. tostring(num)] or args['item' .. tostring(num) .. '_estilo']
			or args['item_estilo' .. tostring(num)]
		item.value = args['item' .. tostring(num) .. '_value']
			or args['item_value' .. tostring(num)] or args['item' .. tostring(num) .. '_valor']
			or args['item_valor' .. tostring(num)]
		table.insert(data.items, item)
	end
	
	return data
end

function p.renderList(data)
	-- Renderiza a lista em HTML.
	
	-- Retorna a sequência (string) em branco se n?o houver itens na lista.
	if type(data.items) ~= 'table' or #data.items < 1 then
		return ''
	end
	
	-- Renderiza a tag div principal.
	local root = mw.html.create('div')
	for _, class in ipairs(data.classes or {}) do
		root:addClass(class)
	end
	root:css{['margin-left'] = data.marginLeft}
	if data.style then
		root:cssText(data.style)
	end

	-- Renderiza a tag da lista.
	local list = root:tag(data.listTag or 'ul')
	list
		:attr{start = data.start, type = data.type}
		:css{
			['counter-reset'] = data.counterReset,
			['list-style-type'] = data.listStyleType
		}
	if data.listStyle then
		list:cssText(data.listStyle)
	end

	-- Renderiza os itens da lista
	for _, t in ipairs(data.items or {}) do
		local item = list:tag('li')
		if data.itemStyle then
			item:cssText(data.itemStyle)
		end
		if t.style then
			item:cssText(t.style)
		end
		item
			:attr{value = t.value}
			:wikitext(t.content)
	end

	return data.templatestyles .. tostring(root)
end

function p.renderTrackingCategories(args)
	local isDeprecated = false -- Rastreia parametros obsoletos.
	for k, v in pairs(args) do
		k = tostring(k)
		if k:find('^item_style%d+$') or k:find('^item_value%d+$') then
			isDeprecated = true
			break
		end
	end
	local ret = ''
	if isDeprecated then
		ret = ret .. '[[Categoria:!Predefini??es de lista com parametros obsoletos]]'
	end
	return ret
end

function p.makeList(listType, args)
	if not listType or not listTypes[listType] then
		error(string.format(
			"argumento #1 inválido para 'makeList' ('%s' n?o é um tipo de lista válido)",
			tostring(listType)
		), 2)
	end
	checkType('makeList', 2, args, 'table')
	local data = p.makeListData(listType, args)
	local list = p.renderList(data)
	local trackingCategories = p.renderTrackingCategories(args)
	return list .. trackingCategories
end

for listType in pairs(listTypes) do
	p[listType] = function (frame)
		local mArguments = require('Módulo:Arguments')
		local origArgs = mArguments.getArgs(frame, {
			valueFunc = function (key, value)
			if not value or not mw.ustring.find(value, '%S') then return nil end
			if mw.ustring.find(value, '^%s*[%*#;:]') then
				return value
			else
				return value:match('^%s*(.-)%s*$')
			end
			return nil
		end
		})
		-- Copia todos os argumentos para uma nova tabela, para uma indexa??o 
		-- mais rápida.
		local args = {}
		for k, v in pairs(origArgs) do
			args[k] = v
		end
		return p.makeList(listType, args)
	end
end

return p
千年杀是什么 蓝加红是什么颜色 肾衰透析病人吃什么好 死皮是什么 红男绿女是什么生肖
胃疼拉肚子吃什么药 口比念什么 后背一推就出痧是什么原因 老人嗜睡是什么征兆 阁楼是什么意思
心脏不舒服做什么检查 指尖脱皮是什么原因 水逆是什么意思 缺硒有什么症状 临床表现是什么意思
哭有什么好处 老是放屁吃什么药 秘鲁说什么语言 氨咖黄敏胶囊治什么 头发黄是什么原因
2023年是属什么生肖weuuu.com 女性憋不住尿是什么原因hcv8jop4ns2r.cn 养狗的人容易得什么病hcv9jop4ns9r.cn 日本投降是什么时候hcv9jop3ns2r.cn 脑血栓什么症状hcv8jop5ns2r.cn
戊肝抗体igg阳性是什么意思jinxinzhichuang.com khaki是什么颜色hcv7jop9ns6r.cn 什么动物菩萨心肠hcv9jop3ns8r.cn 童五行属什么hcv9jop4ns7r.cn 点灯是什么意思hcv7jop6ns2r.cn
眼窝凹陷是什么原因hcv9jop2ns2r.cn 糜烂性胃炎吃什么药好aiwuzhiyu.com 七月有什么节日hcv7jop9ns0r.cn 鸡犬不宁是什么生肖hcv8jop6ns0r.cn 三月是什么星座hcv9jop6ns6r.cn
先考是什么意思hcv9jop5ns6r.cn 什么的小草hcv7jop6ns4r.cn 与世无争是什么意思hcv8jop1ns5r.cn 三个降号是什么调jasonfriends.com 屈打成招是什么意思hcv8jop5ns9r.cn
百度