Documentation icon Moduldokumentation[vis] [redigér] [historik] [opfrisk]

Brug

F.eks. vil

{{#invoke:Ft.dk link|link_url_for_denne_side}}

Per Stig Møller resultere i linket:

https://www.ft.dk/medlemmer/mf/p/per-stig-møller

Den sidste del af URL'en (p/per-stig-møller) er genereret fra wikidata:Property:P7882 som på Hr. Møllers wikidata-entity er sat til "per-stig-møller".

På denne måde kan links genereres til forskellige sprog på forskellige Wikipediaer, og man vil kun behøve at opdatere centralt én gang per politiker.

Dette modul bruges af Skabelon:Infoboks MF, så hvis du bare fylder Wikidata med relevant information og indsætter skabelonen uden parametre, vil mange informationer automatisk blive hentet fra Wikidata. Se f.eks. Pia Adelsteen for en sådan simpel brug.

local p = {}

function p.wikidata_id_for_denne_side()
    return mw.wikibase.getEntityIdForCurrentPage()
end

function p.label_for_denne_side()
    return mw.wikibase.getLabel()
end

function p.link_url_for_denne_side()
    return p.link_url(mw.wikibase.getEntityIdForCurrentPage())
end

local url_prefiks = 'https://www.ft.dk/medlemmer/mf/'

function p.link_url(entity)
    local prop = entity and mw.wikibase.getBestStatements(entity, 'P7882')
    if prop and prop[1] and prop[1].mainsnak.snaktype == 'value' then
        local ft_id = prop[1].mainsnak.datavalue.value
        if mw.ustring.find(ft_id, '/') ~= nil then
            -- Der er politikere som f.eks. Özlem Cekic hvor ft.dk biografiens URL starter med 'oe/' i stedet for f.eks. 'a/'.
            -- Dette sker hvis det første bogstav ikke er i ASCII.
            -- Så vi tillader propertyen at indeholde at manuelt angive denne begyndelse. Folk som Özlem vil bruge denne gren af koden.
            return url_prefiks .. ft_id
        end
        local navn_prefiks = mw.ustring.sub(ft_id, 1, 1)
        return url_prefiks .. navn_prefiks .. '/' .. ft_id
    end
    return ''
end

return p