local p = {}
function p.main(frame)
local args = frame:getParent().args
local length = tonumber(args[1]) or 1
local name = args[2] or mw.title.getCurrentTitle().text
name = name:gsub("%(.*%)", "")
local disambig = name:find(":")
if disambig then
name = name:sub(disambig + 1)
end
name = name:gsub("^%s*(.-)%s*$", "%1")
local xing = mw.ustring.sub(name, 1, length)
local ming = mw.ustring.sub(name, length + 1)
if ming == "" then
ming = "*"
end
return "[[Category:" .. xing .. "姓|" .. ming .. "]]"
end
return p