host_from_url()

Funktio palauttaa url-osoitteen host-osan {{verkkoviite}}-mallineessa käytettäväksi.. Mikäli palautettava teksti alkaa sanalla "www.", niin tämä poistetaan palautettavasta tekstistä.

Parametrit
  • url = url-osoite, josta palautettava arvo luetaan jos site tai publisher -parametreja ei ole määritelty
  • site = teksti joka näytetään jos se on määritelty
  • publisher = mikäli tässä on jokin arvo, niin ei yritetä hakea automaattista arvoa url-parametrista

Esimerkit

url-parametri täytetty, site ja publisher tyhjiä
  • {{#invoke:verkkoviite|host_from_url|url=https://fi.wikipedia.org/wiki/Moduuli:Verkkoviite|site=|publisher=}}
  • fi.wikipedia.org
url-alkaa tekstillä www
  • {{#invoke:verkkoviite|host_from_url|url=https://www.wikipedia.org/wiki/Moduuli:Verkkoviite|site=|publisher=}}
  • wikipedia.org
url ja site -parametrit täytetty, publisher tyhjä
  • {{#invoke:verkkoviite|host_from_url|url=https://fi.wikipedia.org/wiki/Moduuli:Verkkoviite|site=site-parametri|publisher=}}
  • site-parametri
url, site ja publisher -parametrit täytetty
  • {{#invoke:verkkoviite|host_from_url|url=https://fi.wikipedia.org/wiki/Moduuli:Verkkoviite|site=site-parametri|publisher=publisher-parametri}}
  • site-parametri
url on tyhjä, mutta site-parametri on määritelty
  • {{#invoke:verkkoviite|host_from_url|url=|site=site-parametri|publisher=}}
  • site-parametri
url ja publisher -parametrit täytetty. Site-parametri on tyhjä
  • {{#invoke:verkkoviite|host_from_url|url=https://fi.wikipedia.org/wiki/Moduuli:Verkkoviite|site=|publisher=publisher-parametri}}
url ja site ovat tyhjiä
  • {{#invoke:verkkoviite|host_from_url|url=|site=|publisher=}}
url on virheellinen
  • {{#invoke:verkkoviite|host_from_url|url=https:www.wikipedia.org/wiki/Moduuli:Verkkoviite|site=|publisher=}}

local t={}

-- Palauttaa url-osoitteen perusteella arvon sivusto-parametrille
function t.host_from_url(frame)
   local url=frame.args.url or "";
   local site=frame.args.site or "";   
   local publisher=frame.args.publisher or ""

-- Mikäli site on määritelty, niin käytetään sitä   
   if site ~= "" then
      return site
   end

-- Mikäli publisher on määritelty, niin ei tarvita host:ia kertomaan lähdettä   
   if publisher ~= "" then
      return ""
   end

   if url == "" then
      return ""
   end

   local u=mw.uri.new(url)
   
-- poistetaan "www" alusta
   local ret=""
   if u.host ~= nil then
      ret=string.gsub( u.host, "^www.", "", 1 )
   end
   return ret
end

return t;