有兽档案馆
搜索
切换搜索
切换菜单
切换个人菜单
查看“Module:Tl”的源代码
来自有兽档案馆
阅读
查看源代码
查看历史
模块
讨论
更多操作
←
Module:Tl
因为以下原因,您没有权限编辑该页面:
您所请求的操作,仅限具有
注册用户
、
自动确认用户
、
管理员
、
界面管理员
、
优质编辑者
、
确认用户
、
巡查员
、
档案理事员
等
权限
的
用户
执行。
若您尚未登录有兽档案馆账号,请您
登录
有兽档案馆账号后操作。
您尚未完成电子邮件确认,因此操作受限,请尽快
完成电子邮件确认
。
若您无法完成前述手续,请通过适当渠道请求管理员或档案理事员协助。
您可以查看和复制此页面的源代码。
若您无权编辑本页面,您可以
提出编辑请求
,提请有权限者代为编辑。
local p = {} function p._tlRaw(args, params) local generateLinks = params.generateLinks local substPrefix = params.substPrefix local isCode = params.isCode local templateName = args[1] if (not templateName) or templateName=='' then return '' end do if params.isSubst then substPrefix = substPrefix or 'subst' end local _subst, _templateName = templateName:match'(.-)%:(.+)' if _subst=='subst' or _subst=='safesubst' or _subst=='msgnw' then substPrefix = _subst templateName = _templateName end end local argsList = {} local numKeyList = {} local strKeyList = {} local maxNumKey = 0 if generateLinks and not templateName:find '^%#' then templateName = '[[' .. tostring(mw.title.makeTitle('Template',templateName) or templateName) .. '|' .. templateName .. ']]' end if substPrefix then table.insert(argsList, substPrefix .. ':'..templateName) else table.insert(argsList, templateName) end for k,v in pairs(args) do if type(k)=='number' then maxNumKey = math.min(math.max(maxNumKey,k),20) elseif type(k)=='string' then table.insert(strKeyList, k) end end table.sort(strKeyList) for k=2,maxNumKey,1 do local v=args[k] table.insert(argsList, v) end for i,k in ipairs(strKeyList) do local v=args[k] table.insert(argsList, k..'='..v) end local result = '{{' .. table.concat(argsList,'|') .. '}}' if isCode then return '<code>' .. result .. '</code>' else return result end end function p._tl(frameArgs, defaultParams) local params = {generateLinks = true} if defaultParams then -- 考虑传入到这里的defaultParams实质上也是frame的变量, -- 故需要进行迭代重写。 for k,v in pairs(defaultParams) do if v=='1' then params[k] = true elseif v=='0' then params[k] = false end end end local args = {} for k,v in pairs(frameArgs) do -- 这种情况下,不应该忽略空白变量。 if k == 'isCode' or k == 'isSubst' or k == 'generateLinks' then if v=='1' then params[k] = true elseif v=='0' then params[k] = false else args[k] = v -- 这种情况下,这个变量作为正式变量,不作为params end elseif k == 'substPrefix' then params[k] = v else args[k] = v end end return p._tlRaw(args,params) end function p.tl(frame) -- 这时候该函数用于模板tl、tlc……了 return p._tl(frame:getParent().args, frame.args) -- 这里的前者相当于args,后者相当于defaultParams end return p
该页面使用的模板:
Module:Arguments
(
查看源代码
)
Module:Documentation
(
查看源代码
)
Module:Fullurl
(
查看源代码
)
Module:No globals
(
查看源代码
)
Module:Page name
(
查看源代码
)
Module:Tl
(
查看源代码
)
Module:Tl/doc
(
查看源代码
)
Module:Yesno
(
查看源代码
)
返回
Module:Tl
。