Module:category tree/topic cat/data

local labels = {} local handlers = {}

local top_level_data_module = "Module:category tree/topic cat/data" local data_module_prefix = top_level_data_module .. "/"

local subpages = { "Body", "Buildings and structures", "Communication", "Culture", "Religion", "Earth", "Food and drink", "Games", "History", "Human", "People", "Lifeforms", "Animals", "Plants", "Miscellaneous", "Names", "Places", "Nature", "Numbers", "Philosophy", "Sciences", "Mathematics", "Sex", "Society", "Sports", "Technology", "Thesaurus", "Time", "Transport", "Physical actions", }

labels["all topics"] = { type = "toplevel", description = " terms organized by topic, such as \"Family\", \"Chemistry\", \"Planets\", \"Canids\" or \"Cities in France\".", parents = , }

for _, typ in ipairs { "related-to", "set", "type", "name", "grouping" } do labels["list of " .. typ .. " categories"] = { type = "toplevel", description = "All " .. typ .. " categories currently available in .", parents = , } end

labels["list of mixed categories"] = { type = "toplevel", description = "All categories currently available in that belong to more than one type.", parents = , }

for label, data in pairs(labels) do	data.module = top_level_data_module end

-- Import subpages for _, subpage in ipairs(subpages) do local datamodule = data_module_prefix .. 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}