More actions
m test |
m debug |
||
(2 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
local out = {} | local out = {} | ||
if frame.args[1] ~= nil then | if frame.args[1] ~= nil then | ||
mw.log(frame.args[1]) | |||
local payload = { | local payload = { | ||
source=mw.site.server .. mw.site.scriptPath .. '/api.php?action=query&format=json&generator=categorymembers&gcmlimit=max&gcmtitle=Category:' .. util.firstToUpper(frame.args[1]), | source = mw.site.server .. mw.site.scriptPath .. '/api.php?action=query&format=json&generator=categorymembers&gcmlimit=max&gcmtitle=Category:' .. util.firstToUpper(frame.args[1]), | ||
format = 'json' | |||
} | } | ||
header_depth = '==' | header_depth = '==' | ||
Line 16: | Line 18: | ||
end | end | ||
local json = mw.ext.externalData.getExternalData(payload) | local json = mw.ext.externalData.getExternalData(payload) | ||
mw.log(json) | |||
for _,page in ipairs(json) do | for _,page in ipairs(json) do | ||
if (page['title'] ~= nil) then | if (page['title'] ~= nil) then |
Latest revision as of 12:58, 1 June 2025
Documentation for this module may be created at Module:List/doc
local p = {}
local util = require('Module:Utility')
function p.category(frame)
local out = {}
if frame.args[1] ~= nil then
mw.log(frame.args[1])
local payload = {
source = mw.site.server .. mw.site.scriptPath .. '/api.php?action=query&format=json&generator=categorymembers&gcmlimit=max&gcmtitle=Category:' .. util.firstToUpper(frame.args[1]),
format = 'json'
}
header_depth = '=='
if frame.args.header ~= nil then
for i=0,frame.args.header do
header_depth = header_depth .. '='
end
end
local json = mw.ext.externalData.getExternalData(payload)
mw.log(json)
for _,page in ipairs(json) 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