Module:category tree/topic cat/data
Jump to navigation
Jump to search
- The following documentation is generated by Template:category tree data submodule documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
This data submodule defines part of Wiktionary's category structure.
For an introduction to the category tree system and a description of how to add or modify categories, see Module:category tree/documentation.
local labels = {}
local handlers = {}
local subpages = {
"Body",
"Buildings and structures",
"Communication",
"Culture",
"Earth",
"Food and drink",
"History",
"Human",
"Lifeforms",
"Animals",
"Plants",
"Mathematics",
"Miscellaneous",
"Names",
"Nature",
"Numbers",
"People",
"Philosophy",
"Places",
"Sciences",
"Sex",
"Social acts",
"Society",
"Sports",
"Technology",
"Time",
"Transport",
}
labels["all topics"] = {
description = "{{{langname}}} terms organized by topic, such as \"Family\" or \"Chemistry\".",
parents = {{module = "poscatboiler", args = {label = "{{{langcat}}}", raw = true, called_from_inside = true}}},
}
labels["list of topics"] = {
description = "All topics currently available in {{{langname}}}.",
parents = {{name = "all topics", sort = " *"}},
}
labels["all sets"] = {
description = "{{{langname}}} terms that belong to a particular set of things, such as \"Planets\" or \"Canids\".",
parents = {{module = "poscatboiler", args = {label = "{{{langcat}}}", raw = true, called_from_inside = true}}},
}
labels["list of sets"] = {
description = "All sets currently available in {{{langname}}}.",
parents = {{name = "all sets", sort = " *"}},
}
for label, data in pairs(labels) do
data.module = "Module:category tree/topic cat/data"
end
-- Import subpages
for _, subpage in ipairs(subpages) do
local datamodule = "Module:category tree/topic cat/data/" .. subpage
local retval = require(datamodule)
if not retval["LABELS"] then
retval = {LABELS = retval}
end
for label, data in pairs(retval["LABELS"]) do
if labels[label] and not retval["IGNOREDUP"] then
error("Label " .. label .. " defined in both [["
.. datamodule .. "]] and [[" .. labels[label].module .. "]].")
end
data.module = datamodule
labels[label] = data
end
if retval["HANDLERS"] then
for _, handler in ipairs(retval["HANDLERS"]) do
table.insert(handlers, { module = datamodule, handler = handler })
end
end
end
return {LABELS = labels, HANDLERS = handlers}