今天是什么节气| 增强免疫力吃什么药| acs是什么| 什么叫腺肌瘤| 7月7日什么星座| 棺材一般用什么木头| 产妇吃什么水果| 心电图能查出什么| 五味子不适合什么人喝| 老鳖吃什么| 可可是什么饮料| 狐臭挂什么科| 膝关节退行性变是什么意思| 什么是格言| 开水烫伤用什么药膏好得快| 辗转是什么意思| 周杰伦什么学历| 生肖鼠和什么生肖相冲| 1997年属什么| 神经性梅毒有什么症状| 生化什么意思| 肠道炎有什么症状| 2009是什么年| 什么树| 卡宾男装属于什么档次| 后厨打荷是干什么的| 憨是什么意思| 属马的跟什么属相犯冲| 受持是什么意思| 非淋菌尿道炎用什么药| 含服是什么意思| 哮喘病应该注意什么| 有什么组词| siri什么意思| 青梅竹马是什么意思| 蝙蝠为什么倒挂着睡觉| 夜里咳嗽是什么原因| everytime什么意思| 新疆人为什么长得像外国人| 摩拳擦掌是什么意思| 为什么山东人个子高| 五味子有什么功效和作用| 跑步腰疼是什么原因| 什么药降尿酸最好| 市委讲师团是什么级别| 拍胸片能检查出什么| 急性阴道炎是什么引起的| 下嘴唇跳动是什么原因| 青睐什么意思| 用凝胶排出豆腐渣一样的东西是什么原因| 大学院长是什么级别| 霜和乳有什么区别| 没有什么| 半夜尿多是什么原因| 扬州有什么好吃的| 牙痛是什么原因引起的| 双非是什么意思| 直肠前突有什么症状| 全职太太是什么意思| 为什么总是梦见一个人| 前列腺钙化灶是什么| 华侨是什么| 什么孕妇容易怀脑瘫儿| 桃胶什么时候采摘最好| 手麻是什么病的预兆| 怒发冲冠是什么意思| 手麻是什么情况| 先兆性流产有什么症状| 六月是什么星座| 梅毒为什么会自愈| 湿气重吃什么调理| 老是低血糖是什么原因| 公务员是做什么工作的| 欲语还休是什么意思| 手腕疼痛挂什么科| 为什么前壁容易生男孩| 早搏的症状是什么表现| 淋巴结增大是什么原因严重吗| 参事是什么级别| 宝宝不爱喝水有什么好的办法吗| 老人头晕是什么原因引起的| 荔枝什么人不能吃| 07是什么生肖| 每日家情思睡昏昏什么意思| 蜈蚣吃什么食物| 铁棍山药和普通山药有什么区别| pd1是什么意思| 为什么心细的男人危险| 美尼尔眩晕症吃什么药| 金匮肾气丸主治什么病| 未属什么五行| 刺猬和豪猪有什么区别| 出汗有什么好处| 胯骨在什么位置| 女人脾肾两虚吃什么好| 被毒蛇咬了有什么症状| 怀孕周期是从什么时候开始算的| 乳腺增生有什么症状| 女人嘴唇发紫是什么病| 小孩放屁很臭是什么原因| 什么是brt| 绝情是什么意思| 第一磨牙什么时候换| 牛鞭是什么部位| 尽收眼底是什么意思| 一五行属性是什么| 猫叫什么名字好听| 当局是什么意思| 感冒发烧吃什么药| 火龙果什么时候成熟| 湖北有什么好玩的地方| 尿酸挂什么科| sp是什么意思| 8月8号是什么星座| 颈部淋巴结挂什么科| 什么是前鼻音和后鼻音| 拉肚子恶心想吐吃什么药| 浑浊是什么意思| 二氧化碳低是什么原因| 甲状腺功能检查挂什么科| EPS什么意思| 韧带损伤有什么症状| 早上起床咳嗽是什么原因| 换肾是什么病| 美国为什么有两块土地| 74年属虎是什么命| mophie是什么牌子| 抬头头晕是什么原因| 04年出生属什么| ai是什么| 2017属什么生肖| 征求是什么意思| 什么叫血压| 亲吻是什么感觉| 坐飞机需要带什么证件| 金刚菩提是什么植物的种子| 黄瓜和什么不能一起吃| 梦见死去的姥姥是什么意思| 机长是什么意思| 十月二十六是什么星座| 薪字五行属什么| 蕙质兰心什么意思| 方脸适合什么发型| 寒颤是什么意思| 什么是醪糟| 陈凯歌为什么不娶倪萍| 鸡蛋炒什么| 腺样体肥大挂什么科| 玄武岩属于什么岩石| 星期三左眼皮跳是什么预兆| 农历十月份是什么星座| 间是什么结构| 1968年什么时候退休| 香港为什么不用人民币| 嗓子沙哑吃什么药| 喉咙溃疡吃什么药| bcc是什么意思| 阴唇痒是什么原因| 纯度是什么意思| 经期洗头有什么危害| 献血后吃什么| 3月21日什么星座| 查乙肝五项挂什么科| 黑五是什么| 什么精神成语| 仪字五行属什么| 顽固不化是什么意思| 新生儿囟门什么时候闭合| 宫颈hpv感染是什么病| 肺癌有什么症状| 低血压吃什么药效果好| 空调自动关机什么原因| 29周岁属什么生肖| 什么是男人| tr是什么意思| 行房出血是什么原因| 兵字五行属什么| 尿常规检查挂什么科| 什么都想要| 叶公好龙讽刺了什么| 什么洗发水去屑好| bigbang是什么意思| 1990属马的是什么命| 羡慕的意思是什么| 眼拙是什么意思| 彗星为什么有尾巴| 两脚发热是什么原因| 摩尔是什么| 抗链球菌溶血素o偏高是什么原因| dwi是什么意思| 伊朗用什么货币| 单活胎是什么意思| 姐姐的女儿叫什么| 血小板平均体积偏高是什么意思| 慢性肾功能不全是什么意思| 食指长痣代表什么| 热玛吉是做什么的| 4月15日是什么日子| 谷草转氨酶是指什么| 天降横财什么意思| 电信查流量打什么电话| 农历11月14日是什么星座| 7777什么意思| 脚心出汗是什么原因女| 胰腺上长瘤意味着什么| 负责是什么意思| 鸟吃什么食物| 7月29日什么星座| 今年80岁属什么生肖| 私处痒用什么药| 什么那是什么吧| 光子嫩肤是什么| 中国属于什么亚| 右脸麻木是什么原因| 月季什么时候扦插最好| 湿疹是什么样的症状| 抗氧化是什么意思| 北极有什么动物| 一什么铅笔| 梦见老人去世预示什么| 拟物是什么意思| 下巴的痣代表什么| 流产挂什么科| 生小孩有什么补贴政策| 女人下嘴唇厚代表什么| 融合菜是什么意思| study是什么意思| 养蛊是什么意思| 鼻子大说明什么| 狗狗感冒了是什么症状| 阴道杆菌是什么意思| 看破红尘是什么意思| 梦见红色的蛇是什么意思| mfr是什么意思| 户口本可以干什么坏事| 梦见小葱是什么意思| 口腔溃疡是缺什么维生素| 来字五行属什么| papi是什么意思| 梦见好多老鼠是什么意思| 性早熟是什么意思| 景深是什么意思| 青是什么颜色| 塔丝隆是什么面料| 什么是耽美| 为什么会起鸡皮疙瘩| 鱼丸是什么做的| 梦见修路是什么预兆| 盆腔炎是什么原因引起的| 做什么行业最赚钱| 宫颈糜烂是什么| 女生两个月没来月经是什么原因| 气胸是什么原因引起的| 什么是生源地| 一级亲属指的是什么| 家里进黄鼠狼是什么预兆| 经常感觉饿是什么原因| 自我是什么意思| 痔疮用什么药膏最好| canon是什么意思| 女性喝红茶有什么好处| 一个人在家无聊可以做什么| 高血压吃什么药| 卦不走空是什么意思| 百度跳转到内容

英媒:人民币全球使用量回落 为全球第八大交易货币

被永久保护的模块
维基百科,自由的百科全书

--[==[ This module is a Lua implementation of the old {{Portal}} template. As of August 2013 it is used on nearly 5,000,000 articles.
-- Please take care when updating it! It outputs two functions: p.portal, which generates a list of portals, and p.image, which
-- produces the image name for an individual portal.

-- The portal image data is kept in submodules of [[Module:Portal/images]], listed below:
-- [[Module:Portal/images/letter]]		
-- [[Module:Portal/images/chinese]]		
-- [[Module:Portal/images/other]]	- for portal names beginning with any other letters. This includes numbers,
-- 									  letters with diacritics, and letters in non-Latin alphabets.
-- [[Module:Portal/images/aliases]]	- for adding aliases for existing portal names. Use this page for variations
-- 									  in spelling and diacritics, etc., no matter what letter the portal begins with.
--
-- The images data pages are separated by the first letter to reduce server load when images are added, changed, or removed.
-- Previously all the images were on one data page at [[Module:Portal/images]], but this had the disadvantage that all
-- 5,000,000 pages using this module needed to be refreshed every time an image was added or removed.
]==]

local p = {}

local function matchImagePage(s)
	-- Finds the appropriate image subpage given a lower-case
	-- portal name plus the first letter of that portal name.
	if type(s) ~= 'string' or #s < 1 then return end
	local firstLetter = mw.ustring.sub(s, 1, 1)
	local imagePage
	if mw.ustring.find(firstLetter, '^[a-z]') then
		imagePage = 'Module:Portal/images/letter'
	else
		imagePage = 'Module:Portal/images/chinese'
	end
	-- Hey, we have a thing called "other"
	return mw.loadData(imagePage)[s] or
		   mw.loadData('Module:Portal/images/other')[s]
end

local function getAlias(s)
	-- Gets an alias from the image alias data page.
	local aliasData = mw.loadData('Module:Portal/images/aliases')
	return aliasData[s]
end

local function getImageName(s)
	-- Gets the image name and the un-aliased "normal name" for a given portal.
	local default = 'Portal-puzzle.svg|link=|alt='
	if type(s) ~= 'string' or #s < 1 then
		return default
	end
	local sl = mw.ustring.lower(s)
	local sr = s
	local img = matchImagePage(sl)
	if not img then
		sr = getAlias(sl)
		if sr then
			img = matchImagePage(mw.ustring.lower(sr))
		end
		if not img then
			img = default
			sr = s
		end
	end
	return img, sr
end

function p._portal(portals, args)
	-- This function builds the portal box used by the {{portal}} template.
	local root = mw.html.create('div')
		:attr('role', 'navigation')
		:attr('aria-label', 'Portals')
		:addClass('noprint portal plainlist')
		:addClass(args.left and 'tleft' or 'tright')
		:css('margin', args.margin or (args.left == 'yes' and '0.5em 1em 0.5em 0') or '0.5em 0 0.5em 1em')
		:css('border', 'solid #aaa 1px')
		:newline()

	-- If no portals have been specified, display an error and add the page to a tracking category.
	if not portals[1] then
		-- zhwp compat: name={{{1}}}|image={{{image1}}}
		-- no tracking needed as no expensive involved
		if args['name'] ~= nil then
			portals[1] = args['name']
			args['image1'] = args['image']
		else
			root:wikitext('<strong class="error">未指定主题:请至少添加一个主题</strong>[[Category:Portal模版没有使用参数]]')
			return tostring(root)
		end
	end

	-- Start the list. This corresponds to the start of the wikitext table in the old [[Template:Portal]].
	local listroot = root:tag('ul')
		:css('display', 'table')
		:css('box-sizing', 'border-box')
		:css('padding', '0.1em')
		:css('max-width', '175px')
		:css('width', type(args.boxsize) == 'string' and (args.boxsize .. 'px') or nil)
		:css('background', 'var(--background-color-base,#f9f9f9)')
		:css('font-size', '85%')
		:css('line-height', '110%')
		:css('font-weight', 'bold')

    -- zhwp compatibility: check for |2= as |image1
    local compat_image1 = false
    if #portals == 2 and (args['image1'] == nil) then
    	local file = portals[2]
    	local parts = mw.text.split(file, '%.')
    	if #parts > 1 then
	    	local ext = (parts[#parts]):lower()
	    	-- likely
	    	if #ext == 3 or #ext == 4 then
	    		local assume_img = (ext == 'png') or (ext == 'jpg') or (ext == 'svg')
	    		-- expensive, hence pre-checks & assumption
	    		if assume_img or mw.title.new(file, 'Media').exists then
		    		args['image1'] = portals[2]
		    		compat_image1 = true
		    		table.remove(portals, 2)
	    		end
			end
		end
	end

	-- Display the portals specified in the positional arguments.
	for i, portal in ipairs(portals) do
		-- Support |image1= |image2= ...
		-- Rationale: [[Template:WPBannerMeta]] usage.
		local image = ''
		if args['image' .. tostring(i)] ~= nil then
			image = args['image' .. tostring(i)] .. '|alt=' .. portal
		else
			-- get the alias too
			image, portal = getImageName(portal)
		end

		-- Generate the html for the image and the portal name.
		listroot
			:newline()
			:tag('li')
				:css('display', 'table-row')
				:tag('span')
					:css('display', 'table-cell')
					:css('padding', '0.2em')
					:css('vertical-align', 'middle')
					:css('text-align', 'center')
					:wikitext(string.format('[[File:%s|32x28px|class=noviewer]]', image))
					:done()
				:tag('span')
					:css('display', 'table-cell')
					:css('padding', '0.2em 0.2em 0.2em 0.3em')
					:css('vertical-align', 'middle')
					:wikitext(string.format('[[Portal:%s|%s主题]]', portal, portal))
	end
	local ret = tostring(root)
	if compat_image1 == true then
		ret = ret .. '[[Category:使用2號參數傳遞Portal模板圖像的頁面]]'
	end
	return ret
end

function p._image(portals)
	-- Wrapper function to allow getImageName() to be accessed through #invoke.
	local name = getImageName(portals[1])
	return name:match('^(.-)|') or name -- FIXME: use a more elegant way to separate borders etc. from the image name
end

local function getAllImageTables()
	-- Returns an array containing all image subpages (minus aliases) as loaded by mw.loadData.
	local images = {}
	for i, subpage in ipairs{'letter', 'chinese', 'other'} do
		images[i] = mw.loadData('Module:Portal/images/' .. subpage)
	end
	return images
end

function p._displayAll(portals, args)
	-- This function displays all portals that have portal images. This function is for maintenance purposes and should not be used in
	-- articles, for two reasons: 1) there are over 1500 portals with portal images, and 2) the module doesn't record how the portal
	-- names are capitalized, so the portal links may be broken.
	local lang = mw.language.getContentLanguage()
	local count = 1
	for _, imageTable in ipairs(getAllImageTables()) do
		for portal in pairs(imageTable) do
			portals[count] = lang:ucfirst(portal)
			count = count + 1
		end
	end
	return p._portal(portals, args)
end

function p._imageDupes()
	-- This function searches the image subpages to find duplicate images. If duplicate images exist, it is not necessarily a bad thing,
	-- as different portals might just happen to choose the same image. However, this function is helpful in identifying images that
	-- should be moved to a portal alias for ease of maintenance.
	local exists, dupes = {}, {}
	for _, imageTable in ipairs(getAllImageTables()) do
		for portal, image in pairs(imageTable) do
			if not exists[image] then
				exists[image] = portal
			else
				table.insert(dupes, string.format('The image "[[:File:%s|%s]]" is used for both portals "%s" and "%s".', image, image, exists[image], portal))
			end
		end
	end
	if #dupes < 1 then
		return 'No duplicate images found.'
	else
		return 'The following duplicate images were found:\n* ' .. table.concat(dupes, '\n* ')
	end
end

local function processPortalArgs(args)
	-- This function processes a table of arguments and returns two tables: an array of portal names for processing by ipairs, and a table of
	-- the named arguments that specify style options, etc. We need to use ipairs because we want to list all the portals in the order
	-- they were passed to the template, but we also want to be able to deal with positional arguments passed explicitly, for example
	-- {{portal|2=Politics}}. The behaviour of ipairs is undefined if nil values are present, so we need to make sure they are all removed.
	args = type(args) == 'table' and args or {}
	local portals = {}
	local namedArgs = {}
	for k, v in pairs(args) do
		if type(k) == 'number' and type(v) == 'string' then -- Make sure we have no non-string portal names.
			table.insert(portals, k)
		elseif type(k) ~= 'number' then
			namedArgs[k] = v
		end
	end
	table.sort(portals)
	for i, v in ipairs(portals) do
		portals[i] = args[v]
	end
	return portals, namedArgs
end

local function makeWrapper(funcName)
	-- Processes external arguments and sends them to the other functions.
	return function (frame)
		-- If called via #invoke, use the args passed into the invoking
		-- template, or the args passed to #invoke if any exist. Otherwise
		-- assume args are being passed directly in from the debug console
		-- or from another Lua module.
		local origArgs
		if type(frame.getParent) == 'function' then
			origArgs = frame:getParent().args
			for k, v in pairs(frame.args) do
				origArgs = frame.args
				break
			end
		else
			origArgs = frame
		end
		-- Trim whitespace and remove blank arguments.
		local args = {}
		for k, v in pairs(origArgs) do
			if type(v) == 'string' then
				v = mw.text.trim(v)
			end
			if v ~= '' then
				args[k] = v
			end
		end
		return p[funcName](processPortalArgs(args)) -- passes two tables to func: an array of portal names, and a table of named arguments.
	end
end

for _, funcName in ipairs{'portal', 'image', 'imageDupes', 'displayAll'} do
	p[funcName] = makeWrapper('_' .. funcName)
end

return p
可颂是什么意思 强心针是什么 gm什么意思 昆仑玉什么颜色最贵 子午流注是什么意思
去医院看头发挂什么科 痛风吃什么药最好 一厢情愿是什么生肖 金融bp是什么意思 双红出彩是什么生肖
o型血的父母是什么血型 心脑血管供血不足吃什么药 藿香正气水有什么用 京东京豆有什么用 750金是什么金
人参和什么泡酒最好 胃病烧心吃什么药好 脚发烫是什么原因 独善其身是什么意思啊 皮夹克是什么意思
女命正印代表什么hcv8jop9ns3r.cn 好吃懒做的动物是什么生肖hcv9jop0ns8r.cn epl是什么意思hcv8jop9ns9r.cn 月经为什么叫大姨妈bjhyzcsm.com 打猎是什么意思hcv9jop2ns8r.cn
鱼翅配什么煲汤最好hcv8jop9ns6r.cn 孕妇能喝什么茶tiangongnft.com 腿麻是什么原因hcv9jop4ns4r.cn 颈椎生理曲度变直是什么意思hcv8jop1ns3r.cn 南什么北什么的成语xinjiangjialails.com
9.20号是什么星座hcv8jop9ns8r.cn 脱相是什么意思hcv7jop5ns4r.cn 为什么会长子宫肌瘤gysmod.com 莲子是什么hcv8jop1ns9r.cn 内敛是什么意思wzqsfys.com
用什么泡脚减肥最快hcv7jop9ns2r.cn 晟怎么读什么意思travellingsim.com 请教意思是什么hcv9jop1ns0r.cn 1968年五行属什么hcv9jop6ns4r.cn 同舟共济是什么意思hcv9jop5ns4r.cn
百度