Bienvenue sur le wiki de Nuit debout, nous sommes le 3060 mars.
Module:Archives
De NuitDebout
Révision de 16 avril 2016 à 00:25 par JackPotte (discussion)
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) MoisDebut = mw.ustring.gsub(frame.args[2], "(.+)\-(.+)", "%2") MoisDebut = tonumber(MoisDebut) end if frame.args[3] ~= nil then AnneeFin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%1") AnneeFin = tonumber(AnneeFin) MoisFin = mw.ustring.gsub(frame.args[3], "(.+)\-(.+)", "%2") MoisFin = tonumber(MoisFin) 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 MoisDebut == nil or MoisDebut == "" then MoisDebut = 01 end if AnneeFin == nil or AnneeFin == "" then AnneeFin = tonumber(os.date("%Y")) end if MoisFin == nil or MoisFin == "" then MoisFin = tonumber(os.date("%m")) end local ListeMois = "" if separateur == "||" then ListeMois = '{| cellpadding="5" style="border:1px solid #aaaaaa; margin-top:1em; margin-bottom:0.5em" rules="all" align="center"\n|' .. "'''" .. AnneeDebut .. "'''||" elseif separateur == "image" then ListeMois = "<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 MoisDebut <= 12 do if format == "nom" then lien = page .. "/" .. lib_date.nomDuMois(MoisDebut) .. " " .. tostring(AnneeDebut) if separateur == "||" then texte = lib_date.nomDuMois(MoisDebut) else texte = lib_date.nomDuMois(MoisDebut) .. " " .. tostring(AnneeDebut) end elseif format == "abréviation" then lien = page .. "/" .. lib_date.nomDuMois(MoisDebut) .. " " .. tostring(AnneeDebut) texte = mw.text.truncate(lib_date.nomDuMois(MoisDebut),3) else lien = page .. "/" .. tostring(AnneeDebut) .. "/" .. tostring(MoisDebut) texte = tostring(AnneeDebut) .. "/" .. tostring(MoisDebut) end if separateur == "image" then ListeMois = ListeMois .. tag1 .. lien .. tag2 .. "[[" .. lien .. "|" .. texte .. "]]" .. tag3 else ListeMois = ListeMois .. "[[" .. lien .. "|" .. texte .. "]]" end if AnneeDebut == AnneeFin and MoisDebut == MoisFin then MoisDebut = 12 elseif MoisDebut < 12 then if separateur ~= "image" then ListeMois = ListeMois .. separateur .. " " end end MoisDebut = MoisDebut + 1 end if AnneeDebut < AnneeFin or MoisDebut < MoisFin then -- Changement d'année sauf pour la toute dernière ligne if separateur == "||" then ListeMois = ListeMois .. "\n|-\n|'''" .. AnneeDebut+1 .. "'''||" else ListeMois = ListeMois .. "\n\n" end end MoisDebut = 1 AnneeDebut = AnneeDebut + 1 end if separateur == "||" then ListeMois = ListeMois .. "\n|}\n" elseif separateur == "image" then ListeMois = ListeMois .. "</ul>\n" end return ListeMois end return p