Skip to content

Commit 9c0e070

Browse files
committed
Add Tanakh Yomi chapters/verses from masoretic divisions
1 parent bddb83d commit 9c0e070

6 files changed

+459
-48
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hebcal/learning",
3-
"version": "5.0.2",
3+
"version": "5.0.3",
44
"description": "Daily learning schedules: Daf Yomi, Mishna Yomi, etc",
55
"main": "dist/index.cjs",
66
"module": "dist/index.mjs",

src/masoretic.json

+327
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,327 @@
1+
{
2+
"Joshua":[
3+
"1:1-3:6",
4+
"3:7-4:23",
5+
"4:24-6:26",
6+
"6:27-8:32",
7+
"8:33-10:7",
8+
"10:8-41",
9+
"10:42-12:24",
10+
"13:1-14:14",
11+
"14:15-17:3",
12+
"17:4-18:27",
13+
"18:28-19:50",
14+
"19:51-21:40",
15+
"21:41-22:33",
16+
"22:34-24:33"
17+
],
18+
"Judges":[
19+
"1:1-2:6",
20+
"2:7-3:30",
21+
"3:31-5:30",
22+
"5:31-6:39",
23+
"6:40-8:2",
24+
"8:3-9:6",
25+
"9:7-57",
26+
"10:1-11:31",
27+
"11:32-13:23",
28+
"13:24-16:2",
29+
"16:3-18:5",
30+
"18:6-19:19",
31+
"19:20-20:26",
32+
"20:27-21:25"
33+
],
34+
"Samuel":[
35+
"I Samuel 1:1-2:9",
36+
"I Samuel 2:10-3:19",
37+
"I Samuel 3:20-6:13",
38+
"I Samuel 6:14-9:1",
39+
"I Samuel 9:2-10:23",
40+
"I Samuel 10:24-12:21",
41+
"I Samuel 12:22-14:22",
42+
"I Samuel 14:23-15:16",
43+
"I Samuel 15:17-16:17",
44+
"I Samuel 16:18-17:36",
45+
"I Samuel 17:37-18:13",
46+
"I Samuel 18:14-20:3",
47+
"I Samuel 20:4-41",
48+
"I Samuel 20:42-23:3",
49+
"I Samuel 23:4-24:19",
50+
"I Samuel 24:20-25:32",
51+
"I Samuel 25:33-26:24",
52+
"I Samuel 26:25-28:23",
53+
"I Samuel 28:24-30:24",
54+
"I Samuel 30:25-31:13",
55+
"II Samuel 2:7-3:20",
56+
"II Samuel 3:21-5:9",
57+
"II Samuel 5:10-7:15",
58+
"II Samuel 7:16-10:11",
59+
"II Samuel 10:12-12:12",
60+
"II Samuel 12:13-13:24",
61+
"II Samuel 13:25-14:32",
62+
"II Samuel 14:33-15:36",
63+
"II Samuel 15:37-17:19",
64+
"II Samuel 17:20-18:26",
65+
"II Samuel 18:27-19:39",
66+
"II Samuel 19:40-21:6",
67+
"II Samuel 21:7-22:50",
68+
"II Samuel 22:51-24:25"
69+
],
70+
"Song of Songs":["1:1-8:14"],
71+
"Ruth":["1:1-4:22"],
72+
"Kings":[
73+
"I Kings 1:1-47",
74+
"I Kings 1:48-2:44",
75+
"I Kings 2:45-4:19",
76+
"I Kings 4:20-6:12",
77+
"I Kings 6:13-7:20",
78+
"I Kings 7:21-8:10",
79+
"I Kings 8:11-57",
80+
"I Kings 8:58-10:8",
81+
"I Kings 10:9-11:27",
82+
"I Kings 11:28-12:23",
83+
"I Kings 12:24-13:30",
84+
"I Kings 13:31-15:7",
85+
"I Kings 15:8-16:14",
86+
"I Kings 16:15-17:23",
87+
"I Kings 17:24-18:38",
88+
"I Kings 18:39-20:12",
89+
"I Kings 20:13-21:16",
90+
"I Kings 21:17-22:42",
91+
"I Kings 22:43",
92+
"II Kings 2:15-4:25",
93+
"II Kings 4:26-6:22",
94+
"II Kings 6:23-7:15",
95+
"II Kings 7:16-9:12",
96+
"II Kings 9:13-10:14",
97+
"II Kings 10:15-12:2",
98+
"II Kings 12:3-13:22",
99+
"II Kings 13:23-15:6",
100+
"II Kings 15:7-16:19",
101+
"II Kings 16:20-18:5",
102+
"II Kings 18:6-19:18",
103+
"II Kings 19:19-20:7",
104+
"II Kings 20:8-22:1",
105+
"II Kings 22:2-23:24",
106+
"II Kings 23:25-24:17",
107+
"II Kings 24:18-25:30"
108+
],
109+
"Isaiah":[
110+
"1:1-4:2",
111+
"4:3-6:2",
112+
"6:3-9:5",
113+
"9:6-11:1",
114+
"11:2-14:1",
115+
"14:2-16:4",
116+
"16:5-19:24",
117+
"19:25-22:22",
118+
"22:23-24:22",
119+
"24:23-27:12",
120+
"27:13-29:22",
121+
"29:23-32:17",
122+
"32:18-35:9",
123+
"35:10-37:19",
124+
"37:20-39:8",
125+
"40:1-41:26",
126+
"41:27-44:5",
127+
"44:6-45:16",
128+
"45:17-48:1",
129+
"48:2-49:25",
130+
"49:26-52:6",
131+
"52:7-55:12",
132+
"55:13-58:13",
133+
"58:14-61:8",
134+
"61:9-65:8",
135+
"65:9-66:24"
136+
],
137+
"Jeremiah":[
138+
"1:1-3:3",
139+
"3:4-4:31",
140+
"5:1-6:1",
141+
"6:2-7:22",
142+
"7:23-9:22",
143+
"9:23-12:14",
144+
"12:15-14:21",
145+
"14:22-17:6",
146+
"17:7-18:18",
147+
"18:19-20:12",
148+
"20:13-23:5",
149+
"23:6-24:6",
150+
"24:7-25:38",
151+
"26:1-27:4",
152+
"27:5-29:6",
153+
"29:7-30:8",
154+
"30:9-31:31",
155+
"31:32-32:21",
156+
"32:22-33:15",
157+
"33:16-35:9",
158+
"35:10-36:25",
159+
"36:26-38:7",
160+
"38:8-39:17",
161+
"39:18-42:11",
162+
"42:12-44:19",
163+
"44:20-46:26",
164+
"46:27-49:1",
165+
"49:2-50:4",
166+
"50:5-51:9",
167+
"51:10-58",
168+
"51:59-52:34"
169+
],
170+
"Ezekiel":[
171+
"1:1-3:11",
172+
"3:12-5:17",
173+
"6:1-7:27",
174+
"8:1-9:11",
175+
"10:1-11:19",
176+
"11:20-13:23",
177+
"14:1-16:13",
178+
"16:14-59",
179+
"16:60-18:8",
180+
"18:9-19:14",
181+
"20:1-40",
182+
"20:41-22:15",
183+
"22:16-23:26",
184+
"23:27-24:23",
185+
"24:24-26:19",
186+
"26:20-28:12",
187+
"28:13-29:20",
188+
"29:21-31:18",
189+
"32:1-33:15",
190+
"33:16-34:25",
191+
"34:26-36:24",
192+
"36:25-37:27",
193+
"37:28-39:21",
194+
"39:22-40:44",
195+
"40:45-42:12",
196+
"42:13-43:26",
197+
"43:27-45:14",
198+
"45:15-47:11",
199+
"47:12-48:35"
200+
],
201+
"Minor Prophets":[
202+
"Hosea 1:1-6:1",
203+
"Hosea 6:2-10:11",
204+
"Hosea 10:12-14:5",
205+
"Hosea 14:6",
206+
"Joel 2:27-4:21",
207+
"Amos 2:10-5:13",
208+
"Amos 5:14-7:14",
209+
"Amos 7:15-9:15",
210+
"Obadiah 1:21",
211+
"Micah 1:1-4:4",
212+
"Micah 4:5-7:19",
213+
"Micah 7:20",
214+
"Habakkuk 1:1-3:19",
215+
"Zephaniah 1:1-3:19",
216+
"Zephaniah 3:20",
217+
"Haggai 2:23",
218+
"Zechariah 4:2-6:13",
219+
"Zechariah 6:14-8:22",
220+
"Zechariah 8:23-11:17",
221+
"Zechariah 12:1-14:20",
222+
"Zechariah 14:21"
223+
],
224+
"Psalms":[
225+
"1:1-11:6",
226+
"11:7-20:9",
227+
"20:10-29:10",
228+
"29:11-35:27",
229+
"35:28-41:13",
230+
"41:14-49:18",
231+
"49:19-57:11",
232+
"57:12-67:7",
233+
"67:8-72:19",
234+
"72:20-78:37",
235+
"78:38-84:12",
236+
"84:13-90:16",
237+
"90:17-100:5",
238+
"101:1-105:44",
239+
"105:45-111:9",
240+
"111:10-119:71",
241+
"119:72-128:5",
242+
"128:6-140:13",
243+
"140:14-150:6"
244+
],
245+
"Proverbs":[
246+
"1:1-5:17",
247+
"5:18-9:10",
248+
"9:11-14:3",
249+
"14:4-18:9",
250+
"18:10-22:20",
251+
"22:21-25:12",
252+
"25:13-28:15",
253+
"28:16-31:31"
254+
],
255+
"Job":[
256+
"1:1-5:26",
257+
"5:27-11:18",
258+
"11:19-17:8",
259+
"17:9-22:29",
260+
"22:30-29:13",
261+
"29:14-33:32",
262+
"33:33-38:34",
263+
"38:35-42:17"
264+
],
265+
"Lamentations":["1:1-5:22"],
266+
"Ecclesiastes":[
267+
"1:1-3:12",
268+
"3:13-6:12",
269+
"7:1-9:6",
270+
"9:7-12:14"
271+
],
272+
"Esther":[
273+
"1:1-2:4",
274+
"2:5-3:7",
275+
"3:8-6:10",
276+
"6:11-8:15",
277+
"8:16-10:3"
278+
],
279+
"Daniel":[
280+
"1:1-2:34",
281+
"2:35-3:29",
282+
"3:30-5:11",
283+
"5:12-6:10",
284+
"6:11-9:3",
285+
"9:4-10:20",
286+
"10:21-12:13"
287+
],
288+
"Ezra and Nehemiah":[
289+
"Ezra 1:1-3:12",
290+
"Ezra 3:13-6:17",
291+
"Ezra 6:18-8:34",
292+
"Ezra 8:35-10:44",
293+
"Nehemiah 1:11-3:37",
294+
"Nehemiah 3:38-6:14",
295+
"Nehemiah 6:15-8:9",
296+
"Nehemiah 8:10-9:37",
297+
"Nehemiah 10:1-12:26",
298+
"Nehemiah 12:27-13:31"
299+
],
300+
"Chronicles":[
301+
"I Chronicles 1:1-4:9",
302+
"I Chronicles 4:10-6:33",
303+
"I Chronicles 6:34-8:39",
304+
"I Chronicles 8:40-11:8",
305+
"I Chronicles 11:9-12:40",
306+
"I Chronicles 12:41-16:35",
307+
"I Chronicles 16:36-19:12",
308+
"I Chronicles 19:13-22:18",
309+
"I Chronicles 22:19-26:4",
310+
"I Chronicles 26:5-28:9",
311+
"I Chronicles 28:10-29:30",
312+
"II Chronicles 2:3-5:13",
313+
"II Chronicles 5:14-7:10",
314+
"II Chronicles 7:11-9:23",
315+
"II Chronicles 9:24-12:11",
316+
"II Chronicles 12:12-15:14",
317+
"II Chronicles 15:15-18:17",
318+
"II Chronicles 18:18-20:29",
319+
"II Chronicles 20:30-23:10",
320+
"II Chronicles 23:11-26:1",
321+
"II Chronicles 26:2-29:10",
322+
"II Chronicles 29:11-31:9",
323+
"II Chronicles 31:10-34:1",
324+
"II Chronicles 34:2-35:5",
325+
"II Chronicles 35:6-36:23"
326+
]
327+
}

src/register.js

+3
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ DailyLearning.addCalendar('tanakhYomi', function(hd) {
124124
return null;
125125
}
126126
const daf = tanakhYomi(abs);
127+
if (daf === null) {
128+
return null;
129+
}
127130
return new TanakhYomiEvent(hd, daf);
128131
});
129132

src/register.spec.js

+11
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,14 @@ test('dafWeeklySunday', (t) => {
2626
t.is(ev3.getDesc(), 'Ketubot 50');
2727
t.deepEqual(ev3.getCategories(), ['dafWeekly']);
2828
});
29+
30+
test('tanakhYomi', (t) => {
31+
const hd = new HDate(17, 'Sivan', 5783);
32+
const ev = DailyLearning.lookup('tanakhYomi', hd);
33+
t.is(typeof ev, 'object');
34+
t.is(ev.getDesc(), 'Minor Prophets Seder 10');
35+
t.deepEqual(ev.getCategories(), ['tanakhYomi']);
36+
37+
const ev2 = DailyLearning.lookup('tanakhYomi', new HDate(2, 'Elul', 5783));
38+
t.is(ev2, null);
39+
});

0 commit comments

Comments
 (0)