Module:collapsible category tree: Difference between revisions
Jump to navigation
Jump to search
(Created page with "local export = {} local m_utilities = require("Module:utilities") function export.make(args) local lang = args.lang local sc = args.sc -- Add a span which records information to be used by the catfix gadget. local catfix_info = lang and m_utilities.catfix(lang, sc) or "" -- Only provide collapsibility if 5 or more elements local pages_in_cat = mw.site.stats.pagesInCategory(args.category, "pages") local collapsible = pages_in_cat >= 5 -- CategoryTree only...") |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 25: | Line 25: | ||
class = "\"columns-bg term-list" .. (sc and " " .. sc:getCode() or "") .. "\"", | class = "\"columns-bg term-list" .. (sc and " " .. sc:getCode() or "") .. "\"", | ||
style = "counter-reset: pagesleftover " .. pages_left_over, | style = "counter-reset: pagesleftover " .. pages_left_over, | ||
namespaces = "-" | namespaces = "- Contionary", | ||
["data-pages-in-cat"] = pages_in_cat, | |||
["data-pages-left-over"] = pages_left_over, | ["data-pages-left-over"] = pages_left_over, | ||
hideprefix = always | |||
} | } | ||
} | } | ||
| Line 55: | Line 57: | ||
end | end | ||
-- for | -- for direct invocation from a wikitext ("wt") template | ||
function export. | function export.make_wt(frame) | ||
return export.make(frame.args) | return export.make(frame.args) | ||
end | end | ||
return export | return export | ||
Latest revision as of 23:30, 1 July 2025
Documentation for this module may be created at Module:collapsible category tree/doc
local export = {}
local m_utilities = require("Module:utilities")
function export.make(args)
local lang = args.lang
local sc = args.sc
-- Add a span which records information to be used by the catfix gadget.
local catfix_info = lang and m_utilities.catfix(lang, sc) or ""
-- Only provide collapsibility if 5 or more elements
local pages_in_cat = mw.site.stats.pagesInCategory(args.category, "pages")
local collapsible = pages_in_cat >= 5
-- CategoryTree only shows the first 200 categories. How many pages are left over?
local pages_left_over = ((pages_in_cat <= 200) and 0 or (pages_in_cat - 200))
local output = mw.getCurrentFrame():callParserFunction{
name = "#categorytree",
args = {
args.category,
type = "pages",
depth = 1,
class = "\"columns-bg term-list" .. (sc and " " .. sc:getCode() or "") .. "\"",
style = "counter-reset: pagesleftover " .. pages_left_over,
namespaces = "- Contionary",
["data-pages-in-cat"] = pages_in_cat,
["data-pages-left-over"] = pages_left_over,
hideprefix = always
}
}
if collapsible then
output = mw.html.create("div")
:addClass("list-switcher-wrapper")
:node(
mw.html.create("div")
:addClass("list-switcher list-switcher-category-tree")
:wikitext(output)
)
else
output = mw.html.create("div")
:addClass("list-switcher-category-tree")
:wikitext(output)
end
-- Maintenance categories
local categories = ""
if pages_in_cat == 0 and not mw.title.new(args.category, 'Category').exists then
categories = categories ..
require("Module:utilities").format_categories('Entries with collapsible category trees for nonexistent categories')
end
return require("Module:TemplateStyles")("Module:collapsible category tree/style.css") ..
catfix_info .. tostring(output) .. categories
end
-- for direct invocation from a wikitext ("wt") template
function export.make_wt(frame)
return export.make(frame.args)
end
return export