模組:Articles by Quality and Importance/sandbox
外观
![]() | 这是Module:Articles by Quality and Importance(差异)的沙盒。 |
require('Module:No globals')
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local getClassName = require('Module:Class/convert').main
local getImportanceName = require('Module:Importance/convert').main
local classList = {
{'fa', score = 10},
{'a', score = 9},
{'ga', score = 8},
{'bplus', score = 7.9, disabled = true},
{'b', score = 7},
{'c', score = 5},
{'start', score = 3},
{'stub', score = 1},
{'fl', score = 10},
{'al', score = 9, disabled = true},
{'bl', score = 7, disabled = true},
{'cl', score = 5, disabled = true},
{'list', score = 3},
{'sl', score = 1, disabled = true},
{'category'},
{'disambig'},
{'draft'},
{'file',},
{'portal'},
{'project'},
{'template'},
{'na'},
{'unassessed'},
}
local importanceList = {
{'top'},
{'high'},
{'mid'},
{'low'},
{'bottom', disabled = true},
{'no', disabled = true},
{'na'},
{'unknown'},
}
local function categoryName(args, class, importance)
local categoryNamingFormat
local writingSystem = yesno(args.trad) and 'trad' or 'simp'
if args.format == 'ICT' then
categoryNamingFormat = getImportanceName(importance, writingSystem) .. getClassName(importance, writingSystem)
else
categoryNamingFormat = getClassName(importance, writingSystem) .. getImportanceName(importance, writingSystem)
end
return string.format('%s%s%s', categoryNamingFormat, args.project, writingSystem == 'trad' and '條目' or '条目')
end
local function pagesInClassAndImportance(args, class, importance)
if tonumber(args[class..'_'..importance]) then
return tonumber(args[class..'_'..importance])
end
return tonumber(mw.site.stats.pagesInCategory( categoryName(args, class, importance), 'pages' ))
end
local function pageNumberWithLink(args, class, importance)
local pageNumber = mw.language.new('zh'):formatNum(pagesInClassAndImportance(args, class, importance))
if yesno(args.link) == false then
return pageNumber
end
if args.link == 'catscan' then
-- 等会再做
end
if args.link == 'catscan_main' then
-- 等会再做
end
if args.link == 'bluelinkonly' then
if mw.title.makeTitle('Category', categoryName(args, class, importance)).exists then
return string.format('[[:Category:%s|%s]]', pageNumber)
end
return
end
return string.format('[[:Category:%s|%s]]', pageNumber)
end
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
return pageNumberWithLink(args, args[1], args[2])
end
return p