Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:AfricanWomenJournalistsLangs

From Wikipedia, the free encyclopedia
local p = {}

-- List of languages you care about
local langs = {
    { code = "ha", name = "Hausa" },
    { code = "ig", name = "Igbo" },
    { code = "yo", name = "Yoruba" },
    { code = "tw", name = "Twi" },
    { code = "fat", name = "Fante" },
    { code = "sw", name = "Swahili" },
    { code = "rw", name = "Kinyarwanda" },
}

-- Helper to check sitelink presence
local function hasSitelink(qid, lang)
    local title = mw.wikibase.getSitelink(qid, lang .. "wiki")
    return title and title ~= ""
end

-- Main function
function p.table(frame)
    local args = frame.args
    local result = '{| class="wikitable sortable"\n! Image !! Name !! Description'

    for _, lang in ipairs(langs) do
        result = result .. " !! " .. lang.name
    end
    result = result .. "\n"

    for _, qid in ipairs(args) do
        local label = mw.wikibase.getLabel(qid) or ''
        local description = mw.wikibase.getDescription(qid) or ''
        local image = mw.wikibase.getBestStatements(qid, "P18")[1]
        local img = image and '[[File:' .. image.mainsnak.datavalue.value .. '|100px]]' or ''

        result = result .. "|-\n| " .. img .. " || [[" .. label .. "]] || " .. description

        for _, lang in ipairs(langs) do
            if hasSitelink(qid, lang.code) then
                result = result .. " || <span style='color:green;'>+ " .. lang.name .. "</span>"
            else
                result = result .. " || –"
            end
        end

        result = result .. "\n"
    end

    result = result .. "|}"
    return result
end

return p