UNPKG

hindu-devotional-texts

Version:

Hand-curated, typed, authoritative Hindu devotional content — aartis, chalisas, kathas, stotras, mantras, ashtottaras & sahasranamas, Vedic suktas, daily prayers, puja vidhi, Navratri, tirthas, the festival/ekadashi calendar, and full scriptures (Bhagavad

157 lines (142 loc) • 5.91 kB
import type { Bilingual } from '../types.js' import type { MantraSlug } from '../mantras/index.js' // A Navratri day number, 1 (Pratipada) through 9 (Navami). export type NavratriDay = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 // One of the nine Navadurga forms. The order is the canonical Day 1 → Day 9 // sequence, unanimous across the consulted sources. export type NavadurgaSlug = | 'shailaputri' | 'brahmacharini' | 'chandraghanta' | 'kushmanda' | 'skandamata' | 'katyayani' | 'kalaratri' | 'mahagauri' | 'siddhidatri' // The per-form worship mantra (a one-line `oṃ devī …āyai namaḥ` form). // `jaapSlug` cross-references a `mantras/` preset when one exists (none of the // nine forms has a dedicated preset, so it is `null` throughout). // `reviewPending` flagged a mantra whose IAST was unverified; as of the // 2026-05-29 pass it is dropped — the IAST was normalised to the project // standard (anusvāra `ṃ`) and round-trip-verified against the Devanagari. // The meaning is a one-line gloss, not a verse translation, so nothing else // gates these. (The sibling `dhyana` verse keeps its flag — see below.) export interface NavadurgaMantra { jaapSlug: MantraSlug | null devanagari: string iast: string meaning: Bilingual reviewPending?: boolean } // A per-form dhyana (meditation) verse — the form's couplet from the Navadurga // Stotram. `devanagari` and `iast` are multi-line: the padas are newline- // separated, each closed by a daṇḍa (Kalaratri's dhyana is two couplets / four // padas; the other eight are one couplet / two padas). `reviewPending` stays // `true` even after the 2026-05-29 IAST pass: the IAST has been normalised // (anusvāra `ṃ`) and round-trip-verified against the Devanagari, but the // `meaning` is a provisional prose gloss of a full verse that has NOT had a // human Sanskrit-reviewer pass — and for a dhyana verse the gloss is the part // that needs one. (The sibling worship `mantra`, a one-line namaḥ form, has // its flag dropped; the dhyana keeps it because of the meaning.) export interface DhyanaShloka { devanagari: string iast: string meaning: Bilingual reviewPending: true } // One of the nine Navadurga manifestations of the Devi. // // There is no `colour` field — the per-day colour of Navratri follows the // weekday cycle, not the goddess form, and is computed by the consumer (see // `navratriColourCycle` / `navratriColourRule`). export interface NavadurgaForm { slug: NavadurgaSlug // The Navratri day this form is worshipped on (1 → 9). day: NavratriDay // Localised form name ("Shailaputri" / "शैलपुत्री"). name: Bilingual // Iconography — mount (vahana), attributes held, complexion. iconography: Bilingual // A short paragraph on who the form is and what she signifies. significance: Bilingual // The per-form worship mantra (the `oṃ devī …āyai namaḥ` form). mantra: NavadurgaMantra // The per-form dhyana (meditation) verse — the form's couplet(s) from the // Navadurga Stotram. dhyana: DhyanaShloka // The traditional bhog (food offering) for the day. bhog: Bilingual } // One tier of vrat (fasting) intensity that a devotee may keep through Navratri. export interface VratTier { slug: 'nirjala' | 'phalahar' | 'satvik' | 'two-day' label: Bilingual description: Bilingual } // The allowed / forbidden food lists for a Navratri vrat. The lists hold the // general vrat-kitchen consensus; regional latitude is noted within entries. export interface VratFoodList { allowed: Bilingual[] forbidden: Bilingual[] } // One of the nine kanyas (young girls) honoured at Kanya Pujan, keyed by age. export interface KanyaAgeName { // The girl's age in years (2 → 10). age: number // The name under which a girl of this age is honoured. name: Bilingual } // The Kanya Pujan dataset — the rite of honouring young girls as the Devi, // kept on Ashtami or Navami. export interface KanyaPujanData { about: Bilingual // When the rite is kept (Ashtami vs Navami, and the count of girls). whenObserved: Bilingual // The nine age-names, ages 2 → 10. ageNames: KanyaAgeName[] // The step sequence of the rite. protocol: Bilingual[] // The customary offerings made to the kanyas. offerings: Bilingual[] // Regional and practical notes. notes: Bilingual[] } // Which of the three caritas (narrative cycles) a Saptashati chapter belongs to. export type SaptashatiCharita = 'prathama' | 'madhyama' | 'uttama' // One of the 13 chapters (adhyayas) of the Durga Saptashati (Devi Mahatmya). // The Sanskrit / English / Hindi titles are separate fields (three scripts, // not a translation pair). This is an OUTLINE — the 700 verses are not shipped. export interface SaptashatiChapter { // Chapter number, 1 → 13. number: number titleSanskrit: string titleEnglish: string titleHindi: string // Which carita this chapter falls in. charita: SaptashatiCharita // A one-paragraph summary of the chapter's events. theme: Bilingual } // One day's entry in the nine-day Saptashati reading map. export interface SaptashatiDayMapEntry { day: NavratriDay // The chapter numbers read on this day. chapters: number[] note: Bilingual } // The Durga Saptashati outline — chapters, the three-carita structure, and // one widely-used nine-day reading distribution. Outline only; no verse text. export interface SaptashatiOutline { about: Bilingual chapters: SaptashatiChapter[] nineDayMap: SaptashatiDayMapEntry[] // A caption noting that the day-map is one of several traditional groupings. nineDayMapNote: Bilingual } // One entry of the Navratri colour cycle — a colour bound to a weekday. export interface NavratriColour { // Weekday, 0 = Sunday … 6 = Saturday (the JavaScript `Date.getDay()` order). weekday: 0 | 1 | 2 | 3 | 4 | 5 | 6 colour: Bilingual }