Module:Category tree/topic cat/data
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Category tree/topic cat/data/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",
"Physical actions",
}
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}