A small, zero-dependency client-side library and a couple of static JSON endpoints for working with the Kurdish (Jalali) calendar and important days.

Endpoints

GET events.json

Static list of important days plus month names. Each event now also carries Sorani translations: name_ar and sub_ar. Updated when the curated list changes; always safe to cache.

GET today.json

Snapshot of today in all three formats — Gregorian, Kurdish Calendar (with Kurdish-script formatted variant), Official Calendar — plus any matching event. Re-generated on each deploy of this site. (JSON keys central / northern are kept for backward compatibility.)

GET poems.json

Curated index of public-domain Kurdish poems hosted at allekok-poems. Each entry has poet, book, title, and the relative path you can append to raw_base to fetch the poem text.

JS kurdish-calendar.js

Browser library exposing KurdishCalendar.today(), describe(date), gregToJalali(), jalaliToGreg(), events(), eventOn(month, day), figures(), figuresOn(month, day), daysUntilNewroz(), arToLatin(str), and titleCaseLatin(str). describe() returns both events and figures arrays for the date. arToLatin() transliterates Sorani Arabic-script Kurdish to Latin (Hawar/Bedirxan conventions with contextual و/ی and schwa epenthesis — e.g. ئاگرagir, کوردستانkurdistan).

Quick start

In a browser

<script src="https://tools.thefarshad.com/calendar/api/kurdish-calendar.js"></script>
<script>
  const t = KurdishCalendar.today();
  console.log(t.central.formatted_arabic);                       // ٤ گوڵان ٢٧٢٦
  console.log(t.northern.month_name);                            // Nîsan

  // Events and figures now carry bilingual fields:
  for (const e of KurdishCalendar.events()) {
    console.log(e.name, '/', e.name_ar);                         // English / کوردی
    console.log(e.sub,  '/', e.sub_ar);
  }
  for (const f of KurdishCalendar.figures()) {
    console.log(f.name, '/', f.name_ar);                         // 'Mehmed Uzun' / 'محەممەد ئوزون'
    console.log(f.role, '/', f.role_ar);
    console.log(f.bio,  '/', f.bio_ar);
  }

  // Transliterate Sorani Arabic-script Kurdish to Latin (Hawar conventions,
  // contextual و/ی, schwa epenthesis, normalizes ي→ی and ك→ک).
  const lat = KurdishCalendar.arToLatin('هەژار موکریانی');       // 'hejar mukriyanî'
  console.log(KurdishCalendar.titleCaseLatin(lat));              // 'Hejar Mukriyanî'
  console.log(KurdishCalendar.arToLatin('ئاگر'));                // 'agir'
  console.log(KurdishCalendar.arToLatin('کوردستان'));            // 'kurdistan'
  console.log(KurdishCalendar.arToLatin('دەنگی يار مەيۆ'));      // 'dengî yar meyo'
</script>

From the command line

curl https://tools.thefarshad.com/calendar/api/today.json
curl https://tools.thefarshad.com/calendar/api/events.json

As an npm-style import (browser ESM)

<script type="module">
  import K from "https://tools.thefarshad.com/calendar/api/kurdish-calendar.js";
  console.log(K.today());
</script>

Conventions