Modul:Kalender
Die Dokumentation für dieses Modul kann unter Modul:Kalender/Doku erstellt werden
-- Modul für diverse Kalendervorlagen.
-- Grundlegende funktionen sind im Modul:DateTime zu finden.
-- trim: Entfernen aller Zeilenumbrüche, Austausch echter Tabulatoren durch Leerzeichen
-- anschließend Entfernung führender oder abschließender Leerzeichen.
local function trim(s)
s = mw.ustring.gsub(s,"\n","");
s = mw.ustring.gsub(s,"\t"," ");
while mw.ustring.sub(s,1,1) == " " do
s= mw.ustring.sub(s,2,-1);
end
while mw.ustring.sub(s,-1,-1) == " " do
s= mw.ustring.sub(s,1,-2);
end
return s;
end
local Kalender = {};
function Kalender.Jahrhundertnavigation(frame)
local jh = tonumber(frame.args[1] or "") or 21;
local Text = '<table style="border:1px solid #000000; width:60ex; text-align:center; box-sizing: border-box; line-height:110%;">\n'
local jahr = 0;
local t = '';
local n = 0;
if jh > 0 and jh < 22 then
jahr = (jh - 1) * 100;
t = '<tr>'
for i = 0, 4, 1 do
t = t .. '<td colspan="2"> [['.. tostring(jahr + i * 10) ..'er]] </td>'
end
t = t .. '</tr>\n'
Text = Text .. t;
if jh < 21 then
t = '<tr>'
for i = 5, 9, 1 do
t = t .. '<td colspan="2"> [['.. tostring(jahr + i * 10) ..'er]] </td>'
end
t = t .. '</tr>\n'
Text = Text .. t;
end
for z = 0,4, 1 do
t = '<tr>'
for i = 1, 10, 1 do
n = z * 10 + i
t = t .. '<td> [['.. tostring(jahr + n) ..']] </td>';
end
t = t .. '</tr>\n'
Text = Text .. t;
end
if jh < 21 then
for z = 4,9, 1 do
t = '<tr>'
for i = 1, 10, 1 do
n = z * 10 + i
t = t .. '<td> [['.. tostring(jahr + n) ..']] </td>';
end
t = t .. '</tr>\n'
Text = Text .. t;
end
end
Text = Text .. '</table>\n'
elseif jh < 0 and jh > -17 then
jahr = - (jh+1) * 100;
t = '<tr>'
for i = 9, 5, -1 do
j = tostring(jahr + i * 10)
t = t .. '<td colspan="2"> [['..j ..'er v. Chr.|'.. j .. 'er]] </td>'
end
t = t .. '</tr>\n'
Text = Text .. t;
t = '<tr>'
for i = 4, 0, -1 do
j = tostring(jahr + i * 10)
t = t .. '<td colspan="2"> [['.. j ..'er v. Chr.|'.. j .. 'er]] </td>'
end
t = t .. '</tr>\n'
Text = Text .. t;
Text = Text ..'<tr><td colspan="10">v. Chr.</td></tr>\n'
for z = 9,0, -1 do
t = '<tr>'
for i = 10, 1, -1 do
n = z * 10 + i
j = tostring(jahr + n)
t = t .. '<td> [['.. j ..' v. Chr.|'.. j .. ']] </td>';
end
t = t .. '</tr>\n'
Text = Text .. t;
end
Text = Text .. '</table>\n'
else
Text = Text ..'<tr><td class="error">Fehler! Aufruf von [[Vorlage:Jahrhundertnavigation]] mit unerlaubtem Parameterwert!</td></tr></table>\n'
end
return Text;
end
return Kalender