More actions
mNo edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
local util = require('Module:Utility') | local util = require('Module:Utility') | ||
local url = mw.site.server .. mw.site.scriptPath | |||
function p.list(frame) | function p.list(frame) | ||
local out = {} | local out = {} | ||
local payload = { | local payload = { | ||
source= | source=url .. '/api.php?action=query&format=json&list=categorymembers&cmlimit=max&cmtitle=Category:' .. util.firstToUpper(frame.args[1]) ..'_Feat', | ||
format='json' | format='json' | ||
} | } | ||
Line 13: | Line 15: | ||
if feat['title'] ~= nil then | if feat['title'] ~= nil then | ||
if string.find(feat['title'],"-Level",1,true) == nil and string.find(feat['title'],"Category:",1,true) == nil then | if string.find(feat['title'],"-Level",1,true) == nil and string.find(feat['title'],"Category:",1,true) == nil then | ||
table.insert(out, "<h3>" .. feat['title'] .. "</h3>") | table.insert(out, "<h3><a href=\"" .. url .. "/" .. feat['title'] .. "\">" .. feat['title'] .. "</a></h3>") | ||
table.insert(out, frame:expandTemplate({title=':' .. feat['title']})) | table.insert(out, frame:expandTemplate({title=':' .. feat['title']})) | ||
table.insert(out, '<hr>') | table.insert(out, '<hr>') |
Revision as of 14:16, 15 January 2024
Documentation for this module may be created at Module:Feat/doc
local p = {}
local util = require('Module:Utility')
local url = mw.site.server .. mw.site.scriptPath
function p.list(frame)
local out = {}
local payload = {
source=url .. '/api.php?action=query&format=json&list=categorymembers&cmlimit=max&cmtitle=Category:' .. util.firstToUpper(frame.args[1]) ..'_Feat',
format='json'
}
local json = mw.ext.externalData.getExternalData(payload)
for _,feat in ipairs(json) do
if feat['title'] ~= nil then
if string.find(feat['title'],"-Level",1,true) == nil and string.find(feat['title'],"Category:",1,true) == nil then
table.insert(out, "<h3><a href=\"" .. url .. "/" .. feat['title'] .. "\">" .. feat['title'] .. "</a></h3>")
table.insert(out, frame:expandTemplate({title=':' .. feat['title']}))
table.insert(out, '<hr>')
end
end
end
return table.concat(out)
end
return p