@hebcal/rest-api
Jewish holidays and Hebrew calendar as plain JSON objects, RSS, and CSV export
Installation
$ npm install @hebcal/rest-api
Synopsis
import {HebrewCalendar, Location} from '@hebcal/core';
import {eventsToClassicApi, eventsToCsv} from '@hebcal/rest-api';
const options = {
year: 2020,
month: 2,
sedrot: true,
candlelighting: true,
location: Location.lookup('Hawaii'),
};
const events = HebrewCalendar.calendar(options);
const apiResult = eventsToClassicApi(events, options);
console.log(JSON.stringify(apiResult));
const csv = eventsToCsv(events, options);
console.log(JSON.stringify(csv));
Functions
- makeAnchor(s) ⇒
string
Helper function to transform a string to make it more usable in a URL or filename.
Converts to lowercase and replaces non-word characters with hyphen ('-').
- getDownloadFilename(options) ⇒
string
- pad2(number) ⇒
string
- pad4(number) ⇒
string
timeZoneOffsetStr(tzid, date) ⇒ string
Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
- toISOString(d) ⇒
string
Returns just the date portion as YYYY-MM-DD
toISOStringWithTimezone(date, timeStr, tzid) ⇒ string
Returns a string like "2018-09-01T12:30:00-05:00"
- getEventCategories(ev) ⇒
Array.<string>
Returns a category and subcategory name
- renderTitleWithoutTime(ev) ⇒
string
Renders the event title in default locale, but strips off time
- getCalendarTitle(events, options) ⇒
string
Generates a title like "Hebcal 2020 Israel" or "Hebcal May 1993 Providence"
- getHolidayDescription(ev, [firstSentence]) ⇒
string
Returns an English language description of the holiday
- makeTorahMemoText(ev, il) ⇒
string
Makes mulit-line text that summarizes Torah & Haftarah
- eventToCsv(e, options) ⇒
string
Renders an Event as a string
- eventsToCsv(events, options) ⇒
string
- eventsToClassicApi(events, options, [leyning]) ⇒
Object
Formats a list events for the classic Hebcal.com JSON API response
- eventToClassicApiObject(ev, options, [leyning]) ⇒
Object
Converts a Hebcal event to a classic Hebcal.com JSON API object
- formatAliyot(result, aliyot) ⇒
Object
- formatLeyningResult(reading) ⇒
Object
- eventsToRss(events, location, mainUrl, selfUrl, [lang], [evPubDate]) ⇒
string
- eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) ⇒
string
- eventToFullCalendar(ev, tzid, il) ⇒
Object
Converts a Hebcal event to a FullCalendar.io object
makeAnchor(s) ⇒ string
Helper function to transform a string to make it more usable in a URL or filename.
Converts to lowercase and replaces non-word characters with hyphen ('-').
Kind: global function
Example
makeAnchor('Rosh Chodesh Adar II')
getDownloadFilename(options) ⇒ string
Kind: global function
Param | Type |
---|
options | HebrewCalendar.Options |
pad2(number) ⇒ string
Kind: global function
pad4(number) ⇒ string
Kind: global function
timeZoneOffsetStr(tzid, date) ⇒ string
Deprecated
Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
Kind: global function
Param | Type |
---|
tzid | string |
date | Date |
toISOString(d) ⇒ string
Returns just the date portion as YYYY-MM-DD
Kind: global function
toISOStringWithTimezone(date, timeStr, tzid) ⇒ string
Deprecated
Returns a string like "2018-09-01T12:30:00-05:00"
Kind: global function
Param | Type | Description |
---|
date | Date | |
timeStr | string | must be formatted with only hours and minutes, like "17:12" |
tzid | string | like "America/New_York" |
getEventCategories(ev) ⇒ Array.<string>
Returns a category and subcategory name
Kind: global function
renderTitleWithoutTime(ev) ⇒ string
Renders the event title in default locale, but strips off time
Kind: global function
getCalendarTitle(events, options) ⇒ string
Generates a title like "Hebcal 2020 Israel" or "Hebcal May 1993 Providence"
Kind: global function
Param | Type |
---|
events | Array.<Event> |
options | HebrewCalendar.Options |
getHolidayDescription(ev, [firstSentence]) ⇒ string
Returns an English language description of the holiday
Kind: global function
Param | Type | Default |
---|
ev | Event | |
[firstSentence] | boolean | false |
makeTorahMemoText(ev, il) ⇒ string
Makes mulit-line text that summarizes Torah & Haftarah
Kind: global function
Param | Type |
---|
ev | Event |
il | boolean |
eventToCsv(e, options) ⇒ string
Renders an Event as a string
Kind: global function
Param | Type |
---|
e | Event |
options | HebcalOptions |
eventsToCsv(events, options) ⇒ string
Kind: global function
Param | Type |
---|
events | Array.<Event> |
options | HebcalOptions |
eventsToClassicApi(events, options, [leyning]) ⇒ Object
Formats a list events for the classic Hebcal.com JSON API response
Kind: global function
Param | Type | Default |
---|
events | Array.<Event> | |
options | HebrewCalendar.Options | |
[leyning] | boolean | true |
eventToClassicApiObject(ev, options, [leyning]) ⇒ Object
Converts a Hebcal event to a classic Hebcal.com JSON API object
Kind: global function
Param | Type | Default |
---|
ev | Event | |
options | HebrewCalendar.Options | |
[leyning] | boolean | true |
formatAliyot(result, aliyot) ⇒ Object
Kind: global function
Param | Type |
---|
result | Object |
aliyot | Object |
formatLeyningResult(reading) ⇒ Object
Kind: global function
Param | Type |
---|
reading | leyn.Leyning |
eventsToRss(events, location, mainUrl, selfUrl, [lang], [evPubDate]) ⇒ string
Kind: global function
Param | Type | Default | Description |
---|
events | Array.<Event> | | |
location | Location | | |
mainUrl | string | | |
selfUrl | string | | |
[lang] | string | "en-US" | language such as 'he' (default 'en-US') |
[evPubDate] | boolean | true | if true, use event time as pubDate (false uses lastBuildDate) |
eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) ⇒ string
Kind: global function
Param | Type |
---|
ev | Event |
evPubDate | boolean |
lastBuildDate | string |
dayFormat | Intl.DateTimeFormat |
location | Location |
mainUrl | string |
eventToFullCalendar(ev, tzid, il) ⇒ Object
Converts a Hebcal event to a FullCalendar.io object
Kind: global function
Param | Type | Description |
---|
ev | Event | |
tzid | string | timeZone identifier |
il | boolean | true if Israel |