Modul:Ukens konkurranse
Navn
[rediger kilde]Funksjonen navn
skriver ut navnet på en konkurranse fra oppføringene i Module:Ukens konkurranse-liste 2013, Module:Ukens konkurranse-liste 2012, osv.. Første argument er årstall, andre argument er ukenummer. Hvis ingen parametere er gitt vil modulen skrive ut navnet på denne ukens konkurranse (på samme måte som funksjonen .
Eksempler:
- Denne ukens konkurranse:
{{#invoke:Ukens konkurranse|navn}}
gir: - Uke 2, 2013:
{{#invoke:Ukens konkurranse|navn|2013|2}}
gir: Sjøfart i Norge - Alternativt kan man ha med 0 først:
{{#invoke:Ukens konkurranse|navn|2013|02}}
gir: Sjøfart i Norge - Alternativt kan man også bruke «gammel form»:
{{#invoke:Ukens konkurranse|navn|2013-02}}
gir: Sjøfart i Norge - En ikke-eksisterende uke:
{{#invoke:Ukens konkurranse|navn|2013|55}}
gir:
Fremtid/fortid/naa
[rediger kilde]Funksjonen fremtid
oppfører seg på samme måte som fuksjonen navn
men skriver ut navnet på konkurranser som ligger fremover i tid. Funksjonen tar utgangspunkt i den nåværende uken og parameteren er antall uker fremover i tid (for eksempel +1 eller 1 gir neste ukes konkurranse).
Funksjonen fortid
er helt identisk med fremtid
, men gir navnet konkurranser som ligger bakover i tid (her må man bruke - foran parameteren)
Funksjonen naa
(nb. lua støtter ikke særnorske tegn i funksjonsnavn) skriver ut navnet på denne ukens konkurranse.
Eksempler:
- Denne ukens konkurranse:
{{#invoke:Ukens konkurranse|naa}}
gir: - 1 uke fremover i tid:
{{#invoke:Ukens konkurranse|fremtid|1}}
gir: - 5 uker fremover i tid
{{#invoke:Ukens konkurranse|fremtid|+5}}
gir: Lua-feil i package.lua, linje 80: module 'Module:Ukens konkurranse-liste 2025' not found. - 25 uker bakover i tid
{{#invoke:Ukens konkurranse|fortid|25}}
gir:
Se også
[rediger kilde]
uk = {}
function uk.navn(frame)
local year
local week
if frame.args[1] == nil then
return uk.naa(frame)
end
if frame.args[2] == nil then
local spl = mw.text.split(frame.args[1], '-', true)
year = tonumber(spl[1])
week = tonumber(spl[2])
else
year = tonumber(frame.args[1])
week = tonumber(frame.args[2])
end
local modname = 'Module:Ukens konkurranse-liste ' .. year
local topics = require(modname)
local topic = topics[week]
return topic
end
function uk.fortid(fname)
fname.args[1] = - tonumber(fname.args[1])
return uk.fremtid(fname)
end
function uk.naa(frame)
local lang = mw.getContentLanguage()
local week = tonumber(lang:formatDate('W', now, true))
local year = tonumber(lang:formatDate('o', now, true))
local modname = 'Module:Ukens konkurranse-liste ' .. year
local topics = require(modname)
local topic = topics[week]
return topic
end
function uk.fremtid(frame)
local lang = mw.getContentLanguage()
local diff = frame.args[1]
local week = tonumber(lang:formatDate('W', diff..' week', true))
local year = tonumber(lang:formatDate('o', diff..' week', true))
local modname = 'Module:Ukens konkurranse-liste ' .. year
local topics = require(modname)
local topic = topics[week]
return topic
end
return uk