Modul:Namnesortering

Frå Wikipedia – det frie oppslagsverket

Dokumentasjon for modulen kan opprettast på Modul:Namnesortering/dok


local p = {}
 
function p.hovud(ramme)
    local sidenamn = mw.title.getCurrentTitle().text
    local endraNamn = mw.ustring.gsub(sidenamn, ' [J|j]r[.|]$', '') -- fjern «Jr.»
    local namnSplitt = mw.text.split(endraNamn, ' ')
    
    local arg = ramme:getParent().args
    
    if arg['sortering'] then
        if arg['sortering'] == 'sidenamn' then
            return sidenamn
        else
            return arg['sortering']
        end
    elseif arg['sort'] then
        if arg['sort'] == 'sidenamn' then
            return sidenamn
        else
            return arg['sort']
        end
    end
    local l = #namnSplitt
    if l == 1 then
        return sidenamn
    end
    local etternamn = namnSplitt[l]
    
    local foerenamn = table.concat(namnSplitt, ' ', 1, l-1)
    
    local ombytt = etternamn .. ', ' .. foerenamn

    return ombytt
end

return p