模組:Template:Weighted page size
外观
local p = {}
local lib_va = require('Module:Va')
local yesno = require('Module:Yesno')
local function getTitle(...)
local success, titleObj = pcall(mw.title.new, ...)
if success then
return titleObj
else
return nil
end
end
function p.main( frame )
local titleText = frame.args.page
if not titleText then
return 0
end
local title = mw.title.new( titleText )
local success = xpcall(function()
if not yesno(frame.args.ignore_redirect) then --查找重新導向是高開銷操作,提供取消的方法
title = getTitle( lib_va.redirect_target(titleText) )
end
end,function()end)
if not success then mw.addWarning("[[Module:Template:Weighted page size]] 超出了模板限制 於標題 \"" .. titleText .. "\" 顯示的結果可能會不正確。") end
if not title then
return 0
end
local content = title:getContent()
if not content then
return 0
end
local chars = mw.ustring.len( content )
return math.floor( chars * 3.7 + 0.5 )
end
return p