모듈:category tree/unicode
외관
이 모듈에 대한 설명문서는 모듈:category tree/unicode/설명문서에서 만들 수 있습니다
local raw_categories = {}
local raw_handlers = {}
-----------------------------------------------------------------------------
-- --
-- 원시(RAW) 분류 --
-- --
-----------------------------------------------------------------------------
raw_categories["유니코드 블록"] = {
topright = "{{바로가기|CAT:UC}}",
description = "특정 유니코드 문자의 블록이 있는 분류.",
parents = {
"기본",
"분류:부록",
},
}
raw_categories["항목 수별 유니코드 블록"] = {
description = "해당 블록의 문자 수에 따라 유니코드 문자 블록을 그룹화하는 분류.",
parents = {
{name = "유니코드 블록", sort = " "},
},
}
for _, block in ipairs({
{num = "0", desc = "다른 항목 없음", sort = "*000"},
{num = "1–10", desc = "1개에서 10개", sort = "*001"},
{num = "11–50", desc = "11개에서 50개", sort = "*011"},
{num = "51–100", desc = "51개에서 100개", sort = "*051"},
{num = "101+", desc = "101개 이상", sort = "*101"},
}) do
raw_categories["항목이 " .. block.num .. "개인 유니코드 블록"] = {
description = "부록 1개 + " .. block.desc .. "의 항목을 포함하는 유니코드 블록 분류.",
parents = {{name = "항목 수별 유니코드 블록", sort = block.sort}},
breadcrumb = block.num,
}
end
-----------------------------------------------------------------------------
-- --
-- 원시(RAW) 핸들러 --
-- --
-----------------------------------------------------------------------------
table.insert(raw_handlers, function(data)
local block = data.category:match("^(.*) 블록$")
if block then
local pages_in_category = mw.site.stats.pagesInCategory(mw.title.getCurrentTitle().text, "pages")
local entry_bucket
-- 적어도 1개의 문서는 현재 유니코드 블록의 부록임.
if pages_in_category == 1 then entry_bucket = "0"
elseif pages_in_category <= 11 then entry_bucket = "1–10"
elseif pages_in_category <= 51 then entry_bucket = "11–50"
elseif pages_in_category <= 101 then entry_bucket = "51–100"
else entry_bucket = "101+"
end
return {
description = "문자 상자로 분류된 '''[[부록:유니코드/" .. block .. "|" .. block .. "]]''' 블록의 문자에 대한 항목.",
additional = "일부 항목은 한 번에 여러 유니코드 코드포인트의 문자를 정의할 수 있으므로, 문서 제목이 이 블록에 속하지 않는 항목일 수 있습니다.",
breadcrumb = block,
parents = {
"유니코드 블록",
"항목이 " .. entry_bucket .. "개인 유니코드 블록",
},
}
end
end)
return {RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}