模块:PatternedCandidateUtils
此模块被引用于系统界面中。 任何对此模块的修改会立即反映于维基百科的用户界面。 为了避免造成大规模的影响,编者可以在本模块的沙盒 和测试样例 页面进行实验。2 测试后无误的版本可以一次性地加入此模块中,但是修改前请务必于讨论页发起讨论。 |
本模块用于生成页面的标题列表。
用法
基本用法:{{#invoke:PatternedCandidateUtils|list|title=Wikipedia:特色圖片評選|pattern={{((}}Wikipedia:特色圖片評選/(.-){{))}}|black=header|blackregex=除名/|linkprefix=Wikipedia:特色圖片評選/}}
具体用法可参见Wikipedia:特色图片评选/列表。
参见
local z = {}
function getCandidates( frame )
local page = mw.title.new( frame.args.title ):getContent()
local matches = {}
local black = {}
if frame.args.black then
for b in mw.text.gsplit( frame.args.black, '|', true ) do
black[b] = true
end
end
for m in mw.ustring.gmatch( page, frame.args.pattern ) do
if not black[m] and not ( frame.args.blackregex and mw.ustring.match( m, frame.args.blackregex ) ) then
table.insert( matches, m )
end
end
return matches
end
function z.count( frame )
return #getCandidates( frame )
end
function z.list( frame )
local list = getCandidates( frame )
local linkprefix = frame.args.linkprefix
for i = 1, #list do
if linkprefix then
list[i] = '[[:' .. linkprefix .. list[i] .. '|' .. string.gsub(list[i], "_", " ") .. ']]'
else
list[i] = '[[:' .. string.gsub(list[i], "_", " ") .. ']]'
end
end
if #list > 0 then
return table.concat( list, '-' )
else
return '暂无'
end
end
return z