htoc-calendar
v1.0.0-rc.21
Published
HTOC-based Orthodox calendar, commemorations, propers, and readings.
Maintainers
Readme
HTOC Calendar
An HTOC-based Orthodox calendar library. Its published day data comes from the Holy Trinity Orthodox Church calendar in Jordanville; cycle-based output for other years is inferred from that HTOC corpus.
What it provides
- HTOC commemorations and saint lists
- Daily header text, liturgical season, and tone
- Troparia and kontakia
- HTOC daily lectionary readings and date-keyed saint readings
- Julian/Gregorian conversion and Orthodox Pascha calculations used by the HTOC cycle tables
The vendored HTOC corpus covers 2025–2030. The cycle composers extend selected fields beyond those years; see LIMITATIONS.md for where the data is exact and where it is inferred.
Install
npm install htoc-calendarUsage
import { getHtocDay, getSaintsForAnyYear, orthodoxPascha } from "htoc-calendar";
const day = getHtocDay({ year: 2026, month: 9, day: 27 });
day.headerText;
day.saints.map((saint) => saint.text);
day.dailyReadings;
day.saintReadings; // null when outside the 2025–2030 HTOC corpus
orthodoxPascha(2026); // { year: 2026, month: 4, day: 12 }
getSaintsForAnyYear({ year: 2033, month: 1, day: 7 });getHtocDay returns HTOC-facing data only. It does not return Ponomar IDs, lives, fasting rules, or service-composition results.
Development
Requires Node.js 20 or newer.
npm install
npm run typecheck
npm test
npm run buildnpm run scrape:htoc updates the local HTOC scrape inputs. Generated cycle data is committed; the published build contains only the HTOC API dependency graph.
Data source and licensing
HTOC-derived data is sourced from holytrinityorthodox.com. This project does not imply that HTOC grants a particular redistribution license; confirm data-use rights before redistributing the corpus. The implementation's license is recorded in LICENSE.
