Module:category tree/poscatboiler/data
Documentation for this module may be created at Module:category tree/poscatboiler/data/doc
local labels = {}
local subpages = {
"entry maintenance",
"figures of speech",
"lemmas",
"miscellaneous",
"names",
"non-lemma forms",
"phrases",
"rhymes",
"shortenings",
"symbols",
"templates",
"terms by etymology",
"terms by lexical property",
"terms by semantic function",
"terms by usage",
"words by number of syllables",
}
-- Import subpages
for _, subpage in ipairs(subpages) do
local datamodule = "Module:category tree/poscatboiler/data/" .. subpage
for key, data in pairs(require(datamodule)) do
assert(not labels[key], "Duplicate label: " .. key)
data.edit = datamodule
labels[key] = data
end
end
-- Add child categories to their parents
for key, data in pairs(labels) do
if data.parents and not data.regex then
for _, parent in ipairs(data.parents) do
if type(parent) == "table" then
if parent.name and not parent.template and not parent.name:find("^Category:") then
if labels[parent.name].children then
table.insert(labels[parent.name].children, {name = key, sort = parent.sort})
else
labels[parent.name].children = {{name = key, sort = parent.sort}}
end
end
else
if not parent:find("^Category:") then
if labels[parent].children then
table.insert(labels[parent].children, key)
else
labels[parent].children = {key}
end
end
end
end
end
end
return labels