@hebcal/rest-api 5.0.1 → 5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +344 -59
- package/dist/bundle.min.js +2 -2
- package/dist/fullcalendar.js +111 -39
- package/dist/fullcalendar.min.js +2 -2
- package/dist/{index.js → index.cjs} +344 -56
- package/dist/index.mjs +344 -56
- package/package.json +20 -22
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,278 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v5.0.
|
|
1
|
+
/*! @hebcal/rest-api v5.0.3 */
|
|
2
2
|
import { flags, HDate, HebrewCalendar, Zmanim, Locale, gematriya } from '@hebcal/core';
|
|
3
3
|
import { getLeyningForParshaHaShavua, getLeyningForHoliday, formatAliyahWithBook } from '@hebcal/leyning';
|
|
4
4
|
import { getTriennialForParshaHaShavua } from '@hebcal/triennial';
|
|
5
5
|
|
|
6
|
-
const Chanukah="Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights, the eight-day festival is observed by lighting the candles of a hanukkiah (menorah)";const Pesach="Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt";const Purim="Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination";const Shavuot="Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai";const Sigd="Ethiopian Jewish holiday occurring 50 days after Yom Kippur";const Sukkot="Feast of Booths. Also called the Feast of Tabernacles, the seven-day holiday is one of the Three Pilgrimage Festivals (Hebrew: שלוש רגלים, shalosh regalim)";var holidayDescription = {"Asara B'Tevet":"Fast commemorating the siege of Jerusalem","Ben-Gurion Day":"Commemorates the life and vision of Israel's first Prime Minister David Ben-Gurion","Birkat Hachamah":"A rare Jewish blessing recited once every 28 years thanking G-d for creating the sun","Chag HaBanot":"North African Chanukah festival of daughters. Called Eid al-Banat in Arabic, the holiday was most preserved in Tunisia",Chanukah:Chanukah,"Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot. Also called Sefirat HaOmer, it is a practice that consists of a verbal counting of each of the forty-nine days between the two holidays","Family Day":"Yom HaMishpacha, a day to honor the family unit","Herzl Day":"Commemorates the life and vision of Zionist leader Theodor Herzl","Jabotinsky Day":"Commemorates the life and vision of Zionist leader Ze'ev Jabotinsky","Lag BaOmer":"33rd day of counting the Omer. The holiday is a temporary break from the semi-mourning period the counting of the Omer. Practices include lighting bonfires, getting haircuts, and Jewish weddings","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:Pesach,"Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:Purim,"Purim Meshulash":"Triple Purim, spanning 3 days in Jerusalem and walled cities. It occurs when the 15th of Adar coincides with Shabbat","Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":"Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes \"Adar Bet\" or \"Adar Sheni\", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat of Prophecy/Shabbat of Vision. Shabbat before Tish'a B'Av","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan. Read in preparation for Passover","Shabbat HaGadol":"Shabbat before Pesach (The Great Shabbat)","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer. Shabbat before Shabbat HaChodesh, in preparation for Passover","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar. Read in preparation for Purim","Shabbat Shirah":"Shabbat of Song. Shabbat that includes Parashat Beshalach","Shabbat Shuva":"Shabbat of Returning. Shabbat that occurs during the Ten Days of Repentance between Rosh Hashanah and Yom Kippur","Shabbat Zachor":"Shabbat of Remembrance. Shabbat before Purim",Shavuot:Shavuot,"Shmini Atzeret":"Eighth Day of Assembly. Immediately following Sukkot, it is observed as a separate holiday in the Diaspora and is combined with Simchat Torah in Israel","Shushan Purim":"Purim celebrated in Jerusalem and walled cities","Shushan Purim Katan":"Minor Purim celebration during Adar I on leap years in Jerusalem and walled cities",Sigd:Sigd,"Simchat Torah":"Day of Celebrating the Torah. Celebration marking the conclusion of the annual cycle of public Torah readings, and the beginning of a new cycle",Sukkot:Sukkot,"Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees. Tu BiShvat is one of four “New Years” mentioned in the Mishnah","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yitzhak Rabin Memorial Day":"Commemorates the life of Israeli Prime Minister Yitzhak Rabin","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Remembers those who died in the War of Independence and other wars in Israel. The full name of the holiday is Yom HaZikaron LeHalalei Ma'arakhot Yisrael ul'Nifge'ei Pe'ulot HaEivah (Hebrew: יוֹם הזִּכָּרוֹן לְחַלְלֵי מַעֲרָכוֹת יִשְׂרָאֵל וּלְנִפְגְעֵי פְּעֻלּוֹת הָאֵיבָה), Memorial Day for the Fallen Soldiers of the Wars of Israel and Victims of Actions of Terrorism. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement. The holiest day of the year in Judaism, traditionally observed with a 25-hour period of fasting and intensive prayer","Yom Kippur Katan":"Minor day of atonement occurring monthly on the day preceeding each Rosh Chodesh","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};
|
|
6
|
+
var holidayDescription = {
|
|
7
|
+
"Asara B'Tevet": "Fast commemorating the siege of Jerusalem",
|
|
8
|
+
"Ben-Gurion Day": "Commemorates the life and vision of Israel's first Prime Minister David Ben-Gurion",
|
|
9
|
+
"Birkat Hachamah": "A rare Jewish blessing recited once every 28 years thanking G-d for creating the sun",
|
|
10
|
+
"Chag HaBanot": "North African Chanukah festival of daughters. Called Eid al-Banat in Arabic, the holiday was most preserved in Tunisia",
|
|
11
|
+
"Chanukah": "Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights, the eight-day festival is observed by lighting the candles of a hanukkiah (menorah)",
|
|
12
|
+
"Days of the Omer": "7 weeks from the second night of Pesach to the day before Shavuot. Also called Sefirat HaOmer, it is a practice that consists of a verbal counting of each of the forty-nine days between the two holidays",
|
|
13
|
+
"Family Day": "Yom HaMishpacha, a day to honor the family unit",
|
|
14
|
+
"Herzl Day": "Commemorates the life and vision of Zionist leader Theodor Herzl",
|
|
15
|
+
"Jabotinsky Day": "Commemorates the life and vision of Zionist leader Ze'ev Jabotinsky",
|
|
16
|
+
"Lag BaOmer": "33rd day of counting the Omer. The holiday is a temporary break from the semi-mourning period the counting of the Omer. Practices include lighting bonfires, getting haircuts, and Jewish weddings",
|
|
17
|
+
"Leil Selichot": "Prayers for forgiveness in preparation for the High Holidays",
|
|
18
|
+
"Pesach Sheni": "Second Passover, one month after Passover",
|
|
19
|
+
"Pesach": "Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt",
|
|
20
|
+
"Purim Katan": "Minor Purim celebration during Adar I on leap years",
|
|
21
|
+
"Purim": "Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination",
|
|
22
|
+
"Purim Meshulash": "Triple Purim, spanning 3 days in Jerusalem and walled cities. It occurs when the 15th of Adar coincides with Shabbat",
|
|
23
|
+
"Rosh Chodesh Nisan": "Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
24
|
+
"Rosh Chodesh Iyyar": "Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
25
|
+
"Rosh Chodesh Sivan": "Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
26
|
+
"Rosh Chodesh Tamuz": "Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
27
|
+
"Rosh Chodesh Av": "Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
28
|
+
"Rosh Chodesh Elul": "Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
29
|
+
"Rosh Chodesh Cheshvan": "Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
30
|
+
"Rosh Chodesh Kislev": "Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
31
|
+
"Rosh Chodesh Tevet": "Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
32
|
+
"Rosh Chodesh Sh'vat": "Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
33
|
+
"Rosh Chodesh Adar": "Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
34
|
+
"Rosh Chodesh Adar I": "Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
35
|
+
"Rosh Chodesh Adar II": "Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes \"Adar Bet\" or \"Adar Sheni\", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon",
|
|
36
|
+
"Rosh Hashana": "The Jewish New Year. Also spelled Rosh Hashanah",
|
|
37
|
+
"Rosh Hashana LaBehemot": "New Year for Tithing Animals",
|
|
38
|
+
"Shabbat Chazon": "Shabbat of Prophecy/Shabbat of Vision. Shabbat before Tish'a B'Av",
|
|
39
|
+
"Shabbat HaChodesh": "Shabbat before Rosh Chodesh Nissan. Read in preparation for Passover",
|
|
40
|
+
"Shabbat HaGadol": "Shabbat before Pesach (The Great Shabbat)",
|
|
41
|
+
"Shabbat Machar Chodesh": "When Shabbat falls the day before Rosh Chodesh",
|
|
42
|
+
"Shabbat Nachamu": "Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")",
|
|
43
|
+
"Shabbat Parah": "Shabbat of the Red Heifer. Shabbat before Shabbat HaChodesh, in preparation for Passover",
|
|
44
|
+
"Shabbat Rosh Chodesh": "When Shabbat falls on Rosh Chodesh",
|
|
45
|
+
"Shabbat Shekalim": "Shabbat before Rosh Chodesh Adar. Read in preparation for Purim",
|
|
46
|
+
"Shabbat Shirah": "Shabbat of Song. Shabbat that includes Parashat Beshalach",
|
|
47
|
+
"Shabbat Shuva": "Shabbat of Returning. Shabbat that occurs during the Ten Days of Repentance between Rosh Hashanah and Yom Kippur",
|
|
48
|
+
"Shabbat Zachor": "Shabbat of Remembrance. Shabbat before Purim",
|
|
49
|
+
"Shavuot": "Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai",
|
|
50
|
+
"Shmini Atzeret": "Eighth Day of Assembly. Immediately following Sukkot, it is observed as a separate holiday in the Diaspora and is combined with Simchat Torah in Israel",
|
|
51
|
+
"Shushan Purim": "Purim celebrated in Jerusalem and walled cities",
|
|
52
|
+
"Shushan Purim Katan": "Minor Purim celebration during Adar I on leap years in Jerusalem and walled cities",
|
|
53
|
+
"Sigd": "Ethiopian Jewish holiday occurring 50 days after Yom Kippur",
|
|
54
|
+
"Simchat Torah": "Day of Celebrating the Torah. Celebration marking the conclusion of the annual cycle of public Torah readings, and the beginning of a new cycle",
|
|
55
|
+
"Sukkot": "Feast of Booths. Also called the Feast of Tabernacles, the seven-day holiday is one of the Three Pilgrimage Festivals (Hebrew: שלוש רגלים, shalosh regalim)",
|
|
56
|
+
"Ta'anit Bechorot": "Fast of the First Born",
|
|
57
|
+
"Ta'anit Esther": "Fast of Esther",
|
|
58
|
+
"Tish'a B'Av": "The Ninth of Av. Fast commemorating the destruction of the two Temples",
|
|
59
|
+
"Tu B'Av": "Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av",
|
|
60
|
+
"Tu BiShvat": "New Year for Trees. Tu BiShvat is one of four “New Years” mentioned in the Mishnah",
|
|
61
|
+
"Tzom Gedaliah": "Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah",
|
|
62
|
+
"Tzom Tammuz": "Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple",
|
|
63
|
+
"Yitzhak Rabin Memorial Day": "Commemorates the life of Israeli Prime Minister Yitzhak Rabin",
|
|
64
|
+
"Yom HaAliyah": "Recognizes Aliyah, immigration to the Jewish State of Israel",
|
|
65
|
+
"Yom HaAliyah School Observance": "Aliyah Day observed in Israeli schools",
|
|
66
|
+
"Yom HaAtzma'ut": "Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat",
|
|
67
|
+
"Yom HaShoah": "Holocaust Memorial Day",
|
|
68
|
+
"Yom HaZikaron": "Israeli Memorial Day. Remembers those who died in the War of Independence and other wars in Israel. The full name of the holiday is Yom HaZikaron LeHalalei Ma'arakhot Yisrael ul'Nifge'ei Pe'ulot HaEivah (Hebrew: יוֹם הזִּכָּרוֹן לְחַלְלֵי מַעֲרָכוֹת יִשְׂרָאֵל וּלְנִפְגְעֵי פְּעֻלּוֹת הָאֵיבָה), Memorial Day for the Fallen Soldiers of the Wars of Israel and Victims of Actions of Terrorism. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat",
|
|
69
|
+
"Yom Kippur": "Day of Atonement. The holiest day of the year in Judaism, traditionally observed with a 25-hour period of fasting and intensive prayer",
|
|
70
|
+
"Yom Kippur Katan": "Minor day of atonement occurring monthly on the day preceeding each Rosh Chodesh",
|
|
71
|
+
"Yom Yerushalayim": "Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"
|
|
72
|
+
};
|
|
7
73
|
|
|
8
|
-
|
|
74
|
+
var countryNames = {
|
|
75
|
+
"AD": "Andorra",
|
|
76
|
+
"AE": "United Arab Emirates",
|
|
77
|
+
"AF": "Afghanistan",
|
|
78
|
+
"AI": "Anguilla",
|
|
79
|
+
"AL": "Albania",
|
|
80
|
+
"AM": "Armenia",
|
|
81
|
+
"AO": "Angola",
|
|
82
|
+
"AR": "Argentina",
|
|
83
|
+
"AS": "American Samoa",
|
|
84
|
+
"AT": "Austria",
|
|
85
|
+
"AU": "Australia",
|
|
86
|
+
"AW": "Aruba",
|
|
87
|
+
"AZ": "Azerbaijan",
|
|
88
|
+
"BA": "Bosnia and Herzegovina",
|
|
89
|
+
"BB": "Barbados",
|
|
90
|
+
"BD": "Bangladesh",
|
|
91
|
+
"BE": "Belgium",
|
|
92
|
+
"BF": "Burkina Faso",
|
|
93
|
+
"BG": "Bulgaria",
|
|
94
|
+
"BH": "Bahrain",
|
|
95
|
+
"BI": "Burundi",
|
|
96
|
+
"BJ": "Benin",
|
|
97
|
+
"BM": "Bermuda",
|
|
98
|
+
"BN": "Brunei",
|
|
99
|
+
"BO": "Bolivia",
|
|
100
|
+
"BR": "Brazil",
|
|
101
|
+
"BS": "Bahamas",
|
|
102
|
+
"BT": "Bhutan",
|
|
103
|
+
"BW": "Botswana",
|
|
104
|
+
"BY": "Belarus",
|
|
105
|
+
"BZ": "Belize",
|
|
106
|
+
"CA": "Canada",
|
|
107
|
+
"CD": "Democratic Republic of the Congo",
|
|
108
|
+
"CF": "Central African Republic",
|
|
109
|
+
"CG": "Republic of the Congo",
|
|
110
|
+
"CH": "Switzerland",
|
|
111
|
+
"CI": "Ivory Coast",
|
|
112
|
+
"CK": "Cook Islands",
|
|
113
|
+
"CL": "Chile",
|
|
114
|
+
"CM": "Cameroon",
|
|
115
|
+
"CN": "China",
|
|
116
|
+
"CO": "Colombia",
|
|
117
|
+
"CR": "Costa Rica",
|
|
118
|
+
"CU": "Cuba",
|
|
119
|
+
"CV": "Cape Verde",
|
|
120
|
+
"CW": "Curacao",
|
|
121
|
+
"CY": "Cyprus",
|
|
122
|
+
"CZ": "Czech Republic",
|
|
123
|
+
"DE": "Germany",
|
|
124
|
+
"DK": "Denmark",
|
|
125
|
+
"DM": "Dominica",
|
|
126
|
+
"DO": "Dominican Republic",
|
|
127
|
+
"DZ": "Algeria",
|
|
128
|
+
"EC": "Ecuador",
|
|
129
|
+
"EE": "Estonia",
|
|
130
|
+
"EG": "Egypt",
|
|
131
|
+
"ER": "Eritrea",
|
|
132
|
+
"ES": "Spain",
|
|
133
|
+
"ET": "Ethiopia",
|
|
134
|
+
"FI": "Finland",
|
|
135
|
+
"FJ": "Fiji",
|
|
136
|
+
"FK": "Falkland Islands",
|
|
137
|
+
"FO": "Faroe Islands",
|
|
138
|
+
"FR": "France",
|
|
139
|
+
"GA": "Gabon",
|
|
140
|
+
"GB": "United Kingdom",
|
|
141
|
+
"GE": "Georgia",
|
|
142
|
+
"GH": "Ghana",
|
|
143
|
+
"GI": "Gibraltar",
|
|
144
|
+
"GL": "Greenland",
|
|
145
|
+
"GM": "Gambia",
|
|
146
|
+
"GN": "Guinea",
|
|
147
|
+
"GQ": "Equatorial Guinea",
|
|
148
|
+
"GR": "Greece",
|
|
149
|
+
"GT": "Guatemala",
|
|
150
|
+
"GW": "Guinea-Bissau",
|
|
151
|
+
"GY": "Guyana",
|
|
152
|
+
"HK": "Hong Kong",
|
|
153
|
+
"HN": "Honduras",
|
|
154
|
+
"HR": "Croatia",
|
|
155
|
+
"HT": "Haiti",
|
|
156
|
+
"HU": "Hungary",
|
|
157
|
+
"ID": "Indonesia",
|
|
158
|
+
"IE": "Ireland",
|
|
159
|
+
"IL": "Israel",
|
|
160
|
+
"IM": "Isle of Man",
|
|
161
|
+
"IN": "India",
|
|
162
|
+
"IQ": "Iraq",
|
|
163
|
+
"IR": "Iran",
|
|
164
|
+
"IS": "Iceland",
|
|
165
|
+
"IT": "Italy",
|
|
166
|
+
"JM": "Jamaica",
|
|
167
|
+
"JO": "Jordan",
|
|
168
|
+
"JP": "Japan",
|
|
169
|
+
"KE": "Kenya",
|
|
170
|
+
"KG": "Kyrgyzstan",
|
|
171
|
+
"KH": "Cambodia",
|
|
172
|
+
"KM": "Comoros",
|
|
173
|
+
"KN": "Saint Kitts and Nevis",
|
|
174
|
+
"KP": "North Korea",
|
|
175
|
+
"KR": "South Korea",
|
|
176
|
+
"KW": "Kuwait",
|
|
177
|
+
"KY": "Cayman Islands",
|
|
178
|
+
"KZ": "Kazakhstan",
|
|
179
|
+
"LA": "Laos",
|
|
180
|
+
"LB": "Lebanon",
|
|
181
|
+
"LC": "Saint Lucia",
|
|
182
|
+
"LI": "Liechtenstein",
|
|
183
|
+
"LR": "Liberia",
|
|
184
|
+
"LS": "Lesotho",
|
|
185
|
+
"LT": "Lithuania",
|
|
186
|
+
"LU": "Luxembourg",
|
|
187
|
+
"LV": "Latvia",
|
|
188
|
+
"LY": "Libya",
|
|
189
|
+
"MA": "Morocco",
|
|
190
|
+
"MD": "Moldova",
|
|
191
|
+
"ME": "Montenegro",
|
|
192
|
+
"MG": "Madagascar",
|
|
193
|
+
"MK": "Macedonia",
|
|
194
|
+
"ML": "Mali",
|
|
195
|
+
"MM": "Myanmar",
|
|
196
|
+
"MN": "Mongolia",
|
|
197
|
+
"MP": "Northern Mariana Islands",
|
|
198
|
+
"MR": "Mauritania",
|
|
199
|
+
"MS": "Montserrat",
|
|
200
|
+
"MT": "Malta",
|
|
201
|
+
"MU": "Mauritius",
|
|
202
|
+
"MW": "Malawi",
|
|
203
|
+
"MX": "Mexico",
|
|
204
|
+
"MY": "Malaysia",
|
|
205
|
+
"MZ": "Mozambique",
|
|
206
|
+
"NA": "Namibia",
|
|
207
|
+
"NC": "New Caledonia",
|
|
208
|
+
"NE": "Niger",
|
|
209
|
+
"NG": "Nigeria",
|
|
210
|
+
"NI": "Nicaragua",
|
|
211
|
+
"NL": "Netherlands",
|
|
212
|
+
"NO": "Norway",
|
|
213
|
+
"NP": "Nepal",
|
|
214
|
+
"NU": "Niue",
|
|
215
|
+
"NZ": "New Zealand",
|
|
216
|
+
"OM": "Oman",
|
|
217
|
+
"PA": "Panama",
|
|
218
|
+
"PE": "Peru",
|
|
219
|
+
"PF": "French Polynesia",
|
|
220
|
+
"PG": "Papua New Guinea",
|
|
221
|
+
"PH": "Philippines",
|
|
222
|
+
"PK": "Pakistan",
|
|
223
|
+
"PL": "Poland",
|
|
224
|
+
"PR": "Puerto Rico",
|
|
225
|
+
"PT": "Portugal",
|
|
226
|
+
"PY": "Paraguay",
|
|
227
|
+
"QA": "Qatar",
|
|
228
|
+
"RO": "Romania",
|
|
229
|
+
"RS": "Serbia",
|
|
230
|
+
"RU": "Russia",
|
|
231
|
+
"RW": "Rwanda",
|
|
232
|
+
"SA": "Saudi Arabia",
|
|
233
|
+
"SB": "Solomon Islands",
|
|
234
|
+
"SC": "Seychelles",
|
|
235
|
+
"SD": "Sudan",
|
|
236
|
+
"SE": "Sweden",
|
|
237
|
+
"SG": "Singapore",
|
|
238
|
+
"SH": "Saint Helena",
|
|
239
|
+
"SI": "Slovenia",
|
|
240
|
+
"SK": "Slovakia",
|
|
241
|
+
"SL": "Sierra Leone",
|
|
242
|
+
"SN": "Senegal",
|
|
243
|
+
"SO": "Somalia",
|
|
244
|
+
"SR": "Suriname",
|
|
245
|
+
"ST": "Sao Tome and Principe",
|
|
246
|
+
"SV": "El Salvador",
|
|
247
|
+
"SY": "Syria",
|
|
248
|
+
"SZ": "Swaziland",
|
|
249
|
+
"TC": "Turks and Caicos Islands",
|
|
250
|
+
"TD": "Chad",
|
|
251
|
+
"TG": "Togo",
|
|
252
|
+
"TH": "Thailand",
|
|
253
|
+
"TJ": "Tajikistan",
|
|
254
|
+
"TM": "Turkmenistan",
|
|
255
|
+
"TN": "Tunisia",
|
|
256
|
+
"TR": "Turkey",
|
|
257
|
+
"TV": "Tuvalu",
|
|
258
|
+
"TW": "Taiwan",
|
|
259
|
+
"TZ": "Tanzania",
|
|
260
|
+
"UA": "Ukraine",
|
|
261
|
+
"UG": "Uganda",
|
|
262
|
+
"US": "United States",
|
|
263
|
+
"UY": "Uruguay",
|
|
264
|
+
"UZ": "Uzbekistan",
|
|
265
|
+
"VC": "Saint Vincent and the Grenadines",
|
|
266
|
+
"VE": "Venezuela",
|
|
267
|
+
"VG": "British Virgin Islands",
|
|
268
|
+
"VN": "Vietnam",
|
|
269
|
+
"WS": "Samoa",
|
|
270
|
+
"YE": "Yemen",
|
|
271
|
+
"YT": "Mayotte",
|
|
272
|
+
"ZA": "South Africa",
|
|
273
|
+
"ZM": "Zambia",
|
|
274
|
+
"ZW": "Zimbabwe"
|
|
275
|
+
};
|
|
9
276
|
|
|
10
277
|
/**
|
|
11
278
|
* Location information
|
|
@@ -42,7 +309,7 @@ function locationToPlainObj(location) {
|
|
|
42
309
|
latitude: location.getLatitude(),
|
|
43
310
|
longitude: location.getLongitude(),
|
|
44
311
|
cc: location.getCountryCode(),
|
|
45
|
-
country: countryNames[location.getCountryCode()]
|
|
312
|
+
country: countryNames[location.getCountryCode()],
|
|
46
313
|
};
|
|
47
314
|
for (const k of LOC_FIELDS) {
|
|
48
315
|
if (location[k]) {
|
|
@@ -51,9 +318,7 @@ function locationToPlainObj(location) {
|
|
|
51
318
|
}
|
|
52
319
|
return o;
|
|
53
320
|
} else {
|
|
54
|
-
return {
|
|
55
|
-
geo: 'none'
|
|
56
|
-
};
|
|
321
|
+
return {geo: 'none'};
|
|
57
322
|
}
|
|
58
323
|
}
|
|
59
324
|
|
|
@@ -66,7 +331,12 @@ function locationToPlainObj(location) {
|
|
|
66
331
|
* @return {string}
|
|
67
332
|
*/
|
|
68
333
|
function makeAnchor(s) {
|
|
69
|
-
return s.toLowerCase()
|
|
334
|
+
return s.toLowerCase()
|
|
335
|
+
.replace(/'/g, '')
|
|
336
|
+
.replace(/[^\w]/g, '-')
|
|
337
|
+
.replace(/-+/g, '-')
|
|
338
|
+
.replace(/^-/g, '')
|
|
339
|
+
.replace(/-$/g, '');
|
|
70
340
|
}
|
|
71
341
|
|
|
72
342
|
/**
|
|
@@ -172,12 +442,12 @@ function renderTitleWithoutTime(ev) {
|
|
|
172
442
|
function getCalendarTitle(events, options) {
|
|
173
443
|
let title = 'Hebcal';
|
|
174
444
|
const location = options.location;
|
|
175
|
-
const locationName = location
|
|
445
|
+
const locationName = location?.getName();
|
|
176
446
|
if (options.yahrzeit) {
|
|
177
447
|
title += ' Yahrzeits and Anniversaries';
|
|
178
448
|
} else if (locationName) {
|
|
179
449
|
const comma = locationName.indexOf(',');
|
|
180
|
-
const name = comma == -1 ? locationName : locationName.substring(0, comma);
|
|
450
|
+
const name = (comma == -1) ? locationName : locationName.substring(0, comma);
|
|
181
451
|
title += ' ' + name;
|
|
182
452
|
} else if (options.il) {
|
|
183
453
|
title += ' Israel';
|
|
@@ -195,9 +465,7 @@ function getCalendarTitle(events, options) {
|
|
|
195
465
|
if (start.getFullYear() != end.getFullYear()) {
|
|
196
466
|
title += ' ' + start.getFullYear() + '-' + end.getFullYear();
|
|
197
467
|
} else if (start.getMonth() == end.getMonth()) {
|
|
198
|
-
const monthFormat = new Intl.DateTimeFormat('en-US', {
|
|
199
|
-
month: 'long'
|
|
200
|
-
});
|
|
468
|
+
const monthFormat = new Intl.DateTimeFormat('en-US', {month: 'long'});
|
|
201
469
|
const startMonth = monthFormat.format(start);
|
|
202
470
|
title += ' ' + startMonth + ' ' + start.getFullYear();
|
|
203
471
|
} else {
|
|
@@ -213,7 +481,7 @@ function getCalendarTitle(events, options) {
|
|
|
213
481
|
* @param {boolean} [firstSentence=false]
|
|
214
482
|
* @return {string}
|
|
215
483
|
*/
|
|
216
|
-
function getHolidayDescription(ev, firstSentence
|
|
484
|
+
function getHolidayDescription(ev, firstSentence=false) {
|
|
217
485
|
const str0 = holidayDescription[ev.getDesc()] || holidayDescription[ev.basename()] || '';
|
|
218
486
|
const str = str0.normalize();
|
|
219
487
|
if (firstSentence && str) {
|
|
@@ -224,7 +492,11 @@ function getHolidayDescription(ev, firstSentence = false) {
|
|
|
224
492
|
}
|
|
225
493
|
return str;
|
|
226
494
|
}
|
|
227
|
-
|
|
495
|
+
|
|
496
|
+
const HOLIDAY_IGNORE_MASK = flags.DAF_YOMI | flags.OMER_COUNT |
|
|
497
|
+
flags.SHABBAT_MEVARCHIM | flags.MOLAD | flags.USER_EVENT |
|
|
498
|
+
flags.NACH_YOMI | flags.DAILY_LEARNING |
|
|
499
|
+
flags.HEBREW_DATE | flags.YERUSHALMI_YOMI;
|
|
228
500
|
|
|
229
501
|
/**
|
|
230
502
|
* Makes mulit-line text that summarizes Torah & Haftarah
|
|
@@ -234,10 +506,12 @@ const HOLIDAY_IGNORE_MASK = flags.DAF_YOMI | flags.OMER_COUNT | flags.SHABBAT_ME
|
|
|
234
506
|
*/
|
|
235
507
|
function makeTorahMemoText(ev, il) {
|
|
236
508
|
const mask = ev.getFlags();
|
|
237
|
-
if (mask & HOLIDAY_IGNORE_MASK || typeof ev.eventTime !== 'undefined') {
|
|
509
|
+
if ((mask & HOLIDAY_IGNORE_MASK) || (typeof ev.eventTime !== 'undefined')) {
|
|
238
510
|
return '';
|
|
239
511
|
}
|
|
240
|
-
const reading = mask & flags.PARSHA_HASHAVUA ?
|
|
512
|
+
const reading = (mask & flags.PARSHA_HASHAVUA) ?
|
|
513
|
+
getLeyningForParshaHaShavua(ev, il) :
|
|
514
|
+
getLeyningForHoliday(ev, il);
|
|
241
515
|
let memo = '';
|
|
242
516
|
if (reading && (reading.summary || reading.haftara)) {
|
|
243
517
|
if (reading.summary) {
|
|
@@ -247,14 +521,13 @@ function makeTorahMemoText(ev, il) {
|
|
|
247
521
|
memo += '\n';
|
|
248
522
|
}
|
|
249
523
|
if (reading.haftara) {
|
|
250
|
-
var _reading$reason;
|
|
251
524
|
memo += 'Haftarah: ' + reading.haftara;
|
|
252
|
-
if (
|
|
525
|
+
if (reading.reason?.haftara) {
|
|
253
526
|
memo += ' | ' + reading.reason.haftara;
|
|
254
527
|
}
|
|
255
528
|
}
|
|
256
529
|
}
|
|
257
|
-
if (reading
|
|
530
|
+
if (reading?.sephardic) {
|
|
258
531
|
memo += '\nHaftarah for Sephardim: ' + reading.sephardic;
|
|
259
532
|
}
|
|
260
533
|
return memo;
|
|
@@ -306,8 +579,7 @@ function appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) {
|
|
|
306
579
|
u.pathname = '/h/' + path.substring(10);
|
|
307
580
|
} else if (isSedrot) {
|
|
308
581
|
u.pathname = '/s/' + path.substring(8);
|
|
309
|
-
} else {
|
|
310
|
-
// isOmer
|
|
582
|
+
} else { // isOmer
|
|
311
583
|
u.pathname = '/o/' + path.substring(6);
|
|
312
584
|
}
|
|
313
585
|
if (!utmCampaign || !(utmCampaign.startsWith('ical-') || utmCampaign.startsWith('pdf-'))) {
|
|
@@ -347,8 +619,8 @@ function shouldRenderBrief(ev) {
|
|
|
347
619
|
const mask = ev.getFlags();
|
|
348
620
|
if (mask & flags.HEBREW_DATE) {
|
|
349
621
|
const hd = ev.getDate();
|
|
350
|
-
return hd.getDate() === 1 ? false : true;
|
|
351
|
-
} else if (mask & (flags.DAF_YOMI | flags.YERUSHALMI_YOMI)) {
|
|
622
|
+
return (hd.getDate() === 1) ? false : true;
|
|
623
|
+
} else if (mask & (flags.DAILY_LEARNING | flags.DAF_YOMI | flags.YERUSHALMI_YOMI)) {
|
|
352
624
|
return true;
|
|
353
625
|
} else if (mask & flags.MINOR_FAST && ev.getDesc().substring(0, 16) === 'Yom Kippur Katan') {
|
|
354
626
|
return true;
|
|
@@ -361,6 +633,7 @@ function shouldRenderBrief(ev) {
|
|
|
361
633
|
|
|
362
634
|
// eslint-disable-next-line max-len
|
|
363
635
|
const csvHeader = '"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"';
|
|
636
|
+
|
|
364
637
|
const CATEGORY = {
|
|
365
638
|
dafyomi: 'Daf Yomi',
|
|
366
639
|
mishnayomi: 'Mishna Yomi',
|
|
@@ -374,7 +647,7 @@ const CATEGORY = {
|
|
|
374
647
|
parashat: 'Torah Reading',
|
|
375
648
|
roshchodesh: 'Jewish Holidays',
|
|
376
649
|
user: 'Personal',
|
|
377
|
-
zmanim: ''
|
|
650
|
+
zmanim: '',
|
|
378
651
|
};
|
|
379
652
|
|
|
380
653
|
/**
|
|
@@ -389,10 +662,12 @@ function eventToCsv(e, options) {
|
|
|
389
662
|
const mon = d.getMonth() + 1;
|
|
390
663
|
const year = String(d.getFullYear()).padStart(4, '0');
|
|
391
664
|
const date = options.euro ? `"${mday}/${mon}/${year}"` : `"${mon}/${mday}/${year}"`;
|
|
665
|
+
|
|
392
666
|
let startTime = '';
|
|
393
667
|
let endTime = '';
|
|
394
668
|
let endDate = '';
|
|
395
669
|
let allDay = '"true"';
|
|
670
|
+
|
|
396
671
|
const timed = Boolean(e.eventTime);
|
|
397
672
|
let subj = shouldRenderBrief(e) ? e.renderBrief(options.locale) : e.render(options.locale);
|
|
398
673
|
if (e.eventTime) {
|
|
@@ -401,31 +676,36 @@ function eventToCsv(e, options) {
|
|
|
401
676
|
endDate = date;
|
|
402
677
|
allDay = '"false"';
|
|
403
678
|
}
|
|
679
|
+
|
|
404
680
|
let loc = 'Jewish Holidays';
|
|
405
681
|
const mask = e.getFlags();
|
|
406
682
|
if (timed && typeof options.location === 'object') {
|
|
407
683
|
const locationName = options.location.getShortName();
|
|
408
684
|
const comma = locationName.indexOf(',');
|
|
409
|
-
loc = comma === -1 ? locationName : locationName.substring(0, comma);
|
|
685
|
+
loc = (comma === -1) ? locationName : locationName.substring(0, comma);
|
|
410
686
|
} else {
|
|
411
687
|
const category = CATEGORY[getEventCategories(e)[0]];
|
|
412
688
|
if (typeof category === 'string') {
|
|
413
689
|
loc = category;
|
|
414
690
|
}
|
|
415
691
|
}
|
|
692
|
+
|
|
416
693
|
subj = subj.replace(/,/g, '').replace(/"/g, '\'\'');
|
|
694
|
+
|
|
417
695
|
if (options.appendHebrewToSubject) {
|
|
418
696
|
const hebrew = e.renderBrief('he');
|
|
419
697
|
if (hebrew) {
|
|
420
698
|
subj += ` / ${hebrew}`;
|
|
421
699
|
}
|
|
422
700
|
}
|
|
701
|
+
|
|
423
702
|
let memo0 = e.memo || getHolidayDescription(e, true);
|
|
424
703
|
if (!memo0 && typeof e.linkedEvent !== 'undefined') {
|
|
425
704
|
memo0 = e.linkedEvent.render(options.locale);
|
|
426
705
|
}
|
|
427
706
|
const memo = memo0.replace(/,/g, ';').replace(/"/g, '\'\'').replace(/\n/g, ' / ');
|
|
428
|
-
|
|
707
|
+
|
|
708
|
+
const showTimeAs = (timed || (mask & flags.CHAG)) ? 4 : 3;
|
|
429
709
|
return `"${subj}",${date},${startTime},${endDate},${endTime},${allDay},"${memo}","${showTimeAs}","${loc}"`;
|
|
430
710
|
}
|
|
431
711
|
|
|
@@ -435,7 +715,7 @@ function eventToCsv(e, options) {
|
|
|
435
715
|
* @return {string}
|
|
436
716
|
*/
|
|
437
717
|
function eventsToCsv(events, options) {
|
|
438
|
-
return [csvHeader].concat(events.map(e => eventToCsv(e, options))).join('\r\n') + '\r\n';
|
|
718
|
+
return [csvHeader].concat(events.map((e) => eventToCsv(e, options))).join('\r\n') + '\r\n';
|
|
439
719
|
}
|
|
440
720
|
|
|
441
721
|
/**
|
|
@@ -454,19 +734,19 @@ function eventIsoDate(ev) {
|
|
|
454
734
|
* @param {boolean} [leyning=true]
|
|
455
735
|
* @return {Object}
|
|
456
736
|
*/
|
|
457
|
-
function eventsToClassicApi(events, options, leyning
|
|
737
|
+
function eventsToClassicApi(events, options, leyning=true) {
|
|
458
738
|
const result = {
|
|
459
739
|
title: getCalendarTitle(events, options),
|
|
460
|
-
date: new Date().toISOString()
|
|
740
|
+
date: new Date().toISOString(),
|
|
461
741
|
};
|
|
462
742
|
result.location = locationToPlainObj(options.location);
|
|
463
743
|
if (events.length) {
|
|
464
744
|
result.range = {
|
|
465
745
|
start: eventIsoDate(events[0]),
|
|
466
|
-
end: eventIsoDate(events[events.length - 1])
|
|
746
|
+
end: eventIsoDate(events[events.length - 1]),
|
|
467
747
|
};
|
|
468
748
|
}
|
|
469
|
-
result.items = events.map(ev => eventToClassicApiObject(ev, options, leyning));
|
|
749
|
+
result.items = events.map((ev) => eventToClassicApiObject(ev, options, leyning));
|
|
470
750
|
return result;
|
|
471
751
|
}
|
|
472
752
|
|
|
@@ -477,12 +757,14 @@ function eventsToClassicApi(events, options, leyning = true) {
|
|
|
477
757
|
* @param {boolean} [leyning=true]
|
|
478
758
|
* @return {Object}
|
|
479
759
|
*/
|
|
480
|
-
function eventToClassicApiObject(ev, options, leyning
|
|
760
|
+
function eventToClassicApiObject(ev, options, leyning=true) {
|
|
481
761
|
const timed = Boolean(ev.eventTime);
|
|
482
762
|
const hd = ev.getDate();
|
|
483
763
|
const dt = hd.greg();
|
|
484
764
|
const tzid = typeof options.location === 'object' ? options.location.getTzid() : 'UTC';
|
|
485
|
-
const date = timed ?
|
|
765
|
+
const date = timed ?
|
|
766
|
+
Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) :
|
|
767
|
+
toISOString(dt);
|
|
486
768
|
const categories = getEventCategories(ev);
|
|
487
769
|
const mask = ev.getFlags();
|
|
488
770
|
let title = shouldRenderBrief(ev) ? ev.renderBrief(options.locale) : ev.render(options.locale);
|
|
@@ -494,7 +776,7 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
494
776
|
}
|
|
495
777
|
const result = {
|
|
496
778
|
title: title,
|
|
497
|
-
date: date
|
|
779
|
+
date: date,
|
|
498
780
|
};
|
|
499
781
|
if (!timed) {
|
|
500
782
|
result.hdate = hd.toString();
|
|
@@ -503,7 +785,7 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
503
785
|
if (categories.length > 1) {
|
|
504
786
|
result.subcat = categories[1];
|
|
505
787
|
}
|
|
506
|
-
if (categories[0] === 'holiday' && mask & flags.CHAG) {
|
|
788
|
+
if (categories[0] === 'holiday' && (mask & flags.CHAG)) {
|
|
507
789
|
result.yomtov = true;
|
|
508
790
|
}
|
|
509
791
|
if (title != desc) {
|
|
@@ -516,8 +798,10 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
516
798
|
if (!candles) {
|
|
517
799
|
if (leyning) {
|
|
518
800
|
const il = options.il;
|
|
519
|
-
const isParsha = mask === flags.PARSHA_HASHAVUA;
|
|
520
|
-
const reading = isParsha ?
|
|
801
|
+
const isParsha = (mask === flags.PARSHA_HASHAVUA);
|
|
802
|
+
const reading = isParsha ?
|
|
803
|
+
getLeyningForParshaHaShavua(ev, il) :
|
|
804
|
+
getLeyningForHoliday(ev, il);
|
|
521
805
|
if (reading) {
|
|
522
806
|
result.leyning = formatLeyningResult(reading);
|
|
523
807
|
const hyear = hd.getFullYear();
|
|
@@ -534,20 +818,21 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
534
818
|
const utmSource = options.utmSource || 'js';
|
|
535
819
|
const utmMedium = options.utmMedium || 'api';
|
|
536
820
|
const utmCampaign = options.utmCampaign;
|
|
537
|
-
result.link = appendIsraelAndTracking(url, options.il,
|
|
821
|
+
result.link = appendIsraelAndTracking(url, options.il,
|
|
822
|
+
utmSource, utmMedium, utmCampaign);
|
|
538
823
|
}
|
|
539
824
|
}
|
|
540
825
|
if (mask & flags.OMER_COUNT) {
|
|
541
826
|
result.omer = {
|
|
542
827
|
count: {
|
|
543
828
|
he: ev.getTodayIs('he'),
|
|
544
|
-
en: ev.getTodayIs('en')
|
|
829
|
+
en: ev.getTodayIs('en'),
|
|
545
830
|
},
|
|
546
831
|
sefira: {
|
|
547
832
|
he: ev.sefira('he'),
|
|
548
833
|
translit: ev.sefira('translit'),
|
|
549
|
-
en: ev.sefira('en')
|
|
550
|
-
}
|
|
834
|
+
en: ev.sefira('en'),
|
|
835
|
+
},
|
|
551
836
|
};
|
|
552
837
|
}
|
|
553
838
|
if (mask & flags.MOLAD) {
|
|
@@ -558,18 +843,18 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
558
843
|
dow: m.dow,
|
|
559
844
|
hour: m.hour,
|
|
560
845
|
minutes: m.minutes,
|
|
561
|
-
chalakim: m.chalakim
|
|
846
|
+
chalakim: m.chalakim,
|
|
562
847
|
};
|
|
563
848
|
delete result.hebrew;
|
|
564
849
|
}
|
|
565
|
-
if (options.heDateParts && !timed || mask & flags.HEBREW_DATE) {
|
|
850
|
+
if ((options.heDateParts && !timed) || (mask & flags.HEBREW_DATE)) {
|
|
566
851
|
const yy = hd.getFullYear();
|
|
567
852
|
const mm = hd.getMonthName();
|
|
568
853
|
const dd = hd.getDate();
|
|
569
854
|
result.heDateParts = {
|
|
570
855
|
y: gematriya(yy),
|
|
571
856
|
m: Locale.gettext(mm, 'he-x-NoNikud'),
|
|
572
|
-
d: gematriya(dd)
|
|
857
|
+
d: gematriya(dd),
|
|
573
858
|
};
|
|
574
859
|
}
|
|
575
860
|
const memo = ev.memo || holidayDescription[ev.basename()];
|
|
@@ -662,13 +947,14 @@ function getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium) {
|
|
|
662
947
|
}
|
|
663
948
|
return [link, guid];
|
|
664
949
|
}
|
|
950
|
+
|
|
665
951
|
const localeToLg = {
|
|
666
952
|
's': 'en',
|
|
667
953
|
'a': 'en',
|
|
668
954
|
'he-x-NoNikud': 'he',
|
|
669
955
|
'h': 'he',
|
|
670
956
|
'ah': 'en',
|
|
671
|
-
'sh': 'en'
|
|
957
|
+
'sh': 'en',
|
|
672
958
|
};
|
|
673
959
|
|
|
674
960
|
/**
|
|
@@ -681,7 +967,7 @@ function eventsToRss2(events, options) {
|
|
|
681
967
|
weekday: 'long',
|
|
682
968
|
day: '2-digit',
|
|
683
969
|
month: 'long',
|
|
684
|
-
year: 'numeric'
|
|
970
|
+
year: 'numeric',
|
|
685
971
|
});
|
|
686
972
|
const location = options.location;
|
|
687
973
|
const mainUrl = options.mainUrl;
|
|
@@ -692,7 +978,9 @@ function eventsToRss2(events, options) {
|
|
|
692
978
|
const description = options.description || title;
|
|
693
979
|
const utmSource = options.utmSource || 'shabbat1c';
|
|
694
980
|
const utmMedium = options.utmMedium || 'rss';
|
|
695
|
-
const mainUrlEsc = appendIsraelAndTracking(mainUrl,
|
|
981
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl,
|
|
982
|
+
location?.getIsrael(),
|
|
983
|
+
utmSource, utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
696
984
|
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
697
985
|
const lang = options.lang || localeToLg[options.locale] || options.locale || 'en-US';
|
|
698
986
|
let str = `<?xml version="1.0" encoding="UTF-8"?>
|
|
@@ -757,11 +1045,7 @@ function eventToRssItem2(ev, options) {
|
|
|
757
1045
|
if (candles) {
|
|
758
1046
|
const colon = subj.indexOf(': ');
|
|
759
1047
|
if (colon != -1) {
|
|
760
|
-
const options = {
|
|
761
|
-
location,
|
|
762
|
-
il,
|
|
763
|
-
locale: Locale.getLocaleName()
|
|
764
|
-
};
|
|
1048
|
+
const options = {location, il, locale: Locale.getLocaleName()};
|
|
765
1049
|
const time = HebrewCalendar.reformatTimeStr(ev.eventTimeStr, 'pm', options);
|
|
766
1050
|
subj = subj.substring(0, colon) + ': ' + time;
|
|
767
1051
|
}
|
|
@@ -771,7 +1055,9 @@ function eventToRssItem2(ev, options) {
|
|
|
771
1055
|
const dayFormat = options.dayFormat;
|
|
772
1056
|
const description0 = memo || dayFormat.format(evDate);
|
|
773
1057
|
const description = description0.indexOf('<') === -1 ? description0 : `<![CDATA[${description0}]]>`;
|
|
774
|
-
const geoTags = cat0 == 'candles' ?
|
|
1058
|
+
const geoTags = (cat0 == 'candles') ?
|
|
1059
|
+
`<geo:lat>${location.getLatitude()}</geo:lat>\n<geo:long>${location.getLongitude()}</geo:long>\n` :
|
|
1060
|
+
'';
|
|
775
1061
|
return `<item>
|
|
776
1062
|
<title>${subj}</title>
|
|
777
1063
|
<link>${link}</link>
|
|
@@ -798,12 +1084,14 @@ function eventToFullCalendar(ev, tzid, il) {
|
|
|
798
1084
|
}
|
|
799
1085
|
const timed = Boolean(ev.eventTime);
|
|
800
1086
|
const title = shouldRenderBrief(ev) ? ev.renderBrief() : ev.render();
|
|
801
|
-
const start = timed ?
|
|
1087
|
+
const start = timed ?
|
|
1088
|
+
Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) :
|
|
1089
|
+
toISOString(ev.getDate().greg());
|
|
802
1090
|
const result = {
|
|
803
1091
|
title,
|
|
804
1092
|
start,
|
|
805
1093
|
allDay: !timed,
|
|
806
|
-
className: classes.join(' ')
|
|
1094
|
+
className: classes.join(' '),
|
|
807
1095
|
};
|
|
808
1096
|
const hebrew = ev.renderBrief('he');
|
|
809
1097
|
if (hebrew) {
|