Module:ExternalCatalogueLinks

From The Seven Sages of Rome
Revision as of 13:43, 26 February 2026 by Noeth (talk | contribs)

Documentation for this module may be created at Module:ExternalCatalogueLinks/doc

-- Module:ExternalCatalogueLinks
local p = {}

function p.render(frame)
    local pagename = frame:preprocess("{{PAGENAME}}")
    
    local results = mw.smw.ask({
        "[[- Has subobject::" .. pagename .. "]]",
        "?Has External Catalogue Title",
        "?Has External Catalogue Link"
    })
    
    if not results or #results == 0 then
        return ""
    end
    
    local items = {}
    
    for _, row in ipairs(results) do
        local title = row[1]
        local link = row["Has External Catalogue Link"]
        
        if title and link then
            table.insert(items, "[" .. link .. " " .. title .. "]")
        elseif title then
            table.insert(items, title)
        end
    end
    
    return table.concat(items, ", ")
end

return p