Module:RecursiveSelectiveList
Documentation for this module may be created at Module:RecursiveSelectiveList/doc
local p = {}
function p.main(frame)
local categoryName = frame.args.categoryName or "Category:Example" -- Default category
local limit = tonumber(frame.args.limit) or 10 -- Default limit
-- Get the category title
local category = mw.title.new(categoryName)
if not category or not category.exists then
return "Error: Category does not exist or is invalid."
end
-- Retrieve the pages in the category
local pages = category:members()
local results = {}
local count = 0
for page in pages do
table.insert(results, string.format("* [[%s]]", page.title))
count = count + 1
if count >= limit then
break
end
end
-- Return the results as a bulleted list
if #results == 0 then
return "No pages found in this category."
end
return table.concat(results, "\n")
end
return p