Module:User:Xoristzatziki/test2
Εμφάνιση
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png)
export = {}
local Lf = {} --τοπικές συναρτήσεις
local Ld = {} --τοπικές μεταβλητές, μπορούν να έχουν τα ίδια ονόματα με τις συναρτήσεις
--local lc = {} σε όλες τις συναρτήσεις για τοπικές μεταβλητές μέσα σε αυτές
Lf['συναρτήσεις'] = require "Module:Ημερολόγια/Συναρτήσεις"
Lf['σφάλμα'] = function(errstring)
return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο Module:Ημερολόγια]]'
end
--Προεπισκόπιση σελίδας με αυτό το πρότυπο: Χρήστης:Xoristzatziki/test2
export['τεστάκια'] = function(frame)
local lc = {}
lc['args2'] = frame.args
lc['args'] = frame:getParent().args
lc['pagename'] = mw.title.getCurrentTitle().text
lc['output'] = ''
for k, v in pairs(lc['args2']) do
lc['output'] = lc['output'] .. k .. v
end
--lc['ημέρα έτους 366'] = Lf['συναρτήσεις']['ημέρα έτους 366'](2, 3)
--return "Hello World" .. pagename .. type(args2 ) .. type(args)
--return frame:preprocess(Lf['συναρτήσεις']['μήνες στη σειρά']() )
--return frame:preprocess(Lf['συναρτήσεις']['μήνες στη σειρά 5'](1) )
--return frame:preprocess(Lf['συναρτήσεις']['ημέρες στη σειρά'](2) )
--return frame:preprocess(Lf['συναρτήσεις']['πίνακας μήνα'](2) )
--return frame:preprocess(Lf['κεφαλίδα μήνα'](2) )
--return frame:preprocess(Lf['κεφαλίδα ημερομηνίας'](2,2) )
return frame:preprocess(Lf['κεφαλίδα μήνα'](2) )
--return frame:preprocess(Lf['συναρτήσεις']['γραμμή ορισμού'](lc['ημέρα έτους 366']))
end
--για τις σελίδες των μηνών
export['κεφαλίδα μήνα'] = function(frame)
local lc = {} --frame:getParent().args
lc['σελίδα'] = mw.title.getCurrentTitle()
lc = Lf['έλεγχος τίτλου σελίδας μήνα'](lc)
if (lc['σφάλμα'] or '') ~= '' then
return lc['σφάλμα']
end
--έχουμε πλέον lc['μήνας'] αριθμός
return frame:preprocess(Lf['κεφαλίδα μήνα'](lc['μήνας'] ))
end
--επιστρέφει τον πίνακα που πήρε
Lf['έλεγχος τίτλου σελίδας μήνα'] = function(lc)
if lc['σελίδα']['namespace'] ~= 0 then
lc['σφάλμα'] = Lf['σφάλμα']('Η συνάρτηση μπορεί να χρησιμοποιηθεί μόνο στον κύριο ονοματοχώρο.')
return lc
end
lc['τίτλος σελίδας'] = mw.text.trim(lc['σελίδα']['text'])
for i = 1, 12 do
if Ld['μήνες'][i]['όνομα'] == lc['τίτλος σελίδας'] then
lc['μήνας'] = i
break
end
end
if (lc['μήνας'] or '') == '' then
lc['σφάλμα'] = Lf['σφάλμα']('Δεν βρέθηκε το όνομα του μήνα στον πίνακα.')
return lc
end
return lc
end
--επιστρέφει κείμενο wiki
Lf['κεφαλίδα μήνα'] = function(monhtnum)
return Lf['συναρτήσεις']['μήνες στη σειρά']() .. "\n" .. Lf['συναρτήσεις']['ημέρες στη σειρά'](monhtnum) .. "\n----\n" .. Lf['συναρτήσεις']['πίνακας μήνα'](monhtnum)
end
--για τις κεφαλίδες ημερομηνιών που δεν περιέχουν έτος.
--[1 Ιανουαρίου], [30 Μαρτίου] κλπ.
export['κεφαλίδα ημερομηνίας'] = function(frame)
local lc = {} --frame:getParent().args
lc['σελίδα'] = mw.title.getCurrentTitle()
lc = Lf['έλεγχος τίτλου σελίδας ημερομηνίας'](lc)
if (lc['σφάλμα'] or '') ~= '' then
return lc['σφάλμα']
end
--έχουμε πλέον
--lc['ημέρα του μήνα'] αριθμός, lc['μήνας'] αριθμός
return frame:preprocess(Lf['κεφαλίδα ημερομηνίας'](lc['ημέρα του μήνα'], lc['μήνας'] ))
end
--επιστρέφει τον πίνακα που πήρε
Lf['έλεγχος τίτλου σελίδας ημερομηνίας'] = function(lc)
if lc['σελίδα']['namespace'] ~= 0 then
lc['σφάλμα'] = Lf['σφάλμα']('Η συνάρτηση μπορεί να χρησιμοποιηθεί μόνο στον κύριο ονοματοχώρο.')
return lc
end
lc['τίτλος σελίδας'] = mw.text.trim(lc['σελίδα']['text'])
lc['tmptbl'] = mw.text.split(lc['τίτλος σελίδας'], ' ')
if (#lc['tmptbl'] or 0) ~= 2 then
lc['σφάλμα'] = Lf['σφάλμα']('Ο τίτλος δεν περιέχει μόνο ένα κένο.')
return lc
end
lc['ημέρα του μήνα'] = tonumber(lc['tmptbl'][1])
for i = 1, 12 do
if Ld['μήνες'][i]['γεν'] == lc['tmptbl'][2] then
lc['μήνας'] = i
break
end
end
if (lc['μήνας'] or '') == '' then
lc['σφάλμα'] = Lf['σφάλμα']('Δεν βρέθηκε το όνομα του μήνα στον πίνακα.')
return lc
end
if Ld['μήνες'][lc['μήνας']]['ημ'] < lc['ημέρα του μήνα'] then
lc['σφάλμα'] = Lf['σφάλμα']('Η ημέρα είναι μεγαλύτερη από τις ημέρες του μήνα.')
return lc
end
return lc
end
--επιστρέφει κείμενο wiki
Lf['κεφαλίδα ημερομηνίας'] = function(daynum, monhtnum)
local lc = {}
lc['ημέρα έτους 366'] = Lf['συναρτήσεις']['ημέρα έτους 366'](daynum, monhtnum)
lc['κεφαλίδα'] = Lf['συναρτήσεις']['μήνες στη σειρά 5'](monhtnum)
lc['κεφαλίδα'] = lc['κεφαλίδα'] .. "\n" .. Lf['συναρτήσεις']['ημέρες στη σειρά 34'](lc['ημέρα έτους 366']) .. "\n" .. "\n----\n"
lc['κεφαλίδα'] = lc['κεφαλίδα'] .. Lf['συναρτήσεις']['γραμμή ορισμού'](lc['ημέρα έτους 366'])
lc['κεφαλίδα'] = lc['κεφαλίδα'] .. '\n' .. Lf['συναρτήσεις']['πίνακας μήνα'](monhtnum)
return lc['κεφαλίδα']
end
export['κεφαλίδα έτους'] = function(frame)
local lc = {}
lc['σελίδα'] = mw.title.getCurrentTitle()
lc = Lf['έλεγχος τίτλου σελίδας έτους'](lc)
if (lc['σφάλμα'] or '') ~= '' then
return lc['σφάλμα']
end
--έχουμε πλέον
--lc['ημέρα του μήνα'] αριθμός, lc['μήνας'] αριθμός
return frame:preprocess(Lf['κεφαλίδα ημερομηνίας'](lc['ημέρα του μήνα'], lc['μήνας'] ))
end
--επιστρέφει τον πίνακα που πήρε
Lf['έλεγχος τίτλου σελίδας έτους'] = function(lc)
lc['σφάλμα'] = Lf['σφάλμα']('Δεν έχει υλοποιηθεί ακόμα')
return lc
end
--επιστρέφει κείμενο wiki
Lf['κεφαλίδα έτους'] = function(etos)
local lc = {}
lc['σφάλμα'] = Lf['σφάλμα']('Δεν έχει υλοποιηθεί ακόμα')
return lc['σφάλμα']
end
return export