Modul:Iboks: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
feil parameternavn |
m 9 sideversjoner ble importert |
||
| (4 mellomliggende versjoner av en annen bruker er ikke vist) | |||
| Linje 1: | Linje 1: | ||
local math_mod = require( "Module:Math" ) | local math_mod = require( "Module:Math" ) | ||
local | local WikidataDato = require( 'Module:WikidataDato' ) | ||
local refs = require 'Module:Reference score' | |||
local WikidataBilde = require( 'Module:WikidataBilde' ) | local WikidataBilde = require( 'Module:WikidataBilde' ) | ||
| Linje 14: | Linje 15: | ||
end | end | ||
function p._formatUrl(url) | |||
local reftext = url | |||
local j1 = string.find(reftext,'//',1,true) | |||
if j1 then reftext = string.sub(reftext,j1+2,string.len(reftext)) else reftext = '' end | |||
if reftext ~= '' then | |||
local i1 = string.find(reftext,'/',1,true) | |||
if i1 then reftext = string.sub(reftext,1,i1-1) end | |||
else | |||
reftext = url | |||
end | |||
return "[" .. url .. " " .. reftext .. "]" | |||
end | |||
function getBestStatements(pid,entity) | function getBestStatements(pid,entity) | ||
if not pid then | if not pid then | ||
return nil | |||
end | |||
if not entity then | |||
return nil | return nil | ||
end | end | ||
| Linje 46: | Linje 61: | ||
end | end | ||
local | local references = prop1.references | ||
if references then | |||
value = value .. refs.render(mw.getCurrentFrame(),references) | |||
end | |||
return formatRad(tittel,value) | return formatRad(tittel,value) | ||
end | end | ||
| Linje 121: | Linje 138: | ||
return p._formatNumber(verdi) | return p._formatNumber(verdi) | ||
end | end | ||
function p.formatUrl(frame) | |||
local args = frame.args or nil | |||
if not args then | |||
return "" | |||
end | |||
local url = args[1] or args["url"] or nil | |||
return p._formatUrl(url) | |||
end | |||
function brukmal(frame,mal,kollaps) | |||
local frameargs = frame:getParent().args | |||
local text = frame:expandTemplate{ title=mal, args = frameargs} | |||
if text and text ~= "" then | |||
if kollaps then | |||
local resultat = string.format([[ | |||
<div class="mw-collapsible mw-collapsed"> | |||
-- <div class="sentrert">%s oppføringer</div> | |||
<div class="mw-collapsible-content">%s</div> | |||
</div> | |||
]], text) | |||
return resultat | |||
end | |||
end | |||
return text | |||
end | |||
function p.vannmasse(frame) | |||
local ag = frame.args | |||
local mal = ag["mal"] or none | |||
if mal then return brukmal(frame,mal) end | |||
return "" | |||
end | |||
function p.brukmal(frame) | |||
local ag = frame.args | |||
local frameargs = frame:getParent().args | |||
local mal = frameargs["mal"] or none | |||
local kollaps = frameargs["kollaps"] or none | |||
if mal then return brukmal(frame,mal,kollaps) end | |||
return "" | |||
end | |||
return p | return p | ||
Siste sideversjon per 22. apr. 2026 kl. 01:10
Formål
Verktøykasse for infobokser.
Metoder
verdiRad - kalles fra en mal ved
- {{#invoke:Iboks|verdiRad|parametre}}
| parameter | gitt argument | funksjon |
|---|---|---|
| tittel | tekst | Beskrivelsen av innholdet av raden |
| verdi | vilkårlig verdi | Verdi som skal presenteres i infoboksen. Verdien vil hvis det er oppgitt som et tall formateres med formatnum |
| uten | Denne raden skal ikke presenteres i infoboksen | |
| Denne raden skal eventuelt hente verdi fra Wikidata | ||
| enhet | tekst | Enheten som verdien er oppgitt i. Argumentet brukes bare hvis verdi er oppgitt. |
| ref | tekst | Referanse eller referanser for verdien som er gitt. Argumentet brukes bare hvis verdi er oppgitt. |
| pid | Wikidata identifikator | Identifikator på en egenskap i Wikidata som verdi, enhet og referanser skal hentes fra |
| qid | Wikidata identifikator | Identifikator på et element i Wikidata som egenskapen pid skal hentes fra. qid kan utelates og data vil i så fall hentes fra Wikidata-elementet til aktuell side. |
NB: Referanser hentes ikke fra Wikidata på det nåværende tidspunkt.
_verdiRad(tittel, verdi, enhet, ref, pid, qid)
- Samme som verdiRad, men for kall fra modul. Parametre, se verdiRad.
formatNumber(verdi)
- Metode for å gjøre formatnum på input som kanskje ikke er riktig formaterte tall.
- - kalles fra en mal ved
- {{#invoke:Iboks|formatNumber|verdi}}
formatUrl(url)
- Metode for å forkorte en url
- - kalles fra en mal ved
- {{#invoke:Iboks|formatUrl|url}}
local math_mod = require( "Module:Math" )
local WikidataDato = require( 'Module:WikidataDato' )
local refs = require 'Module:Reference score'
local WikidataBilde = require( 'Module:WikidataBilde' )
local p = {}
function formatRad(tittel,value)
return string.format([[
<tr class="rad" valign="top">
<th colspan="2" class="nowrap">%s</th>
<td colspan="2">%s</td>
</tr>
]], tittel, value)
end
function p._formatUrl(url)
local reftext = url
local j1 = string.find(reftext,'//',1,true)
if j1 then reftext = string.sub(reftext,j1+2,string.len(reftext)) else reftext = '' end
if reftext ~= '' then
local i1 = string.find(reftext,'/',1,true)
if i1 then reftext = string.sub(reftext,1,i1-1) end
else
reftext = url
end
return "[" .. url .. " " .. reftext .. "]"
end
function getBestStatements(pid,entity)
if not pid then
return nil
end
if not entity then
return nil
end
local prop = entity:getBestStatements(pid)
if not prop then
return nil
end
if not prop[1] then
return nil
end
if not prop[1].mainsnak then
return nil
end
return prop[1]
end
function p.singleValue(tittel,qid,pid,entity)
local prop1 = getBestStatements(pid,entity)
if not prop1 then
return ""
end
value = mw.wikibase.formatValue(prop1.mainsnak)
if value and value ~= "" then
local quals = prop1.qualifiers
local qual = nil
if quals then
qual = quals[1] or nil
end
local references = prop1.references
if references then
value = value .. refs.render(mw.getCurrentFrame(),references)
end
return formatRad(tittel,value)
end
return ""
end
function p._formatNumber(verdi)
if not verdi then
return ""
end
local num = mw.getContentLanguage():parseFormattedNumber(verdi)
if num then
return mw.getContentLanguage():formatNum(num)
end
return verdi
end
function p.formatVerdi(tittel,verdi,enhet,referanser)
local value = ""
local num = mw.getContentLanguage():parseFormattedNumber(verdi)
if num then
value = mw.getContentLanguage():formatNum(num) .. " " .. enhet .. referanser
else
value = verdi.. " " .. enhet .. referanser
end
return formatRad(tittel,value)
end
function lokalVerdiRad(tittel, verdi, enhet, referanser)
if verdi == "uten" then
return ""
end
local enhettxt = ""
local reftxt = ""
if enhet then
enhettxt = enhet
end
if referanser then
reftxt = referanser
end
return p.formatVerdi(tittel, verdi, enhettxt, reftxt)
end
function p._verdiRad(tittel, verdi, enhet, ref, pid, qid)
if verdi and verdi ~= "" then
return lokalVerdiRad(tittel, verdi, enhet, ref)
end
local entity = mw.wikibase.getEntity(qid)
return p.singleValue(tittel,qid,pid,entity)
end
function p.verdiRad(frame)
local args = frame.args or nil
if not args then
return ""
end
local verdi = args["verdi"] or nil
local enhet = args["enhet"] or nil
local ref = args["ref"] or nil
local tittel = args["tittel"] or nil
local pid = args["pid"] or nil
local qid = args["qid"] or nil
return p._verdiRad(tittel, verdi, enhet, ref, pid, qid)
end
function p.formatNumber(frame)
local args = frame.args or nil
if not args then
return ""
end
local verdi = args[1] or args["verdi"] or nil
return p._formatNumber(verdi)
end
function p.formatUrl(frame)
local args = frame.args or nil
if not args then
return ""
end
local url = args[1] or args["url"] or nil
return p._formatUrl(url)
end
function brukmal(frame,mal,kollaps)
local frameargs = frame:getParent().args
local text = frame:expandTemplate{ title=mal, args = frameargs}
if text and text ~= "" then
if kollaps then
local resultat = string.format([[
<div class="mw-collapsible mw-collapsed">
-- <div class="sentrert">%s oppføringer</div>
<div class="mw-collapsible-content">%s</div>
</div>
]], text)
return resultat
end
end
return text
end
function p.vannmasse(frame)
local ag = frame.args
local mal = ag["mal"] or none
if mal then return brukmal(frame,mal) end
return ""
end
function p.brukmal(frame)
local ag = frame.args
local frameargs = frame:getParent().args
local mal = frameargs["mal"] or none
local kollaps = frameargs["kollaps"] or none
if mal then return brukmal(frame,mal,kollaps) end
return ""
end
return p