Spiderjjr45 (talk | contribs) (Created page with "local p = {} function p.getCampaigns(frame) local wikitext = frame.args[1] -- Get the wikitext passed to the module local campaigns = { PA = {}, MD = {}, Online = {} } -- Function to process each campaign row local function processRow(row) local campaign, location = row:match("|'''%[%[(.-)%]%]'''%s*|%s*.-|.-|.-|.-|.-|.-|(.-)|") if campaign and location then if location:find("PA") then...") |
Spiderjjr45 (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
function p.getCampaigns(frame) |
function p.getCampaigns(frame) |
||
-- Fetch the content of the "Campaign" page |
|||
local wikitext = frame.args[1] -- Get the wikitext passed to the module |
|||
local pageTitle = "Campaign" |
|||
local page = mw.title.new(pageTitle) |
|||
local wikitext = page:getContent() |
|||
-- Check if the page content is available |
|||
if not wikitext then |
|||
return "Error: Unable to fetch content for page '" .. pageTitle .. "'." |
|||
end |
|||
local campaigns = { |
local campaigns = { |
||
PA = {}, |
PA = {}, |
Revision as of 15:24, 23 January 2024
Documentation for this module may be created at Module:CampaignNavbox/doc
local p = {} function p.getCampaigns(frame) -- Fetch the content of the "Campaign" page local pageTitle = "Campaign" local page = mw.title.new(pageTitle) local wikitext = page:getContent() -- Check if the page content is available if not wikitext then return "Error: Unable to fetch content for page '" .. pageTitle .. "'." end local campaigns = { PA = {}, MD = {}, Online = {} } -- Function to process each campaign row local function processRow(row) local campaign, location = row:match("|'''%[%[(.-)%]%]'''%s*|%s*.-|.-|.-|.-|.-|.-|(.-)|") if campaign and location then if location:find("PA") then table.insert(campaigns.PA, campaign) end if location:find("MD") then table.insert(campaigns.MD, campaign) end if location:find("Online") then table.insert(campaigns.Online, campaign) end end end -- Split the wikitext into rows and process each for row in wikitext:gmatch("|%-.-\n") do processRow(row) end -- Build the navbox local navbox = '{| class="wikitable"\n!Location\n!Campaigns\n' for loc, camps in pairs(campaigns) do navbox = navbox .. '|-\n|' .. loc .. '\n|' .. table.concat(camps, ', ') .. '\n' end navbox = navbox .. '|}' return navbox end return p