Moduuli:LibSanarivi
Moduulin LibSanarivi käyttöohje [näytä tämä käyttöohje omalla sivullaan] [muokkaa tätä käyttöohjetta] [päivitä] [testit] [hiekkalaatikko]
Tässä ohjeessa kuvataan toiminnallisuutta jonka kehitys on vielä kesken. Sivu on tarkoitettu lähinnä kehityksen apuvälineeksi, ei yleiseen käyttöön. |
Sanarivien muodostuksessa usein käytettäviä elementtejä ParametrisoituTeksti-moduulin kanssa käytettäväksi.
Funktiot[muokkaa]
hakusana[muokkaa]
hakusana(teksti, kieli, kirj)
Tekee hakusana-css-luokalla merkityn html-elementin.
Parametrit:
- teksti: elementissä näytettävä teksti
- kieli: kielikoodi
- kirj: kirjoitusjärjestelmäkoodi
kielilinkki[muokkaa]
kielilinkki(lang, lnk, txt, lisap)
Tekee kielilinkiksi merkitys html-elementin.
Parametrit:
- lang: kielikoodi
- lnk: linkin kohdesivu
- lnk: (valinnainen) linkin teksti
- lisap: (valinnainen) lisäparametrit
latmerkkaus[muokkaa]
latmerkkaus(lat)
TODO tarviiko enää??
Parametrit:
- lat:
sukuteksti[muokkaa]
sukuteksti(lyh)
Tekee suvun ilmaisevan html-elementin mallineella suku-teksti.
Parametrit:
- lyh: suku-teksti-mallineessa määritelty lyhenne suvulle, esim. "m".
linkkiluettelo[muokkaa]
linkkiluettelo(lang, lnk, txt, lat, lisap)
Tekee pilkuilla ja tai-sanalla erotellun kielilinkkiluettelon.
Parametrit:
- lang: kielikoodi
- lnk: linkkien kohdesivut (taulukko)
- txt: (valinnainen) linkkien tekstit (taulukko)
- lat: (valinnainen) latinisoinnit (taulukko)
- lisap: (valinnainen) lisäparametrit (taulukko)
monikkoluettelo[muokkaa]
monikkoluettelo(lang, lnk, txt, lat, lisap)
Tekee vastaavan luettelon kuin linkkiluettelo, mutta näyttää myös tekstin "ei monikkoa", jos ensimmäinen lnk-parametri on "-".
- lang: kielikoodi
- lnk: linkkien kohdesivut (taulukko)
- txt: (valinnainen) linkkien tekstit (taulukko)
- lat: (valinnainen) latinisoinnit (taulukko)
- lisap: (valinnainen) lisäparametrit (taulukko)
tailuettelo[muokkaa]
tailuettelo(rakenne)
Pilkuilla ja tai-sanalla eroteltu luettelo. Lyhennemerkintä merkinnälle
luettelo(rakenne, ", ", " tai ")
local p = {}
local pt = require("Moduuli:ParametrisoituTeksti")
local function _hakusana(ctx, teksti_, kieli, kirj)
local teksti = ctx:hae_arvo_tai_nil(teksti_)
if teksti then
local sanariviElem = mw.html.create('b')
:attr("lang", kieli)
:attr("class", "hakusana " .. kirj)
:node(teksti)
:done()
table.insert(ctx.out, tostring(sanariviElem))
return true
end
return false
end
--- Tekee hakusanaelementin.
--
-- @param teksti: sanarivillä näkyvä teksti
-- @param kieli: elementtiin merkittävä kielikoodi
-- @param kirj: elementtiin merkittävä kirjoitusjärjestemätyyli
function p.hakusana(teksti, kieli, kirj)
return pt.funktio(_hakusana, teksti, kieli, kirj)
end
---
--
-- @param ctx: konteksti
-- @param lnk: linkin kohde
-- @param txt: linkin teksti
-- @param lisap: lisäparametrit
local function _kielilinkki(ctx, lang, lnk_, txt_, lisap_)
local lnk = ctx:hae_arvo_tai_nil(lnk_)
local txt = ctx:hae_arvo_tai_nil(txt_)
local lisap = ctx:hae_arvo_tai_nil(lisap_)
local klnk = require("Moduuli:Kielilinkki").linkki_tai_nil_vanha(lang, lnk, txt, lisap)
if klnk then
table.insert(ctx.out, klnk)
return true
else
return false
end
end
--- Tekee kielitiedoilla merkityn linkin.
--
-- @param lang: linkkiin merkittävä kielikoodi, esim. "de", "sr-Cyrl" (pakollinen)
-- @param lnk: linkin kohdesivun nimi (pakollinen)
-- @param txt: linkin teksti
-- @param lisap: linkkille annettavat lisäparametrit, ks. [[Moduuli:Kielilinkki]]
function p.kielilinkki(lang, lnk, txt, lisap)
return pt.funktio(_kielilinkki, lang, lnk, txt, lisap)
end
local function _latmerkkaus(ctx, lat_)
local lat = ctx:hae_arvo_tai_nil(lat_)
if lat then
local elem = mw.html.create('span')
:attr("class", "lat")
:node(lat)
:done()
table.insert(ctx.out, tostring(elem))
return true
end
return false
end
--- Sanan latinisoinnin merkkaus.
--
-- @param lat: latinisointi
function p.latmerkkaus(lat)
return pt.funktio(_latmerkkaus, lat)
end
local function _sukuteksti(ctx, suku)
local lyh = ctx:hae_arvo_tai_nil(suku)
local txt = mw.getCurrentFrame():expandTemplate{ ['title'] = 'suku-teksti', ['args'] = { lyh } }
if txt then
table.insert(ctx.out, txt)
return true
end
return false
end
--- Sanan suvun merkkaus.
--
-- @param lyh: suvun lyhenne, esim. "m", "fm"
function p.sukuteksti(lyh)
return pt.funktio(_sukuteksti, lyh)
end
--- Pilkuilla ja "tai"-sanalla erotettu linkkien luettelo, jossa voi olla latinisointi suluissa linkkien jälkeen
--
-- @param lang: linkkien kielikoodi (pakollinen)
-- @param lnk: linkkien kohteet (taulukko, pakollinen)
-- @param txt: linkkien tekstit (taulukko)
-- @param lat: latinisoinnit (taulukko)
function p.linkkiluettelo(lang, lnk, txt, lat, lisap)
return pt.luettelo(pt.ryhma("", p.kielilinkki(lang, lnk, txt, lisap), " ", pt.ryhma("(", p.latmerkkaus(lat), ")"), ""), ", ", " tai ")
end
function p.monikkoluettelo(lang, lnk, txt, lat, lisap)
if lnk and lnk[1] == "-" then
return "''ei monikkoa''"
else
return pt.ryhma("''monikko'' ", p.linkkiluettelo(lang, lnk, txt, lat, lisap), "")
end
end
--- Pilkuilla ja tai-sanalla eroteltu luettelo.
function p.tailuettelo(rakenne)
return pt.luettelo(rakenne, ", ", " tai ")
end
return p