Module:WikiProjects for deletion
Appearance
Usage
{{#invoke:WikiProjects for deletion|main}}
returns only the transclusions that have "WikiProject" in its name.{{#invoke:WikiProjects for deletion|main|number=yes}}
returns the number of such transclusions.
You can also find its live usage at Wikipedia:Miscellany for deletion/WikiProjects.
local A = {}
function A.main( frame )
local content = mw.title.new ("Wikipedia:Miscellany for deletion"):getContent(); -- get source code from parent MfD page
local temps = {} -- table to hold all templates on MfD page
local wp = {} -- table to hold all WikiProject deletion discussions
local i = 1
local store = {} -- store transclusions before final output
for t in string.gmatch(content, "{{(.-)}}") do
temps[i] = mw.text.trim(t) -- store content between {{}} in temps
if string.find(temps[i], "WikiProject") then
wp[i] = temps[i] -- store "WikiProject"-string-containing templates in wp
end
if (wp[i] ~= nil) and (wp[i] ~= "") then -- if wp[i] has some content, only then do
table.insert (store, table.concat ({"\n" .. frame:expandTemplate{ title = wp[i] }}));
-- done via table.concat to parse \n as newline; what we get after concat is passed into the table "store"
end
i = i + 1 -- after one template has gone through the above process, bring on the next one
end
local output = table.concat (store) -- concat the table "store" and store it in var output
return output -- print output
end
return A