Module:DafYomi: Difference between revisions
Appearance
No edit summary |
m Ypn^2 moved page Module:Sandbox/ypn^2 to Module:DafYomi: Move to mainspace |
||
(No difference)
|
Revision as of 20:03, 24 November 2024
![]() | This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
Usage
{{#invoke:DafYomi|today}}
{{#invoke:DafYomi|date|month=7|day=31|year=2020}}
{{#invoke:DafYomi|today|format=''daf'' %d of Tractate ''%m''}}
{{#invoke:DafYomi|date|month=7|day=31|year=2020|format=''[[%m (Talmud)|%m]]'', page %d}}
local p = {}
function p.today (frame)
return fromDate(os.date("!*t"))
end
function p.date (frame)
return fromDate(frame.args)
end
function fromDate (dat)
local res = mas_daf(dat)
return res.mas .. " " .. (res.daf + 1)
end
function mas_daf (dat)
dat.hour = 0
dat.min = 0
dat.sec = 0
dat = os.time(dat)
local date0 = os.time({year=2005,month=2,day=28,hour=0,min=0,sec=0})
local sinceS = dat-date0 + 200
local sinceD = math.floor(sinceS / 86400)
local days = sinceD % 2711
if (days == 0) then return {mas='Niddah', daf='72'} end
if (days <= 63) then return {mas='Berakhot',daf=days} end
days = days - 63
if (days <= 156) then return {mas='Shabbat',daf=days} end
days = days - 156
if (days <= 104) then return {mas='Eruvin',daf=days} end
days = days - 104
if (days <= 120) then return {mas='Pesachim',daf=days} end
days = days - 120
if (days <= 21) then return {mas='Shekalim',daf=days} end
days = days - 21
if (days <= 87) then return {mas='Yoma',daf=days} end
days = days - 87
if (days <= 55) then return {mas='Sukkah',daf=days} end
days = days - 55
if (days <= 39) then return {mas='Beitza',daf=days} end
days = days - 39
if (days <= 34) then return {mas='Rosh Hashanah',daf=days} end
days = days - 34
if (days <= 30) then return {mas="Ta'anit",daf=days} end
days = days - 30
if (days <= 31) then return {mas='Megillah',daf=days} end
days = days - 31
if (days <= 28) then return {mas="Mo'ed Katan",daf=days} end
days = days - 28
if (days <= 27) then return {mas='Chagigah',daf=days} end
days = days - 27
if (days <= 121) then return {mas='Yevamot',daf=days} end
days = days - 121
if (days <= 111) then return {mas='Ketubot',daf=days} end
days = days - 111
if (days <= 90) then return {mas='Nedarim',daf=days} end
days = days - 90
if (days <= 65) then return {mas='Nazir',daf=days} end
days = days - 65
if (days <= 48) then return {mas='Sotah',daf=days} end
days = days - 48
if (days <= 89) then return {mas='Gittin',daf=days} end
days = days - 89
if (days <= 81) then return {mas='Kiddushin',daf=days} end
days = days - 81
if (days <= 118) then return {mas='Bava Kamma',daf=days} end
days = days - 118
if (days <= 118) then return {mas='Bava Metzia',daf=days} end
days = days - 118
if (days <= 175) then return {mas='Bava Batra',daf=days} end
days = days - 175
if (days <= 112) then return {mas='Sanhedrin',daf=days} end
days = days - 112
if (days <= 23) then return {mas='Makkot',daf=days} end
days = days - 23
if (days <= 48) then return {mas='Shevuot',daf=days} end
days = days - 48
if (days <= 75) then return {mas='Avodah Zarah',daf=days} end
days = days - 75
if (days <= 13) then return {mas='Horayot',daf=days} end
days = days - 13
if (days <= 119) then return {mas='Zevachim',daf=days} end
days = days - 119
if (days <= 109) then return {mas='Menachot',daf=days} end
days = days - 109
if (days <= 141) then return {mas='Chullin',daf=days} end
days = days - 141
if (days <= 60) then return {mas='Bekhorot',daf=days} end
days = days - 60
if (days <= 33) then return {mas='Arakhin',daf=days} end
days = days - 33
if (days <= 33) then return {mas='Temurah',daf=days} end
days = days - 33
if (days <= 27) then return {mas='Keritot',daf=days} end
days = days - 27
if (days <= 21) then return {mas="Me'ilah",daf=days} end
if (days <= 24) then return {mas='Kinnim',daf=days} end
if (days <= 32) then return {mas='Tamid',daf=days} end
if (days <= 36) then return {mas='Middot',daf=days} end
days = days - 36
return {mas='Niddah',daf=days}
end
return p