Modul:Infoboks test
Utseende
Moduldokumentasjon
[opprett]
local p = {}
local ibox = require( 'Module:Infoboks lua' )
--[[ Definisjonene inneholder parametre som skal tolkes av modulen infoboks lua.
Definisjonene kommer i en liste som skal komme i den rekkefølgen de skal legges inn i infoboksene.
Hver enkelt definisjon starter med en "{" og avslttes med "}," det kan godt være et komma også bak den siste
Innholdet av definisjonen består av en liste med argumenter med komma mellom.
La det første argumentet være et navn som identifiserer hva som skal gjøres (metoden).
Vi legger det først for å lette lesingen for oss mennesker.
Deretter kommer en rekke med argumenter som skal brukes. Argumentene består av et parameternavn, et "=", og en tekst.
De kan komme i vilkårlig rekkefølge og bare de som skal brukes behøver legges inn.
Hver metode har sitt sett av parametre.
Alle metodene har tilgang til de argumentene som er gitt på siden som legger inn som argument til infoboksen.
Alle metodene vil ha tilgang til argumentet qid som
Metodene listes nedenfor:
]]
--[[ "rad"
Legger inn en rad i infoboksen, altså en venstreside med et navn og en høyreside med en verdi.
Parametre til metoden rad
Minst av de to første må gis om det skal lages en rad.
param: Inneholder navnet på parameteren som eventuelt henter en verdi fra
artikkelen hvis en parameterverdi er gitt der. Den vil også brukes som
tittel på raden med mindre displayName er gitt.
pid: Wikidata egenskaps identifikator. (Property id)
displayName: tekst som skal brukes tom tittel på raden, altså venstresiden av tabellen
... Listen er ikke komplett foreløpig.
]]
--[[ "bilde"
pid: Wikidata egenskaps identifikator. (Property id)
bilde parameternavn i infoboksen for bildet. Overstyrer pid om det er gitt.
Verdien er typisk
bilde
logo
bildetekst parameternavn som eventuelt gis sammen med bilde i artikkelen
Verdien er typisk
bildetekst
logotekst
byline parameternavn som eventuelt gis sammen med bilde i artikkelen
Verdien er typisk
byline
logobyline
bildestor parameternavn som eventuelt gis sammen med bilde i artikkelen
Verdien er typisk
bildestørrelse
]]
--[[ "mal"
<to do>
]]
--[[ "kart"
<to do>
]]
local defsVaapen =
{
{ "bilde", pid = "P18", qid = "qid", bilde = "bilde", bildetekst = "bildetekst", byline = "byline",
bildestor = "bildestørrelse"},
{ "rad", param = "land", pid = "P17"},
}
function p.infoboksvaapen(frame)
local start = ibox.ibxStart(frame)
local text,par = ibox._innhold(frame,defsVaapen)
local slutt = ibox._ibxSlutt()
return start .. text .. slutt
end
local defsIdrettslag =
{
{ "bilde", pid = "P18", qid = "qid", bilde = "bilde", bildetekst = "bildetekst", byline = "byline",
bildestor = "bildestørrelse"},
{ "rad", param = "land", pid = "P17"},
}
function p.infoboksidrettslag(frame)
local start = ibox.ibxStart(frame)
local text,par = ibox._innhold(frame,defsIdrettslag)
local slutt = ibox._ibxSlutt()
return start .. text .. slutt
end
local defssplitsideelv =
{
{ ["prop"] = "P3871", vals={ "Q25303601","Q27834806"}},
}
local defsTest1 =
{
{ "bilde", pid = "P18", qid = "qid", bilde = "bilde", bildetekst = "bildetekst", byline = "byline",
bildestor = "bildestørrelse"},
{ "rad", param = "land", pid = "P17"},
{ "rad", param = "start", pid = "P885"},
{ "rad", param = "høyde_start",displayName=" – Høyde"},
{ "rad", param = "lengde", pid = "P2043"},
{ "rad", param = "munning", pid = "P403"},
{ "rad", param = "munningsarm", pid = "P5998"},
{ "rad", param = "område", pid = "P131"},
{ "rad", param = "vassdrag", pid = "P4614"},
{ "rad", param = "nedbørfeltareal", pid = "P2053"},
{ "rad", param = "vannføring", pid = "P2225"},
{ "rad", param = "innsjø", pid = "P469"},
{ "rad", param = "sideelv", pid = "P974", split = defssplitsideelv},
{ "rad", param = "innløp", pid = "P200"},
{ "kart", param = nil},
}
local definisjoner =
{
["avtale"] = defsAvtale,
["elv"] = defsTest1,
["idrettslag"] = defsIdrettslag,
["våpen"] = defsVaapen,
}
function p.infoboks(frame)
local frameargs = frame:getParent().args
local bokstype = frameargs[1] or nil
local usedef = definisjoner[bokstype] or defsTest1
local start = ibox.ibxStart(frame)
local text,par = ibox._innhold(frame,usedef) --defsTest1)
local slutt = ibox._ibxSlutt()
return start .. text .. slutt
end
local defsAvtale =
{
{ "bilde", pid = "P18", qid = "qid", bilde = "bilde", bildetekst = "bildetekst", byline = "byline",
bildestor = "bildestørrelse"},
{ "rad", param = "offisielt navn", pid = "P1448"},
{ "rad", param = "type", pid = "Pxxx"},
{ "rad", param = "møtedato", pid = "P585"},
{ "rad", param = "signeringsdato", pid = "P571"},
{ "rad", param = "ikraft", pid = "P7588",displayName="Trådte i kraft"},
{ "rad", param = "antall deltakere", pid = "P1132"},
{ "rad", param = "slutt", pid = "Pxxx"},
{ "rad", param = "parter", pid = "P710"},
{ "rad", param = "underskrevet av", pid = "P1891"},
{ "rad", param = "språk", pid = "P364"},
{ "rad", param = "fnid", pid = "P9966"},
{ "rad", param = "nettsted", pid = "P856"},
{ "rad", param = "opphørt", pid = "P576"},
{ "rad", param = "erstatter", pid = "P1365"},
{ "rad", param = "erstatning", pid = "P1366"},
{ "kart", param = nil},
}
function p.infoboksAvtale(frame)
local start = ibox.ibxStart(frame)
local text,par = ibox._innhold(frame,defsAvtale)
local slutt = ibox._ibxSlutt()
return start .. text .. slutt
end
local defsUtmerkelse =
{
{ "bilde", pid = "P18", qid = "qid", bilde = "bilde", bildetekst = "bildetekst", byline = "byline",
bildestor = "bildestørrelse"},
{ "overskrift", tekst = "Basisdata", innhold=
{
{ "rad", param = "type", pid = "Pxxx"},
{ "rad", param = "land", pid = "P17"},
{ "rad", param = "dato", pid = "P585",displayName="Innført"},
{ "rad", param = "mottakere", pid = "Pxxx"},
{ "rad", param = "antall", pid = "Pxxx"},
}
},
{ "overskrift", tekst = "Tekniske data", innhold=
{
{ "rad", param = "materiale", pid = "Pxxx"},
{ "rad", param = "festeanordning", pid = "Pxxx"},
{ "rad", param = "bredde", pid = "Pxxx"},
{ "rad", param = "høyde", pid = "Pxxx"},
}
},
{ "overskrift", tekst = "Rangering", innhold=
{
{ "rad", param = "rangering", pid = "Pxxx"},
{ "rad", param = "høyere", pid = "Pxxx"},
{ "rad", param = "lavere", pid = "Pxxx"},
}
},
}
function p.infoboksUtmerkelse(frame)
local start = ibox.ibxStart(frame)
local text,par = ibox._innhold(frame,defsUtmerkelse)
local slutt = ibox._ibxSlutt()
return start .. text .. slutt
end
return p