More actions
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 33: | Line 33: | ||
text = mw.ustring.gsub(text, "[%[%]]", "") | text = mw.ustring.gsub(text, "[%[%]]", "") | ||
return text | return text | ||
end | |||
-- New function: automatically adds parent categories | |||
function p.addParentCategories(frame) | |||
local subcat = frame.args[1] or "" | |||
subcat = mw.text.trim(subcat) | |||
if subcat == "" then return "" end | |||
local result = "[[Category:" .. subcat .. "]]" | |||
-- Look for the category page | |||
local catTitle = mw.title.new("Category:" .. subcat) | |||
if catTitle and catTitle.exists then | |||
local catPage = mw.title.new(catTitle.prefixedText) | |||
local catContent = catPage:getContent() or "" | |||
-- Find all categories listed on the subcategory page | |||
for parent in catContent:gmatch("%[%[Category:(.-)%]%]") do | |||
if parent ~= subcat then | |||
result = result .. "\n[[Category:" .. parent .. "]]" | |||
end | |||
end | |||
end | |||
return result | |||
end | end | ||
return p | return p | ||