求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

模組:PatternedCandidateUtils檢視原始碼檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

本模塊用於生成頁面的標題列表。

用法

基本用法:{{#invoke:PatternedCandidateUtils|list|title={{SITENAME}}:特色圖片評選|pattern={{((}}{{SITENAME}}:特色圖片評選/(.-){{))}}|black=header|blackregex=除名/|linkprefix={{SITENAME}}:特色圖片評選/}}

具體用法可參見求真百科:特色圖片評選/列表

參見

模塊:PatternedCandidateUtils2


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] .. '|' .. list[i] .. ']]'
        else
            list[i] = '[[:' .. list[i] .. ']]'
        end
    end
    if #list > 0 then
        return table.concat( list, '-' )
    else
        return '暂无'
    end
end

return z