Bienvenue sur le wiki de Nuit debout, nous sommes le 3060 mars.
Module:Archives : Différence entre versions
De NuitDebout
m (A protégé « Module:Archives » ([Modifier=Autoriser uniquement les administrateurs] (infini) [Renommer=Autoriser uniquement les administrateurs] (infini))) |
|||
(2 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 121 : | Ligne 121 : | ||
while AnneeDebut <= AnneeFin do | while AnneeDebut <= AnneeFin do | ||
while PeriodeDebut <= LimiteFin do | while PeriodeDebut <= LimiteFin do | ||
− | if format == "nom" then | + | |
+ | if unite == "semaine" then | ||
+ | lien = page .. "/semaine " .. PeriodeDebut .. " " .. tostring(AnneeDebut) | ||
+ | if separateur == "||" then | ||
+ | texte = PeriodeDebut | ||
+ | else | ||
+ | texte = PeriodeDebut .. " " .. tostring(AnneeDebut) | ||
+ | end | ||
+ | |||
+ | elseif format == "nom" then | ||
lien = page .. "/" .. lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) | lien = page .. "/" .. lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) | ||
if separateur == "||" then | if separateur == "||" then | ||
Ligne 128 : | Ligne 137 : | ||
texte = lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) | texte = lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) | ||
end | end | ||
+ | |||
elseif format == "abréviation" then | elseif format == "abréviation" then | ||
lien = page .. "/" .. lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) | lien = page .. "/" .. lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) |
Version actuelle en date du 18 avril 2016 à 18:35
La documentation pour ce module peut être créée à Module:Archives/doc
lib_date = require('Module:Date') local p = {} function p.an(frame) if frame ~= nil then if frame.args[1] ~= nil then page = mw.text.trim(frame.args[1]) end if frame.args[2] ~= nil then debut = tonumber(mw.text.trim(frame.args[2])) end if frame.args[3] ~= nil then fin = tonumber(mw.text.trim(frame.args[3])) end if frame.args[4] ~= nil then separateur = mw.text.trim(frame.args[4]) if separateur == "grille" then separateur = "||" end end end if debut == nil or debut == "" then debut = 2004 end if fin == nil or fin == "" then fin = tonumber(os.date("%Y")) end if separateur == nil then separateur = "" end local ListeAnnees = {} if separateur == "||" then table.insert(ListeAnnees, '{| cellpadding="5" style="border:1px solid #aaaaaa; margin-top:1em; margin-bottom:0.5em" rules="all" align="center"\n|') elseif separateur == "image" then table.insert(ListeAnnees, "<ul>") tag1 = '<li style="float:left;margin:2px 2px 2px 8px;display:inline;">[[Image:Nuvola devices nfs mount.png|30px|link=' tag2 = "]]<br/>" tag3 = "</li>" end while debut <= fin do lien = page .. "/" .. tostring(debut) texte = tostring(debut) if separateur == "image" then table.insert(ListeAnnees, tag1 .. lien .. tag2 .. "[[" .. lien .. "|" .. texte .. "]]" .. tag3) else table.insert(ListeAnnees, "[[" .. lien .. "|" .. texte .. "]]") end debut = debut + 1 end if separateur == "||" then table.insert(ListeAnnees, "\n|}\n") elseif separateur == "image" then table.insert(ListeAnnees, "</ul>\n") separateur = "" end return table.concat(ListeAnnees, separateur .. " ") end function p.mois(frame) return p.periode("mois", frame) end function p.semaine(frame) return p.periode("semaine", frame) end function p.periode(unite, frame) if frame ~= nil then if frame.args[1] ~= nil then page = mw.text.trim(frame.args[1]) end if frame.args[2] ~= nil then AnneeDebut = mw.ustring.gsub(frame.args[2], "(.+)\-(.+)", "%1") AnneeDebut = tonumber(AnneeDebut) PeriodeDebut = mw.ustring.gsub(frame.args[2], "(.+)\-(.+)", "%2") PeriodeDebut = tonumber(PeriodeDebut) end if frame.args[3] ~= nil then AnneeFin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%1") AnneeFin = tonumber(AnneeFin) PeriodeFin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%2") PeriodeFin = tonumber(PeriodeFin) end if frame.args[4] ~= nil then if mw.text.trim(frame.args[4]) == "grille" then separateur = "||" else separateur = mw.text.trim(frame.args[4]) end else separateur = "" end if frame.args[5] ~= nil then if mw.text.trim(frame.args[5]) == "" then format = "nom" else format = mw.text.trim(frame.args[5]) end else format = "nom" end end if AnneeDebut == nil or AnneeDebut == "" then AnneeDebut = 2004 end if PeriodeDebut == nil or PeriodeDebut == "" then PeriodeDebut = 01 end if AnneeFin == nil or AnneeFin == "" then AnneeFin = tonumber(os.date("%Y")) end if unite == "semaine" then LimiteFin = tonumber(52) PeriodeFinTemp = tonumber(os.date("%W")) else LimiteFin = tonumber(12) PeriodeFinTemp = tonumber(os.date("%m")) end if PeriodeFin == nil or PeriodeFin == "" then PeriodeFin = PeriodeFinTemp end local ListePeriode = "" if separateur == "||" then ListePeriode = '{| cellpadding="5" style="border:1px solid #aaaaaa; margin-top:1em; margin-bottom:0.5em" rules="all" align="center"\n|' .. "'''" .. AnneeDebut .. "'''||" elseif separateur == "image" then ListePeriode = "<ul>" tag1 = '<li style="float:left;margin:2px 2px 2px 8px;display:inline;">[[Image:Nuvola devices nfs mount.png|30px|link=' tag2 = "]]<br/>" tag3 = "</li>" end while AnneeDebut <= AnneeFin do while PeriodeDebut <= LimiteFin do if unite == "semaine" then lien = page .. "/semaine " .. PeriodeDebut .. " " .. tostring(AnneeDebut) if separateur == "||" then texte = PeriodeDebut else texte = PeriodeDebut .. " " .. tostring(AnneeDebut) end elseif format == "nom" then lien = page .. "/" .. lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) if separateur == "||" then texte = lib_date.nomDuMois(PeriodeDebut) else texte = lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) end elseif format == "abréviation" then lien = page .. "/" .. lib_date.nomDuMois(PeriodeDebut) .. " " .. tostring(AnneeDebut) texte = mw.text.truncate(lib_date.nomDuMois(PeriodeDebut),3) else lien = page .. "/" .. tostring(AnneeDebut) .. "/" .. tostring(PeriodeDebut) texte = tostring(AnneeDebut) .. "/" .. tostring(PeriodeDebut) end if separateur == "image" then ListePeriode = ListePeriode .. tag1 .. lien .. tag2 .. "[[" .. lien .. "|" .. texte .. "]]" .. tag3 else ListePeriode = ListePeriode .. "[[" .. lien .. "|" .. texte .. "]]" end if AnneeDebut == AnneeFin and PeriodeDebut == PeriodeFin then PeriodeDebut = LimiteFin elseif PeriodeDebut < LimiteFin then if separateur ~= "image" then ListePeriode = ListePeriode .. separateur .. " " end end PeriodeDebut = PeriodeDebut + 1 end if AnneeDebut < AnneeFin or PeriodeDebut < PeriodeFin then -- Changement d'année sauf pour la toute dernière ligne if separateur == "||" then ListePeriode = ListePeriode .. "\n|-\n|'''" .. AnneeDebut+1 .. "'''||" else ListePeriode = ListePeriode .. "\n\n" end end PeriodeDebut = 1 AnneeDebut = AnneeDebut + 1 end if separateur == "||" then ListePeriode = ListePeriode .. "\n|}\n" elseif separateur == "image" then ListePeriode = ListePeriode .. "</ul>\n" end return ListePeriode end return p