三点水加个真念什么| 药占比什么意思| 尘埃落定什么意思| qt是什么意思| 时柱比肩是什么意思| 博物馆里有什么| nb什么牌子| 同房后小腹痛什么原因| 每天吃松子有什么好处| 安琪儿是什么意思| 2006年出生的是什么命| 4月29日是什么星座| spi是什么意思| versace什么牌子| 高血压头晕吃什么药| 芥末是什么做的| 血沉高说明什么| 肠溶片和缓释片有什么区别| 吃什么排宿便清肠彻底| 宾字五行属什么| 心慌是什么感觉| 龛是什么意思| 什么人不能喝绿豆汤| 惊讶表情是什么意思| 心脏在人体什么位置| 左肺上叶钙化灶什么意思| 消渴是什么意思| 吃什么疏通血管最快| 收入是什么意思| 林格液又叫什么| 立刀旁的字和什么有关| 唏嘘不已的意思是什么| 八仙桌是什么生肖| 鼻子上长痘痘是什么原因| 打眼是什么意思| 山丘是什么意思| 排骨搭配什么菜好吃| 亲什么意思| 前列腺增生是什么原因引起的| 人体的三道防线是什么| 中国肤药膏有什么功效| 草酸是干什么用的| 孤独症有什么表现| 痛风反复发作什么原因| 阳气不足吃什么药| 喝酒后肚子疼什么原因| 慢性肠炎吃什么药调理| 血红蛋白低吃什么可以补起来| 梦见下小雨是什么征兆| 胸口长痘痘是什么原因| 2000年是什么龙| other是什么意思| 女性得疱疹是什么症状| 铁树开花什么意思| 凯格尔运动是什么| 肚子长痘痘是什么原因| 护照办理需要什么材料| 观音菩萨是保佑什么的| 献血有什么好处和坏处| 做梦梦到屎什么意思| 软是什么意思| 胰岛素是干什么用的| 国窖1573是什么香型| 梦见塌方是什么预兆| 975是什么意思| 指甲上有竖纹是什么原因| fw什么意思| 常字五行属什么| 一什么树| 脑梗不能吃什么东西| 手心出汗是什么原因| 为什么会得湿疹| 类固醇是什么东西| 掉头发多是什么原因| 锁骨下面的骨头叫什么| 车震什么意思| 等着我为什么停播了| 宁波有什么特产| 孩子记忆力差吃什么好| 内痔疮用什么药治最好效果最快| 新生婴儿吃什么奶粉| 蚁后长什么样| 办身份证穿什么颜色衣服| 初恋什么意思| 女人脸黄是什么原因该怎么调理| 岚字五行属什么| 1993年五行属什么| 60岁属什么| 邮政什么时候上班| 什么远什么长| 1924年属什么生肖| 什么叫杵状指| 肌肉疼是什么原因| 胃胀想吐吃什么药| 什么花是红色的| 耳膜破了有什么症状| 女性解脲支原体阳性是什么意思| 白加黑是什么药| 吃香菜有什么好处| 钟乳石是什么| 口苦口干是什么原因造成的| 亲故是什么意思| 虹霓是什么意思| 全身发麻是什么原因| 什么关系| 骨质疏松是什么原因引起的| 小猫起什么名字好听| 叶黄素有什么功效| 病人出院送什么花| 杆鱼是什么鱼| cdf是什么意思| 澳门是什么时候被葡萄牙占领的| gr是什么单位| 什么花在春天开| 什么叫种草| hoka跑鞋中文叫什么| 不遗余力什么意思| 蛋白电泳是查什么的| 饿是什么感觉| 大姨妈期间不能吃什么东西| 冠状动脉钙化什么意思| 1976年五行属什么| 甲状腺tsh高说明什么| 抚触是什么意思| 金利来皮带属于什么档次| bpo是什么意思啊| 吃豆角中毒什么症状| 精神什么满| 梦见殡仪馆是什么意思| 总胆红素升高是什么原因| 2010年是什么命| 心室预激是什么意思| 鼻涕带血是什么原因引起的| 淋巴结肿大有什么症状| 刺梨根泡酒有什么功效| 梦见马是什么预兆| 做肠镜前一天可以吃什么| 时蔬是什么意思| 情绪化什么意思| 痔疮初期症状是什么| 乙肝核心抗体高是什么意思| 普拉提和瑜伽有什么区别| 营销号是什么| 尿潜血是什么原因造成的| 呦西是什么意思| claire是什么意思| 三亚在海南的什么位置| 例假一个月来两次是什么原因| 梦见自己出轨是什么意思| 脚趾头抽筋是什么原因| 产后42天复查挂什么科| 什么时候量血压最准| 白猫进家有什么预兆| 什么是标准差| 01属什么| 手指甲凹凸不平是什么原因| 马润什么意思| 牙签肉是什么肉| 吃什么油最好| 花魁是什么意思| 尼古丁是什么东西| 沙葱是什么| 焚书坑儒什么意思| 检查肺部最好做什么检查| 囊肿长什么样子图片| 睡不着觉是什么原因引起的| 30岁属什么的生肖| 什么人容易怀葡萄胎| 十年大运是什么意思| 排骨炖什么汤好喝| 男孩学什么专业有前途| 盐酸哌替啶是什么药| aimer是什么意思| 潘驴邓小闲是什么意思| 鱼腥草不能和什么一起吃| 为什么不| 女人的排卵期一般是什么时候| 吃什么利尿最快| 什么爱心| 云南有什么少数民族| oc是什么意思| 鼻子红是什么原因| 伤口出水是什么原因| 羧甲基纤维素钠是什么| 三文鱼和什么不能一起吃| 内热外寒感冒用什么药| 甘草泡水喝有什么功效| 右侧卵巢多囊样改变是什么意思| 升结肠管状腺瘤是什么意思| 空腹血糖17已经严重到什么时候| 什么叫介入手术| 粉丝炒什么好吃| 什么是三观| 类风湿吃什么药最有效| 缺血灶是什么病| 小月子是什么意思| 头发掉是什么原因引起的| 七情六欲是什么意思| 手指甲空了是什么原因| 黑豆有什么功效| 手电筒的金属外壳相当于电路中的什么| 孕晚期白细胞高是什么原因| 打胶原蛋白针有什么副作用吗| 尿酸高是什么原因引起的| 沙门氏菌用什么药最好| 荔枝有什么作用| 孕妇梦见掉牙齿是什么意思| 致五行属什么| 白蛇是什么蛇| 口干口苦什么原因| 小腿酸胀痛是什么原因| 脐动脉2条是什么意思| 梦见床是什么意思| 晕倒是什么原因引起的| 2009年属什么生肖| 脂肪酸是什么| 经常落枕是什么原因引起的| cta是什么检查| 白癜风是什么症状| 孩子脾胃虚弱吃什么药| 仓鼠吃什么| 射频消融术是什么手术| 三月是什么生肖| 维生素b6有什么作用| 射手是什么象星座| 肉是什么结构的字| moncler是什么牌子| 甲状腺功能是什么| 甘少一横是什么字| 什么的挑选| 二大爷是什么意思| 牙科属于什么科| 姘头是什么意思| 心慌气短胸闷吃什么药| 荨麻疹可以吃什么食物| 坐疮是什么样的图片| nct是什么意思| 梅长苏结局是什么| 河南有什么美食| navigare是什么牌子| 梦见病人好了什么预兆| 喜怒无常是什么意思| 骨密度z值是什么意思| 佞臣什么意思| 什么是ct| 女性安全期是什么时候| 94年是什么命| 靳东妹妹叫什么名字| 不变应万变是什么意思| 什么是abo| bgb是什么意思| 鲶鱼效应是什么意思| 七月份吃什么水果| 下嘴唇溃疡是什么原因| 什么鸡不能吃| 什么食物养胃又治胃病| 疱疹一般长在什么部位| 吃什么长高| 黄斑前膜是什么病| 婴儿睡觉头上出汗多是什么原因| 念力是什么意思| 太行山在什么地方| 维生素c是补什么的| 什么牌子充电宝好| 百度跳转到内容

腾讯确认代理《火箭联盟》国区 官网正式上线

被永久保护的模块
维基百科,自由的百科全书
(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

--------------------------------------------------------------------------------
--                                                                            --
--                              CATEGORY HANDLER                              --
--                                                                            --
--      This module implements the {{category handler}} template in Lua,      --
--      with a few improvements: all namespaces and all namespace aliases     --
--      are supported, and namespace names are detected automatically for     --
--      the local wiki. This module requires [[Module:Namespace detect]]      --
--      and [[Module:Yesno]] to be available on the local wiki. It can be     --
--      configured for different wikis by altering the values in              --
--      [[Module:Category handler/config]], and pages can be blacklisted      --
--      from categorisation by using [[Module:Category handler/blacklist]].   --
--                                                                            --
--------------------------------------------------------------------------------

-- Load required modules
local yesno = require('Module:Yesno')

-- Lazily load things we don't always need
local mShared, mappings

local p = {}

--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------

local function trimWhitespace(s, removeBlanks)
	if type(s) ~= 'string' then
		return s
	end
	s = s:match('^%s*(.-)%s*$')
	if removeBlanks then
		if s ~= '' then
			return s
		else
			return nil
		end
	else
		return s
	end
end

--------------------------------------------------------------------------------
-- CategoryHandler class
--------------------------------------------------------------------------------

local CategoryHandler = {}
CategoryHandler.__index = CategoryHandler

function CategoryHandler.new(data, args)
	local obj = setmetatable({ _data = data, _args = args }, CategoryHandler)
	
	-- Set the title object
	do
		local pagename = obj:parameter('demopage')
		local success, titleObj
		if pagename then
			success, titleObj = pcall(mw.title.new, pagename)
		end
		if success and titleObj then
			obj.title = titleObj
			if titleObj == mw.title.getCurrentTitle() then
				obj._usesCurrentTitle = true
			end
		else
			obj.title = mw.title.getCurrentTitle()
			obj._usesCurrentTitle = true
		end
	end

	-- Set suppression parameter values
	for _, key in ipairs{'nocat', 'categories'} do
		local value = obj:parameter(key)
		value = trimWhitespace(value, true)
		obj['_' .. key] = yesno(value)
	end
	do
		local subpage = obj:parameter('subpage')
		local category2 = obj:parameter('category2')
		if type(subpage) == 'string' then
			subpage = mw.ustring.lower(subpage)
		end
		if type(category2) == 'string' then
			subpage = mw.ustring.lower(category2)
		end
		obj._subpage = trimWhitespace(subpage, true)
		obj._category2 = trimWhitespace(category2) -- don't remove blank values
	end
	return obj
end

function CategoryHandler:parameter(key)
	local parameterNames = self._data.parameters[key]
	local pntype = type(parameterNames)
	if pntype == 'string' or pntype == 'number' then
		return self._args[parameterNames]
	elseif pntype == 'table' then
		for _, name in ipairs(parameterNames) do
			local value = self._args[name]
			if value ~= nil then
				return value
			end
		end
		return nil
	else
		error(string.format(
			'invalid config key "%s"',
			tostring(key)
		), 2)
	end
end

function CategoryHandler:isSuppressedByArguments()
	return
		-- See if a category suppression argument has been set.
		self._nocat == true
		or self._categories == false
		or (
			self._category2
			and self._category2 ~= self._data.category2Yes
			and self._category2 ~= self._data.category2Negative
		)

		-- Check whether we are on a subpage, and see if categories are
		-- suppressed based on our subpage status.
		or self._subpage == self._data.subpageNo and self.title.isSubpage
		or self._subpage == self._data.subpageOnly and not self.title.isSubpage
end

function CategoryHandler:shouldSkipBlacklistCheck()
	-- Check whether the category suppression arguments indicate we
	-- should skip the blacklist check.
	return self._nocat == false
		or self._categories == true
		or self._category2 == self._data.category2Yes
end

function CategoryHandler:matchesBlacklist()
	if self._usesCurrentTitle then
		return self._data.currentTitleMatchesBlacklist
	else
		mShared = mShared or require('Module:Category handler/shared')
		return mShared.matchesBlacklist(
			self.title.prefixedText,
			mw.loadData('Module:Category handler/blacklist')
		)
	end
end

function CategoryHandler:isSuppressed()
	-- Find if categories are suppressed by either the arguments or by
	-- matching the blacklist.
	return self:isSuppressedByArguments()
		or not self:shouldSkipBlacklistCheck() and self:matchesBlacklist()
end

function CategoryHandler:getNamespaceParameters()
	if self._usesCurrentTitle then
		return self._data.currentTitleNamespaceParameters
	else
		if not mappings then
			mShared = mShared or require('Module:Category handler/shared')
			mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData
		end
		return mShared.getNamespaceParameters(
			self.title,
			mappings
		)
	end
end

function CategoryHandler:namespaceParametersExist()
	-- Find whether any namespace parameters have been specified.
	-- We use the order "all" --> namespace params --> "other" as this is what
	-- the old template did.
	if self:parameter('all') then
		return true
	end
	if not mappings then
		mShared = mShared or require('Module:Category handler/shared')
		mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData
	end
	for ns, params in pairs(mappings) do
		for i, param in ipairs(params) do
			if self._args[param] then
				return true
			end
		end
	end
	if self:parameter('other') then
		return true
	end
	return false
end

function CategoryHandler:getCategories()
	local params = self:getNamespaceParameters()
	local nsCategory
	for i, param in ipairs(params) do
		local value = self._args[param]
		if value ~= nil then
			nsCategory = value
			break
		end
	end
	if nsCategory ~= nil or self:namespaceParametersExist() then
		-- Namespace parameters exist - advanced usage.
		if nsCategory == nil then
			nsCategory = self:parameter('other')
		end
		local ret = {self:parameter('all')}
		local numParam = tonumber(nsCategory)
		if numParam and numParam >= 1 and math.floor(numParam) == numParam then
			-- nsCategory is an integer
			ret[#ret + 1] = self._args[numParam]
		else
			ret[#ret + 1] = nsCategory
		end
		if #ret < 1 then
			return nil
		else
			return table.concat(ret)
		end
	elseif self._data.defaultNamespaces[self.title.namespace] then
		-- Namespace parameters don't exist, simple usage.
		return self._args[1]
	end
	return nil
end

--------------------------------------------------------------------------------
-- Exports
--------------------------------------------------------------------------------

local p = {}

function p._exportClasses()
	-- Used for testing purposes.
	return {
		CategoryHandler = CategoryHandler
	}
end

function p._main(args, data)
	data = data or mw.loadData('Module:Category handler/data')
	local handler = CategoryHandler.new(data, args)
	if handler:isSuppressed() then
		return nil
	end
	return handler:getCategories()
end

function p.main(frame, data)
	data = data or mw.loadData('Module:Category handler/data')
	local args = require('Module:Arguments').getArgs(frame, {
		wrappers = data.wrappers,
		valueFunc = function (k, v)
			v = trimWhitespace(v)
			if type(k) == 'number' then
				if v ~= '' then
					return v
				else
					return nil
				end
			else
				return v
			end
		end
	})
	return p._main(args, data)
end

return p
象牙白适合什么肤色 血铅是什么 婴儿湿疹用什么 红外线是什么 婴儿吃手是什么原因
为什么没有西京 鬼压床是什么 试管什么降调 驿站什么意思 取环需要做什么检查
咽喉炎是什么症状 什么样的柳树 一什么野菜 嘚是什么意思 福寿延绵是什么意思
舌苔很白是什么原因 尿频是什么原因引起的 抽象是什么意思 puma是什么品牌 细佬什么意思
心境情感障碍是什么病hcv9jop2ns9r.cn 红细胞偏高是什么病hcv8jop3ns1r.cn 广西有什么市hcv9jop1ns1r.cn 本科二批是什么意思xinmaowt.com 空腹c肽偏高说明什么hcv7jop6ns7r.cn
什么水晶招财旺事业hcv9jop1ns0r.cn 麝香什么味道hcv9jop5ns2r.cn 喷砂是什么意思hcv9jop4ns4r.cn 月办念什么hcv7jop7ns3r.cn nlp是什么hcv7jop9ns1r.cn
g是什么牌子hcv8jop7ns4r.cn 香菜吃多了有什么坏处kuyehao.com 7月去英国穿什么hcv8jop5ns2r.cn 肚子响是什么原因hcv9jop1ns4r.cn 莜面是什么面hcv8jop9ns1r.cn
胰腺不舒服是什么症状hcv8jop2ns8r.cn 葛根是什么东西hcv8jop7ns2r.cn 圆脸适合什么发型短发hcv7jop9ns9r.cn 黄皮果什么味道hcv8jop7ns1r.cn 文房四宝指的是什么hcv8jop0ns4r.cn
百度