Module:Ft.dk link

local p = {}

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

function p.asciify(ft_id) ft_id = mw.ustring.gsub(ft_id, 'æ', 'ae') ft_id = mw.ustring.gsub(ft_id, 'ø', 'oe') ft_id = mw.ustring.gsub(ft_id, 'ð', 'oe') -- e.g. Sjúrður Skaale ft_id = mw.ustring.gsub(ft_id, 'ö', 'oe') -- e.g. Özlem Cekic ft_id = mw.ustring.gsub(ft_id, 'å', 'aa') ft_id = mw.ustring.gsub(ft_id, 'ú', 'u') -- e.g. Sjúrður Skaale ft_id = mw.ustring.gsub(ft_id, 'á', 'a') -- e.g. Annita á Fríðriksmørk ft_id = mw.ustring.gsub(ft_id, 'í', 'i') -- e.g. Annita á Fríðriksmørk return ft_id end

local url_prefix = 'https://www.thedanishparliament.dk/members/'

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 slash_position = mw.ustring.find(ft_id, '/') if slash_position ~= nil then -- There are politicians like e.g. Özlem Cekic where the property string will start with 'oe/' -- because this is needed in the Danish version of the biography URL. -- It isn't there in the English version, so we strip off that part. ft_id = mw.ustring.sub(ft_id, slash_position + 1) end ft_id = p.asciify(ft_id) -- The Danish version allows unicode but the English doesn't       return url_prefix .. ft_id end return '' end

return p