Dokumentation [visa] [redigera] [historik] [rensa sidcachen]


local p = {}
 
require "mw.ustring"
 
-- namnversalisering, sätter inledande bokstav i namn, eller bokstäver i dubbelnamn, till versal(er)
--
-- parametrar
-- ==========
-- namn (obligatorisk): det namn som ska versaliseras
-- 
-- Exempel på användning:
-- Anrop: {{#invoke:Textformatering|namnversalisering|DALA-JÄRNA}}
-- Resultat: Dala-Järna

function p.namnversalisering(frame)
  local res = ""
  local namn 
  if frame.args then 
  	namn = frame.args['namn']
  else
  	namn = frame
  end
  if mw.ustring.find(namn, "[[", 1, true) then
      res = namn 
 -- konvertera inte namn som används i wikilänkar
  else         
    namn = mw.ustring.lower(namn)
    for i = 1, mw.ustring.len(namn) do
      if (i == 1) then
         res = res .. mw.ustring.upper(mw.ustring.sub(namn,i,i)) 
      elseif  (mw.ustring.sub(namn, i-1, i-1) == "-") or
              (mw.ustring.sub(namn, i-1, i-1) == " ") or
              (mw.ustring.sub(namn, i-1, i-1) == ">") then
         res = res .. mw.ustring.upper(mw.ustring.sub(namn,i,i)) 
      else   
         res = res .. mw.ustring.sub(namn, i, i)
      end
    end
  end
  return res
end

return p