Modul:Jahrestag: Unterschied zwischen den Versionen

fix kal.month_names[
Keine Bearbeitungszusammenfassung
(fix kal.month_names[)
 
(48 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
local p = {}
local p = {}
local c = require( "Module:Common" )


function p.Kalender( frame )
local com = require("Modul:Common")
pf = frame:getParent()
local str = require("Modul:String")
args = pf.args
local arr = require("Modul:Array")
pt = mw.title.getCurrentTitle().text
local kal = require("Modul:Kalender")
x=split(pt, '.')
 
function p.Kalender(frame)
local args = frame:getParent().args
local title = mw.title.getCurrentTitle().text
local ma = str.split(title, '.')
local day, month, month_nr
local md, mu -- month down/month up
if com.len(ma) == 1 then
day = 0
month = ma[1]
else
day = str.rstrip(ma[1])
month = str.lstrip(ma[2])
end
t = '<table class="wikitable monatsbox">'..
month_nr = kal.month_numbers[month]
'<tr>'..
 
    '<th>◄</th>'..
local t='<table class="wikitable monatsbox">'..
    '<th colspan="5">[[:Kategorie:Februar|Februar]]</th>'..
'<tr>'
    '<th>►</th>'..
'</th>'
-- Von Januar aus wieder auf Dezember springen
md = month_nr - 1
t = t..'<tr>'
if md == 0 then
for i=1, 7 do
md = 12
    t=t..'<td align="right">'..i..'</td>'
end
end
t = t..'</tr>'
t = t..'<tr>'
-- Der md (month-down-button) verlinkt zum nächsten Tag der existiert
for i=8, 14 do
    t=t..'<th>[['
     t=t..'<td align="right">'..i..'</td>'
    if day ~= 0 then
    mds = day..'. '..kal.month_names[md]
    for i = 0, 2 do
      mds = tostring(day-i)..'. '..kal.month_names[md]
    if mw.title.new(mds).exists then
    break
    end
    end
    t=t..mds
    else
     t=t..':Kategorie:'..kal.month_names[md]
    end
    t=t..'|◄]]</th>'..
        '<th colspan="5">[[:Kategorie:'..month..'|'..month..']]</th>'
   
    -- Von Dezember aus wieder auf Januar springen
    mu = month_nr + 1
if mu == 13 then
mu = 1
end
end
t = t..'</tr>'
t = t..'<tr>'
-- Der mu (month-up-button) verlinkt zum nächsten Tag der existiert
for i=15, 21 do
    t=t..'<th>[['
     t=t..'<td align="right">'..i..'</td>'
    if day ~= 0 then
end
    mus = day..'. '..kal.month_names[mu]
t = t..'</tr>'
    for i = 0, 2 do
    mus = tostring(day-i)..'. '..kal.month_names[mu]
    if mw.title.new(mus).exists then
    break
    end
    end
    t=t..mus
else
     t=t..':Kategorie:'..kal.month_names[mu]
    end
    t=t..'|►]]</th>'
t = t..'<tr>'
-- A weng ungampert, aber funktioniert ;-)
for i=22, 28 do
t=t..p.woche(1, month) ..
    t=t..'<td align="right">'..i..'</td>'
p.woche(8, month) ..
p.woche(15, month) ..
p.woche(22, month) ..
p.woche(29, month)
t=t..'</table>'
return t
end
 
function p.woche(day, month)
local a = 6
if day == 29 then
if arr.contains({'April', 'Juni', 'September', 'November'}, month) then
a=1
elseif month == 'Februar' then
a=0
else
a=2
end
end
end
t = t..'</tr>'
t = t..'<tr>'
local t = '<tr>'
for i=29, 31 do
for i=day, day + a do
     t=t..'<td align="right">'..i..'</td>'
     t = t .. '<td align="right">[['..i..'. ' .. month .. '|' .. i .. ']]</td>'
end
end
t = t..'</tr>'
t = t..'</tr>'
t = t..'</table>'
return t..x[0]..x[1]
end
function Jahre(year)
t = '[['..tostring(year-1)..'|◄]] | ' ..
'[['..tostring(year-5)..']] | ' ..
'[['..tostring(year-4)..']] | ' ..
'[['..tostring(year-3)..']] | ' ..
'[['..tostring(year-2)..']] | ' ..
'[['..tostring(year-1)..']] | ' ..
'[['..tostring(year)..']] | ' ..
'[['..tostring(year+1)..']] | ' ..
'[['..tostring(year+2)..']] | ' ..
'[['..tostring(year+3)..']] | ' ..
'[['..tostring(year+4)..']] | ' ..
'[['..tostring(year+5)..']] | ' ..
'[['..tostring(year+1)..'|►]]<br>'
return t
return t
end
end


function Jahrzehnt(year)
t = '[['..tostring(year-10)..'|◄]] | '..
    'Jahrzehnt | '..
'[['..tostring(year+10)..'|►]]<br>'
return t
end
return p
return p