Modul:UK forslag
Utseende
Moduldokumentasjon
Denne modulen gir lenke til fremtidlige konkurranser et gitt antall uker eller måneder fremover i tid.
Hvis konkurransesiden ikke finnes vil modulen vise en lenke med [1] informasjon. Hvis uken/måneden står blank vil den vise lenke til navnelisten for konkurransene.
Eksempler ukens konkurranse:
{{#invoke:UK forslag|forslag|1}}
lenke til neste ukes konkurranse : Ikke bestemt ennå (føy til forslag){{#invoke:UK forslag|forslag|5}}
lenke til konkurranse om 5 uker : Ikke bestemt ennå (føy til forslag){{#invoke:UK forslag|forslag|10}}
lenke til konkurranse om 10 uker : Ikke bestemt ennå (føy til forslag){{#invoke:UK forslag|forslag|-10}}
lenke til konkurransen for 10 uker siden : Ikke bestemt ennå (føy til forslag)
Eksempler månedens konkurranse:
{{#invoke:UK forslag|forslag_mk|1}}
lenke til neste måneds konkurranse : Ballett og musikaler (opprett){{#invoke:UK forslag|forslag_mk|5}}
lenke til konkurranse om 5 måneder : Wiki Loves Monuments / Kulturminner (opprett){{#invoke:UK forslag|forslag_mk|10}}
lenke til konkurranse om 10 måneder : Vinter-OL og Italia (opprett){{#invoke:UK forslag|forslag_mk|-10}}
lenke til konkurransen for 10 måneder siden : Fotball og Tyskland
Denne modulen benytter seg av underlister for å finne frem til navnene på konkurransene:
local p = {}
local lang = mw.getContentLanguage()
function p.forslag(frame)
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 = 'Modul:Ukens konkurranse-liste ' .. year
local topics = require(modname)
local topic = topics[week]
local pagename = string.format("Wikipedia:Konkurranser/Ukens konkurranse %04d-%02d", year, week)
-- er tema bestemt?
if topic == "" then
return "''Ikke bestemt ennå'' <small>([[Modul:Ukens konkurranse-liste " .. year .. "|føy til forslag]])</small>"
end
-- sjekk om siden eksisterer
local page = mw.title.new(pagename)
if not page.exists then
local s = topic
s = s .. frame:preprocess(string.format(" ''<small>[{{fullurl:Wikipedia:Konkurranser/Ukens konkurranse %04d-%02d|action=edit&preload=Mal:Ukens_konkurranse_preload}} (opprett)]</small>''", year, week))
return s
end
return "[[" .. pagename .. "|" .. topic .. "]]"
end
function p.forslag_mk(frame)
local diff = frame.args[1]
local month = tonumber(lang:formatDate('n', diff..' month', true))
local year = tonumber(lang:formatDate('o', diff..' month', true))
local key = string.format('%04d-%02d', year, month)
local modname = 'Modul:Månedens konkurranse'
local topics = require(modname)
local topic = topics[key]
local pagename = string.format("Wikipedia:Konkurranser/Månedens konkurranse %s", key)
-- er tema bestemt?
if topic == nil or topic == "" then
return "''Ikke bestemt ennå'' <small>([[Modul:Månedens konkurranse|føy til forslag]])</small>"
end
-- sjekk om siden eksisterer
local page = mw.title.new(pagename)
if not page.exists then
local s = topic
s = s .. frame:preprocess(string.format(" ''<small>[{{fullurl:Wikipedia:Konkurranser/Månedens konkurranse %s|action=edit&preload=Mal:Ukens_konkurranse_preload}} (opprett)]</small>''", key))
return s
end
return "[[" .. pagename .. "|" .. topic .. "]]"
end
return p