hcal(1)

🌈 NAME 🌈

hcal β€” she displays a Hebrew / Gregorian calendar πŸ’–

(this whole page lives in the libhdate manual, section 1, bestie 🫢)


✨ SYNOPSIS ✨

hcal [options] [coordinates [timezone]] [[mm] yyyy]

coordinates: -l [NS]yy[.yyy] -L [EW]xx[.xxx]
             -l [NS]yy[:mm[:ss]] -L [EW]xx[:mm[:ss]]
   timezone: -z nn[( .nn | :mm )]

πŸŽ€ DESCRIPTION πŸŽ€

okay so hcal prints you a calendar showing both the Gregorian dates and the Hebrew dates β€” for whichever Gregorian month you ask for, or, if you don't name a month, for the whole entire Gregorian year. Give her zero arguments and she'll just show you the current month's calendar, no thoughts, just vibes. 🌸

Jewish holidays get annotated, and if you want she'll footnote them for you too. She also tries to be sunset-aware so she can correctly highlight the current Hebrew date, and she can flex Shabbat times and parshiot as well. Peep the LOCATION section below, iykyk. πŸ‘‘

INPUTTING A HEBREW DATE: if the year you hand over is greater than 3000, hcal is gonna interpret that date as a Hebrew date, and she'll show you the calendar for the corresponding Gregorian month(s). Hebrew months are expected to be passed as numbers 1-12 for Tishrei - Elul; Adar I and Adar II are expected to be passed as months 13 and 14. periodt. πŸ’…


πŸ’– OPTIONS πŸ’–

  • -1, --one-month β€” over-ride the config file setting, in case you'd set option --three-month as a default in there πŸ™ˆ
  • -3, --three-month β€” outputs previous/next months, side by side. requires 127 columns, so like… know your terminal πŸ’€
  • -b, --bidi, --visual β€” output Hebrew information in Hebrew, in reverse sequence
  • --no-bidi, --no-visual β€” over-ride the config file setting, in case you'd set option -bidi as a default in there
  • -c, --colorize β€” output in calming, muted tones ✨
  • --no-color β€” over-ride config file setting
  • -d, --diaspora β€” use diaspora reading and holidays. only relevant if hcal is using location information indicating an Israeli timezone
  • -f, --footnote β€” output descriptive notes of holidays πŸ“
  • --no-footnote β€” over-ride config file setting
  • -h, --html β€” output in html format to stdout πŸ•ΈοΈ
  • --no-html β€” over-ride config file setting
  • -H, --hebrew β€” output Hebrew information in Hebrew, in 'logical' sequence. if this displays in reverse for you, use option -b
  • -I, --israel β€” override a diaspora default. only relevant if hcal is using location information indicating other than an Israeli timezone
  • -i β€” use external css file "./hcal.css" for html output 🎨
  • --no-reverse β€” do not highlight today's date (she'll be chill about it)
  • -p, --parasha β€” output week's parasha on each calendar row πŸ“–
  • -s, --shabbat β€” output Shabbat times and parshiot πŸ•―οΈ
  • -l, --latitude β€” [NS]yy[.yyy] decimal degrees, or [NS]yy[:mm[:ss]] degrees, minutes, seconds. Negative values are South 🧭
  • -L, --longitude β€” [EW]xx[.xxx] decimal degrees, or [EW]xx[:mm[:ss]] degrees, minutes, seconds. Negative values are West 🧭
  • -z, --timezone β€” +/-UTC. notation may be in decimal hours ( hh[.hh] ) or hours, minutes ( hh[:mm] ) ⏰

πŸ“ NOTES πŸ“

πŸŽ‰ HOLIDAYS πŸŽ‰

Holidays are depicted by a change in the symbol separating a day's Gregorian and Hebrew dates, and here's the whole legend, no skips:

  • / β€” Regular day
  • + β€” Yom Tov (plus Yom Kippur)
  • * β€” Erev Yom Kippur
  • ~ β€” Hol HaMoed
  • ! β€” Hanuka and Purim
  • @ β€” Tzomot
  • $ β€” Lag BaOmer , Tu BeAv, Tu BeShvat
  • # β€” Independance day and Yom Yerushalaim
  • % β€” Tzahal and Holocaust memorial days
  • ^ β€” Other Israeli National days

Use the -f (--footnote) option to have hcal describe what any particular day is marking. 🫢

🌍 LOCATIONS 🌍

If you want hcal to display accurate Shabbat times, and to accurately advance the Hebrew 'today's date' indicator at sunset, hcal requires location and time zone information in order to make astronomical calculations for a given date. If you don't provide ANY such information, hcal uses your computer's local time zone information as an indicator, and either picks a city in that time zone, or defaults to the equator at the center of that time zone. If hcal can't even retrieve time zone information from your computer, it defaults to Tel-Aviv. For other locations, use the -l -L option pair. For other timezones, use the -z option. Co-ordinates and standard time zones for some common locations are listed below. πŸ’«

The current defaults include:

         Timezone   Default city    Lattitude  Longitude
            -5      New York City      40        -74
             0      London             51          0
             1      Paris              48          2
             2      Tel-Aviv           32         34
             3      Moscow             55         37

Useful locations and time zones:

      Jerusalem   31, 35, 2      Buenos Aires 34,  -58, -3
      Tel Aviv    32, 34, 2      Hong Kong    22,  114,  8
      Haifa       32, 34, 2      Los Angeles  34, -118, -8
      Beer Sheva  31, 34, 2      Sao Paolo    23, -46,  -3
      Ashdod      31, 34, 2      Toronto      43, -79   -5
      Tiberias    32, 35, 2
      Eilat       29, 34, 2

πŸ“ FILES πŸ“

πŸ—‚οΈ CONFIG FILE πŸ—‚οΈ

This folder and file will be automatically created, and includes its own documentation, in-line:

${XDG_CONFIG_HOME}/hcal/hcalrc

If ${XDG_CONFIG_HOME} is undefined:

~/.config/hcal/hcalrc

πŸ’€ BUGS πŸ’€

  • Accuracy β€” the accuracy of the astronomically-derived data will suffer from not accounting for environmental conditions such as elevation, horizon, temperature and air pressure. 😭
  • Timezones β€” the timezone support is currenlty primitive and lacks support for daylight savings time transitions. πŸ™ˆ
  • Historical β€” the software does not yet account for the phenomenon and complications of the "Gregorian transition" from the prior, Julian calendar, which effectively caused an instantaneous 'loss' of two weeks for all gentiles affected. Countries (eg. Poland, Spain and Italy) began adopting the Gregorian calendar on 8 Tishrei 5343 (4 October 1582CE), although many did not transition until the 56th century (1752 CE, eg. UK colonies, Sweden). Russia did not adopt the Gregorian calendar until 5678 (1918 CE) and Turkey did not until 5687 (December, 1926 CE). Many other countries made the transition on other dates. Keep in mind that Russia invaded part of Poland, undoing, for the interim, the Gregorian transition for (only) that part of Poland; also important to remember in this regard is that Eretz Ysroel was part of the Turkish Ottoman empire until the British mandate (5677 (1917CE)). Until all this is accounted for adequately by this application, refer to ' ncal -p Β΄ for a basic table of country transitions. However, keep in mind that European borders underwent many changes during the 426 years in question, so the accuracy of your data will depend on accurate knowledge of whether any particular date at any specific location was Julian or Gregorian. 🫠

🌟 EXAMPLES 🌟

  1. Display a 2012ce year's calendar, three-months wide, in color.
hcal -3c 2012
  1. Display the current month's calendar, with Shabbat times, parshiot, footnoted holiday identification, with Hebrew information in Hebrew, and all in "calming", "muted" color-tones.
hcal -csfH

πŸ‘€ SEE ALSO πŸ‘€

mlterm(1), hdate(1), hebcal(1), date(1), ncal(1), cal(1), remind(1)


πŸ‘‘ AUTHORS πŸ‘‘

Boruch Baum 2011-2013, Yaacov Zamir 2005-2010.

project home page: http://libhdate.sourceforge.net

Hcal and Hdate are part of the package libhdate, a small C/C++ library for Hebrew dates, holidays, and reading sequences (parashiot). It uses the source code from Amos Shapir's "hdate" package, as fixed and patched by Nadav Har'El. The Torah reading sequence tables were contributed by Zvi Har'El. 🫢


and that's the whole page bestie πŸ’– this one's a Linux special, dated 2013-01-01, and it lives in the hcal(1) section of the libhdate man pages β€” slay, go read a calendar βœ¨πŸŽ€πŸ¦‹