Package: jalali-calendar-cli
#+TITLE: jalali-calendar-cliJalali (Shamsi) calendar in your terminal, with holidays* Install#+begin_example bashpip install -U jalali-calendar-cli#+end_exampleThis requires Python ≥3.10.* Usage# #+ATTR_HTML: :width 884# [[file:readme.org_imgs/20230524_003016_h5V1Xf.png]]#+ATTR_HTML: :width 914[[file:readme.org_imgs/20230606_125421_Bh79HZ.png]]#+ATTR_HTML: :width 900[[file:readme.org_imgs/20230606_125356_jLt2Jh.png]]#+begin_example bashusage: jalali-calendar [-h] [--color {auto,always,never}][--true-color | --no-true-color][--footnotes | --no-footnotes][--indentation INDENTATION][--holidays-json-path HOLIDAYS_JSON_PATH][--color-preset {light,dark}][--weekend-true-color WEEKEND_TRUE_COLOR][--holiday-true-color HOLIDAY_TRUE_COLOR][--header-true-color HEADER_TRUE_COLOR][--today-true-color TODAY_TRUE_COLOR][--weekend-color WEEKEND_COLOR][--holiday-color HOLIDAY_COLOR][--header-color HEADER_COLOR][--today-color TODAY_COLOR][month] [year]positional arguments:month                 month in Jalali calendar (default: current month)year                  year in Jalali calendar (default: current year)options:-h, --help            show this help message and exit--color {auto,always,never}colorize the output--true-color, --no-true-colorenable true color support for output (default: False)--footnotes, --no-footnotesshow footnotes in the output (default: True)--indentation INDENTATIONnumber of spaces for indentation (default: 5)--holidays-json-path HOLIDAYS_JSON_PATHpath to JSON file containing holiday data--color-preset {light,dark}color preset for the calendar output (default: light)24-bit true color options:--weekend-true-color WEEKEND_TRUE_COLORRGB values for weekend color in 24-bit true color--holiday-true-color HOLIDAY_TRUE_COLORRGB values for holiday color in 24-bit true color--header-true-color HEADER_TRUE_COLORRGB values for header color in 24-bit true color--today-true-color TODAY_TRUE_COLORRGB values for the current day's colorcolorama 256 color options:--weekend-color WEEKEND_COLORcolorama color name for weekend color--holiday-color HOLIDAY_COLORcolorama color name for holiday color--header-color HEADER_COLORcolorama color name for header color--today-color TODAY_COLORcolorama color name for the current day#+end_example** Examples#+begin_example bashjcal 12#+end_example#+begin_example1402 EsfandSat  Sun  Mon  Tue  Wed  Thu  Fri1    2    3    45    6    7    8    9   10   1112   13   14   15   16   17   1819   20   21   22   23   24   2526   27   28   29Holidays:6: Birthday of Imam Mahdi29: Nationalization of the Oil Industry#+end_example#+begin_example bashjcal 7 1402#+end_example#+begin_example1402 MehrSat  Sun  Mon  Tue  Wed  Thu  Fri1    2    3    4    5    6    78    9   10   11   12   13   1415   16   17   18   19   20   2122   23   24   25   26   27   2829   30Holidays:2: Martyrdom of Imam Hassan Askari and Start of Imamate of Imam Mahdi11: Birthday of Prophet Muhammad and Imam Sadiq#+end_example#+ATTR_HTML: :width 968[[file:readme.org_imgs/20230606_125617_sazNzJ.png]]#+ATTR_HTML: :width 968[[file:readme.org_imgs/20230606_103928_zRAerD.png]]*** Shell Aliases in BashYou can add aliases to =~/.bashrc= and =~/.bash_profile= to persist your settings:#+begin_example bashalias jcal='command jcal --color-preset dark'#+end_exampleAliases work the same way in Zsh, you just need to add them to =~/.zshenv=.*** TodayThe current day is highlighted:#+ATTR_HTML: :width 874[[file:readme.org_imgs/20230630_060229_Temg6y.png]]*** Seeing All Months TogetherThere is a Perl script included in this repository that prints all months together. This script is a WIP.#+begin_example zshperl ./jcal_all.pl 1402 --outer-indent 2 --horizontal-indent 1#+end_example#+begin_example1402 Farvardin               1402 Ordibehesht                1402 KhordadSat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri1   2   3   4                             1             1   2   3   4   55   6   7   8   9  10  11     2   3   4   5   6   7   8     6   7   8   9  10  11  1212  13  14  15  16  17  18     9  10  11  12  13  14  15    13  14  15  16  17  18  1919  20  21  22  23  24  25    16  17  18  19  20  21  22    20  21  22  23  24  25  2626  27  28  29  30  31        23  24  25  26  27  28  29    27  28  29  30  3130  311402 Tir                     1402 Mordad                 1402 ShahrivarSat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri1   2         1   2   3   4   5   6                     1   2   33   4   5   6   7   8   9     7   8   9  10  11  12  13     4   5   6   7   8   9  1010  11  12  13  14  15  16    14  15  16  17  18  19  20    11  12  13  14  15  16  1717  18  19  20  21  22  23    21  22  23  24  25  26  27    18  19  20  21  22  23  2424  25  26  27  28  29  30    28  29  30  31                25  26  27  28  29  30  31311402 Mehr                     1402 Aban                     1402 AzarSat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri1   2   3   4   5   6   7             1   2   3   4   5                     1   2   38   9  10  11  12  13  14     6   7   8   9  10  11  12     4   5   6   7   8   9  1015  16  17  18  19  20  21    13  14  15  16  17  18  19    11  12  13  14  15  16  1722  23  24  25  26  27  28    20  21  22  23  24  25  26    18  19  20  21  22  23  2429  30                        27  28  29  30                25  26  27  28  29  301402 Dey                     1402 Bahman                   1402 EsfandSat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri   Sat Sun Mon Tue Wed Thu Fri1         1   2   3   4   5   6                 1   2   3   42   3   4   5   6   7   8     7   8   9  10  11  12  13     5   6   7   8   9  10  119  10  11  12  13  14  15    14  15  16  17  18  19  20    12  13  14  15  16  17  1816  17  18  19  20  21  22    21  22  23  24  25  26  27    19  20  21  22  23  24  2523  24  25  26  27  28  29    28  29  30                    26  27  28  2930#+end_example** =colorama= ColorsThese colors are defined by your terminal theme. Use true (24-bit) colors if you want to specify colors in RGB.#+begin_exampleBLACKBLUECYANGREENLIGHTBLACK_EXLIGHTBLUE_EXLIGHTCYAN_EXLIGHTGREEN_EXLIGHTMAGENTA_EXLIGHTRED_EXLIGHTWHITE_EXLIGHTYELLOW_EXMAGENTAREDRESETWHITEYELLOW#+end_example* Holiday DataThe default data dictionary is [[https://github.com/NightMachinery/jalali-calendar-cli/blob/master/jalali_calendar_cli/holidays.json][here]]. I plan to keep the data up-to-date for the upcoming years, but you can always supply your own.The holiday data of previous years (≤1401) has not been added.