Module:WordOfDay
Module:WordOfDay >> Module:WordOfDay/τεκμηρίωση
Χρησιμοποιείται στο Βικιλεξικό:Λέξη της Ημέρας
Δείτε και το Module:DateFunctions
-- επιστρέφει τον πίνακα για τη ΛτΗ στη σελίδα [[Βικιλεξικό:Λέξη_της_Ημέρας]]
-- με βάση την τρέχουσα ημερομηνία του server
_p ={}
local datefunctions = require "Module:DateFunctions"
local monthdays = 0
local firstday = 0
--δημιουργία ανεξάρτητου frame (expensive?)
--ώστε και να μη χρειάζεται στη συνάρτηση λέξη
--και να μπορεί να τρέξει και στην κονσόλα δοκιμών
local framehere = mw.getCurrentFrame()
--
--βρες τώρα τη λέξη της ημέρας
function leksi (hmera)
if hmera<1 or hmera>31 then return '' end
local leksinum = 'ΛτΗ' .. d
local leksi = framehere:expandTemplate{ title = leksinum, args = { } }
return leski
end
function forweek1(keli)
if keli < firstday then
return ''
else
local d = keli - firstday + 1
return "'''" .. d .. "''' <br> '''[[" .. leksi(d) .. "]]''' <br> <small>[http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=edit αλλαγή] - [http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=history ιστορικό ]</small>"
end
end
function forweek2to4(keli)
local d = keli - firstday + 1
return "'''" .. d .. "''' <br> '''[[" .. leksi(d) .. "]]''' <br> <small>[http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=edit αλλαγή] - [http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=history ιστορικό ]</small>"
end
function forweek1(keli)
if keli < firstday then
return ''
else
local d = keli - firstday + 1
return "'''" .. d .. "''' <br> '''[[{{ΛτΗ" .. d .. "}}]]''' <br> <small>[http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=edit αλλαγή] - [http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=history ιστορικό ]</small>"
end
end
function forweek2to4(keli)
local d = keli - firstday + 1
return "'''" .. d .. "''' <br> '''[[{{ΛτΗ" .. d .. "}}]]''' <br> <small>[http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=edit αλλαγή] - [http://el.wiktionary.org/w/index.php?title=Πρότυπο:ΛτΗ" .. d .. "&action=history ιστορικό ]</small>"
end
function _p.daystable(frame)
-- χρησιμοποίησε το δημιουργημένο εδώ frame και όχι αυτό που πήραμε
monthdays = datefunctions.getMonthDays(frame)
firstday = datefunctions.getfirstDayNum(frame)
-- monthdays = 28
-- firstday = 1
local dayssum = monthdays + firstday -1
local rowstart = '|style=\'width:100px\' align=\'center\' | '
t = [=[<center>
{|style="float:center; border:5px solid #008B8B; background:#FFFACD;" rules="all" class=plainlinks
|-
! bgcolor="#008B8B" colspan="1" | Δευτέρα
! bgcolor="#008B8B" colspan="1" | Τρίτη
! bgcolor="#008B8B" colspan="1" | Τετάρτη
! bgcolor="#008B8B" colspan="1" | Πέμπτη
! bgcolor="#008B8B" colspan="1" | Παρασκευή
! bgcolor="#008B8B" colspan="1" | Σάββατο
! bgcolor="#008B8B" colspan="1" | Κυριακή
|-
]=]
for xcounter = 1,7 do
t = t .. rowstart .. forweek1(xcounter) .. '\n'
end
--προσθήκη νέας γραμμής
t = t .. '\n|-\n'
for ycounter = 1, 3 do
for xcounter = ((7*ycounter)+1),((7*ycounter)+7) do
t = t .. rowstart .. forweek2to4(xcounter) .. '\n'
end
--προσθήκη νέας γραμμής στο τέλος κάθε σειράς
t = t .. '\n|-\n'
end
if dayssum > 28 then
for xcounter = 29,35 do
if dayssum >= xcounter then
t = t .. rowstart .. forweek2to4(xcounter) .. '\n'
else
t = t .. '| ' .. '\n'
end
end
end
--προσωρινή λύση
if dayssum > 35 then
t = t .. '\n' .. '|-' .. '\n'
for xcounter = 36,42 do
if dayssum >= xcounter then
t = t .. rowstart .. forweek2to4(xcounter) .. '\n'
else
t = t .. '| ' .. '\n'
end
end
--προσθήκη νέας γραμμής
t = t .. '\n|-\n'
end
--αφαίρεση της έναρξης νέας γραμμής
--(μάλλον αυτή η έκδοση scribunto δεν θεωρεί το \n σαν 2 χαρακτήρες)
t = mw.ustring.sub(t, 1, -2)
--τέλος πίνακα και κεντραρίσματος
t = t .. '\n|}</center>'
return frame:preprocess(t)
-- return t
end
return _p