编辑“
Module:PageList
”
跳转到导航
跳转到搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
local p = {} local separators = { dot = true, pipe = true, comma = true, ['tpt-languages'] = true } local function getSeparator(sep) if type(sep) ~= 'string' then return nil end if separators[sep] then return mw.message.new(sep .. '-separator'):plain() else return sep end end local function generateLink(page, nspace, delim, endDelim) if not page then return nil end local pagename = mw.title.new(page) if not pagename then -- Default to the args we were passed if our page -- object was nil. pagename = page else pagename = pagename.text end delim = delim or '' endDelim = endDelim or delim nspace = nspace or '' if nspace == 'all' then nspace = '' pagename = page end local outStr = mw.ustring.gsub( string.format( '%s[[:%s:%s|%s]]%s', delim, nspace, pagename, page, endDelim ), ':+', ':' ) return outStr end function p._main(args) local t = {} local separator = getSeparator(args.separator) local conjunction = getSeparator(args.conjunction) for i, v in ipairs(args) do table.insert(t, generateLink( v, args.nspace, args.delim, args.edelim )) end return mw.text.listToText(t, separator, conjunction) end function p.main(frame) local origArgs = require('Module:Arguments').getArgs(frame, { trim = false, removeBlanks = false, wrappers = 'Template:Pagelist' }) -- Process integer args. Allow for explicit positional arguments that are -- specified out of order, e.g. {{br separated entries|3=entry3}}. -- After processing, the args can be accessed accurately from ipairs. local args = {} for k, v in pairs(origArgs) do if type(k) == 'number' and k >= 1 and math.floor(k) == k and string.match(v, '%S') then -- Remove blank or whitespace values. table.insert(args, k) end end table.sort(args) for i, v in ipairs(args) do args[i] = origArgs[v] -- Trim whitespace. if type(args[i]) == 'string' then args[i] = mw.text.trim(args[i]) end end -- Get old named args. We don't need to remove blank values -- as for the nspace and edelim parameters the behaviour is different -- depending on whether the parameters are blank or absent, and for -- the delim parameter the default should be the blank string anyway. args.delim = origArgs.delim args.edelim = origArgs.edelim args.nspace = origArgs.nspace -- Get new named args, "separator" and "conjunction", and strip blank values. if origArgs.separator and origArgs.separator ~= '' then args.separator = origArgs.separator end if origArgs.conjunction and origArgs.conjunction ~= '' then args.conjunction = origArgs.conjunction end return p._main(args) end return p
摘要:
请注意,您对Positive WiKi的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Positive WiKi:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
Module:PageList/doc
(
编辑
)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
模块
讨论
English
查看
阅读
编辑源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息