require("strict")
--- @modulelocal p =
local function extractFontNames(text) local fontNames = for fonts in text:gmatch("font%-family:%s*([^;}]+);") do for font in fonts:gmatch("([^,]+)") do font = font:match("^%s*(.-)%s*$") -- Trim leading and trailing whitespace font = font:gsub('"', "") -- Remove double quotes font = font:gsub("'", "") -- Remove single quotes table.insert(fontNames, font) end end return fontNamesend
function p.main(frame) local page = mw.title.getCurrentTitle local pageName = mw.ustring.lower(page.subpageText) local styles = "Template:Script/styles " .. pageName .. ".css" local text = mw.title.new(styles):getContent or page:getContent if text then local fonts = extractFontNames(text) return table.concat(fonts, ", ") end return nilend
return p