More actions
mNo edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
if (page['title'] ~= frame.args[1]) and (string.find(page['title'],'Category:') == nil) then | if (page['title'] ~= frame.args[1]) and (string.find(page['title'],'Category:') == nil) then | ||
table.insert(out, frame:preprocess('\n'.. header_depth .. page['title'] .. header_depth .. '\n')) | table.insert(out, frame:preprocess('\n'.. header_depth .. page['title'] .. header_depth .. '\n')) | ||
table.insert(out, frame:expandTemplate({title='SmallLink', args = { page['title'] } })) | |||
table.insert(out, frame:expandTemplate({title=':' .. page['title']})) | table.insert(out, frame:expandTemplate({title=':' .. page['title']})) | ||
table.insert(out, frame:preprocess('\n----')) | table.insert(out, frame:preprocess('\n----')) | ||
end | end |
Latest revision as of 22:23, 20 October 2025
local p = {}
local util = require('Module:Utility')
local url = mw.site.server .. mw.site.scriptPath
function p.category(frame)
local out = {}
local arg = util.firstToUpper(string.gsub(frame.args[1]," ","_"))
local payload = {
source = url .. '/api.php?action=query&format=json&generator=categorymembers&gcmlimit=max&gcmtitle=Category:' .. arg,
format = 'json'
}
local header_depth = '=='
if frame.args.header ~= nil then
for i=0,frame.args.header do
header_depth = header_depth .. '='
end
end
local data, errors = mw.ext.externalData.getExternalData(payload)
if not errors then
for _,page in ipairs(data) do
if (page['title'] ~= nil) then
if (page['title'] ~= frame.args[1]) and (string.find(page['title'],'Category:') == nil) then
table.insert(out, frame:preprocess('\n'.. header_depth .. page['title'] .. header_depth .. '\n'))
table.insert(out, frame:expandTemplate({title='SmallLink', args = { page['title'] } }))
table.insert(out, frame:expandTemplate({title=':' .. page['title']}))
table.insert(out, frame:preprocess('\n----'))
end
end
end
end
return table.concat(out)
end
return p