feat: letters added

This commit is contained in:
gosangam
2026-05-04 00:08:31 +05:30
parent 35d1d14f37
commit 401766928a
20 changed files with 4272 additions and 26 deletions
+175 -12
View File
@@ -27,7 +27,7 @@ The original RTF files use **custom font encodings** (Indevr, ScaGoudy, Inbenr/I
```
spsays-training/
├── app/
│ ├── page.tsx → Landing page with Logo, links to Books/Essays/Glossary/RTFs
│ ├── page.tsx → Landing page with Logo, links to Books/Essays/Journals/Glossary/Other Documents/RTFs
│ ├── layout.tsx → ThemeProvider + TooltipProvider + PasswordGate wrapper
│ ├── globals.css → Vintage color palette + reading settings CSS
│ ├── books/
@@ -56,10 +56,28 @@ spsays-training/
│ │ ├── ochkm/ → On Chanting the Hare Kṛṣṇa Mantra (4 chapters)
│ │ ├── hkh/ → The Kṛṣṇa Consciousness Handbook (19 chapters)
│ │ ├── ssr/ → The Science of Self-Realization (8 chapters, 50 sub-chapters)
│ │ └── ds/ → Dialectic Spiritualism (13 chapters, 36 sub-chapters)
│ │ ├── ds/ → Dialectic Spiritualism (13 chapters, 36 sub-chapters)
│ │ └── va/ → Vaiśiṣṭyāṣṭakam (8 chapters)
│ ├── magazines/
│ │ ├── page.tsx → Magazines index page (grouped by flag: "Pre 1978")
│ │ └── [slug]/
│ │ ├── page.tsx → Magazine issue listing (grouped by volume)
│ │ └── [issue]/page.tsx → Individual issue reader with sidebar
│ ├── essays/
│ │ ├── page.tsx → Essays listing page
│ │ ├── page.tsx → Essays grid page (searchable)
│ │ ├── essays-grid.tsx → Client component for searchable essay grid
│ │ └── [slug]/page.tsx → Individual essay reader
│ ├── journals/
│ │ ├── page.tsx → Journals index page (grid)
│ │ └── [slug]/
│ │ ├── page.tsx → Journal chapter listing (hierarchical: months → days)
│ │ └── [chapter]/page.tsx → Individual journal entry reader
│ ├── other-documents/
│ │ ├── page.tsx → Other documents grid page (searchable)
│ │ ├── other-documents-grid.tsx → Client component for searchable grid
│ │ └── [slug]/
│ │ ├── page.tsx → Document chapter listing
│ │ └── [chapter]/page.tsx → Individual chapter reader
│ ├── glossary/
│ │ ├── page.tsx → Server component wrapper
│ │ └── glossary-client.tsx → Searchable client component (2749 entries)
@@ -104,6 +122,10 @@ spsays-training/
│ ├── ssr.ts → Science of Self-Realization data access (Prisma, hierarchical)
│ ├── ds.ts → Dialectic Spiritualism data access (Prisma, hierarchical)
│ ├── te.ts → Two Essays data access (Prisma, uses essays collection)
│ ├── va.ts → Vaiśiṣṭyāṣṭakam data access (Prisma)
│ ├── other-documents.ts → Other Documents data access (Prisma, dedicated collections)
│ ├── journals.ts → Journals data access (Prisma, dedicated collections)
│ ├── magazines.ts → Magazines data access (Prisma, dedicated collections)
│ └── jsons/books/ → Extracted JSON data (all books)
│ ├── bg/, sb/, cc/, sb-1962/, kb/ → Original verse/prose books
│ ├── nod/, tlc/, iso/, noi/ → Extracted from other.html
@@ -111,9 +133,16 @@ spsays-training/
│ ├── rv/, poy/, pqpa/, ttp/, ochkm/ → More prose books
│ ├── hkh/, ssr/, ds/ → Large structured books
│ ├── te/ → Two Essays
│ └── glossary/index.json → 2,749 glossary entries
│ ├── va/ → Vaiśiṣṭyāṣṭakam
│ ├── glossary/index.json → 2,749 glossary entries
│ ├── essays/ → Essay JSON files (pre-1977, cc-essays, standalone, etc.)
│ ├── other-documents/ → Other document JSON files (12 documents)
│ ├── journals/ → Journal JSON files (2 journals, 300 chapters)
│ └── magazines/ → Magazine JSON files (2 magazines, 59 issues)
│ ├── btg/ → Back to Godhead (1944–1960), 29 issues
│ └── btg-1978/ → Back to Godhead (1966–1973), 30 issues
├── prisma/
│ └── schema.prisma → Verse, BookMeta, ProseChapter, Essay, GlossaryEntry models
│ └── schema.prisma → Verse, BookMeta, ProseChapter, Essay, GlossaryEntry, OtherDocumentMeta, OtherDocumentChapter, JournalMeta, JournalChapter, MagazineMeta, MagazineIssue models
├── scripts/
│ ├── bg_extract.py → BG extraction from bg.html
│ ├── sb_extract.py → SB extraction from sb.html
@@ -141,6 +170,15 @@ spsays-training/
│ ├── seed-db.ts → Main MongoDB seeder (BG, SB, CC, SB1962, KB, glossary)
│ ├── seed-nod.ts … seed-ds.ts → Individual book seeders
│ ├── seed-te.ts → Two Essays seeder (uses essays collection)
│ ├── seed-va.ts → Vaiśiṣṭyāṣṭakam seeder
│ ├── seed-pre-1977-essays.ts → Pre-1977 essays seeder (13 essays)
│ ├── seed-other-documents.ts → Other documents seeder (dedicated collections)
│ ├── seed-journals.ts → Journals seeder (dedicated collections)
│ ├── jaladuta_diary_extract.py → Jaladuta Diary extraction (83 day entries)
│ ├── the_beginning_extract.py → The Beginning extraction (189 day entries + 20 excerpts)
│ ├── btg_extract.py → BTG (1944–1960) extraction from btg-1960.html
│ ├── btg_1978_extract.py → BTG (1966–1973) extraction from btg-1978.html
│ ├── seed-magazines.ts → Magazines seeder (dedicated collections)
│ ├── kb_extract_*.py → KB extraction scripts (intro, vol1, vol2)
│ ├── inject-fonts.py → Inject @font-face rules into converted HTML
│ └── fix-bengali-encoding.py → Fix Bengali font encoding in cc.html
@@ -226,6 +264,77 @@ model Essay {
@@map("essays")
}
model OtherDocumentMeta {
id String @id @default(auto()) @map("_id") @db.ObjectId
book String @unique
data Json
@@map("other_document_meta")
}
model OtherDocumentChapter {
id String @id @default(auto()) @map("_id") @db.ObjectId
book String
chapter Int
title String
type String
slug String
order Int
paragraphs String[]
@@unique([book, slug])
@@index([book])
@@map("other_document_chapters")
}
model JournalMeta {
id String @id @default(auto()) @map("_id") @db.ObjectId
book String @unique
data Json
@@map("journal_meta")
}
model JournalChapter {
id String @id @default(auto()) @map("_id") @db.ObjectId
book String
chapter Int
title String
type String
slug String
order Int
paragraphs String[]
@@unique([book, slug])
@@index([book])
@@map("journal_chapters")
}
model MagazineMeta {
id String @id @default(auto()) @map("_id") @db.ObjectId
book String @unique
data Json
@@map("magazine_meta")
}
model MagazineIssue {
id String @id @default(auto()) @map("_id") @db.ObjectId
book String
volume Int
part Int
title String
slug String
order Int
paragraphs String[]
paragraphsJson String? // JSON string fallback for large issues (BSON wire protocol workaround)
@@unique([book, slug])
@@index([book])
@@index([book, volume])
@@map("magazine_issues")
}
model GlossaryEntry {
id String @id @default(auto()) @map("_id") @db.ObjectId
term String
@@ -285,6 +394,7 @@ model GlossaryEntry {
| Śrī Caitanya-bhāgavata Commentary | `cbhc` | 4 | others-before-1977.html |
| Bhagavāner Kathā | `bk` | 2 | others-before-1977.html (ScaGoudy) |
| Prayers of King Kulaśekhara (1958) | `pk` | 6 | others-before-1977.html |
| Vaiśiṣṭyāṣṭakam | `va` | 8 | others-before-1977.html |
### Essays (stored in `essays` collection)
@@ -297,18 +407,53 @@ model GlossaryEntry {
| The Causes of Lord Caitanya's Incarnation | `causes-of-lord-caitanyas-incarnation` | `cc-essays` | 1957 |
| The Confidential Reasons for Lord Caitanya's Appearance | `confidential-reasons-for-lord-caitanyas-appearance` | `cc-essays` | 1957 |
| The Glories of Lord Nityānanda | `glories-of-lord-nityananda` | `cc-essays` | 1957 |
| Man Is the Architect of His Own Fortune | `man-is-the-architect-of-his-own-fortune` | `pre-1977-essays` | — |
| What Is the Matter with the World? | `what-is-the-matter-with-the-world` | `pre-1977-essays` | 1957 |
| Religion Is Godly Life | `religion-is-godly-life` | `pre-1977-essays` | — |
| Truth and Beauty | `truth-and-beauty` | `pre-1977-essays` | 1958 |
| Misuse of Public Fund in the Name of Religion | `misuse-of-public-fund-in-the-name-of-religion` | `pre-1977-essays` | 1958 |
| Perfection at Home | `perfection-at-home` | `pre-1977-essays` | — |
| How Should One Cultivate Human Spirit | `how-should-one-cultivate-human-spirit` | `pre-1977-essays` | 1961 |
| Viswa Dharma | `viswa-dharma` | `pre-1977-essays` | — |
| Glorification of Śrīla Bhaktisiddhānta Sarasvatī Ṭhākura | `glorification-of-srila-bhaktisiddhanta-sarasvati-thakura` | `pre-1977-essays` | 1952 |
| Who Is Crazy? (Back to Godhead #66) | `who-is-crazy-btg66` | `pre-1977-essays` | — |
| Manifestation of Dharma in Human Being | `manifestation-of-dharma-in-human-being` | `pre-1977-essays` | 1972 |
| Message of Krishna Consciousness | `message-of-krishna-consciousness` | `pre-1977-essays` | 1972 |
| A Wrong Civilization | `a-wrong-civilization` | `pre-1977-essays` | 1936 |
| Vedānta-sūtra (Typed Transcript) | `vedanta-sutra-typed` | `typed-transcripts` | 1969 |
| Shaktipujah | `shaktipujah` | `reviews` | — |
| Devotee and the Divinity | `devotee-and-the-divinity` | `standalone` | — |
### Other Documents (stored in `book_meta` + `prose_chapters` with `od-` prefix)
### Other Documents (stored in `other_document_meta` + `other_document_chapters` collections)
| Document | Code | Chapters |
|----------|------|----------|
| An Analysis of Bhagwat Geeta | `od-analysis-bg` | 3 |
| Solution of Present Crisis by Bhagwat Geeta | `od-solution-crisis` | 4 |
| Śrī Caitanya Mahāprabhu | `od-sri-caitanya` | 3 |
| Conception of Geeta Nagari on the Principles of Gandhi | `od-geeta-nagari` | 1 |
| An Analysis of Bhagwat Geeta | `analysis-bg` | 3 |
| Solution of Present Crisis by Bhagwat Geeta | `solution-crisis` | 4 |
| Śrī Caitanya Mahāprabhu | `sri-caitanya` | 3 |
| Conception of Geeta Nagari on the Principles of Gandhi | `geeta-nagari` | 1 |
| The Real Peace Formula | `real-peace-formula` | 3 |
| International Institution for God Consciousness | `intl-institution-god-consciousness` | 1 |
| "Srimad Bhawatam" India's Message of Peace and Goodwill | `srimad-bhawatam-message` | 1 |
| Viraha Aṣṭaka | `viraha-astaka` | 8 |
| Vṛndāvana Bhajana | `vrndavana-bhajana` | 1 |
| Prayer unto the Lotus Feet of Kṛṣṇa | `prayer-unto-lotus-feet-of-krsna` | 1 |
| Märkine Bhägavata-dharma | `markine-bhagavata-dharma` | 1 |
| Jaladuta Pamphlet | `jaladuta-pamphlet` | 1 |
### Journals (stored in `journal_meta` + `journal_chapters` collections)
| Journal | Code | Chapters | Structure |
|---------|------|----------|-----------|
| The Jaladuta Diary, 1965 | `jaladuta-diary` | 85 | Preface, Introduction, 83 day entries grouped by month (Apr–Nov 1965) |
| The Beginning — The 1966 New York Journal | `the-beginning` | 215 | Introduction, 3 place-based chapters with day entries, Memoranda, Epilogue, 20 Excerpts |
### Magazines (stored in `magazine_meta` + `magazine_issues` collections)
| Magazine | Code | Issues | Articles | Flag | Source |
|----------|------|--------|----------|------|--------|
| Back to Godhead (1944–1960) | `btg` | 29 | 89 | Pre 1978 | btg-1960.html |
| Back to Godhead (1966–1973) | `btg-1978` | 30 | 1,035 | Pre 1978 | btg-1978.html |
### Other
@@ -389,17 +534,33 @@ IAST transliteration → Devanagari via `indic-transliteration` library. Key fix
| Route | Content |
|-------|---------|
| `/essays` | All essays listing (10 essays across 4 groups) |
| `/essays` | Searchable essay grid (23 essays across 6 groups) |
| `/essays/[slug]` | Individual essay reader |
### Other Documents
| Route | Content |
|-------|---------|
| `/other-documents` | All other documents listing |
| `/other-documents` | Searchable other documents grid (12 documents) |
| `/other-documents/[slug]` | Document index (chapter listing) |
| `/other-documents/[slug]/[chapter]` | Individual chapter reader |
### Journals
| Route | Content |
|-------|---------|
| `/journals` | Journals index (grid) |
| `/journals/[slug]` | Journal chapter listing (hierarchical: place → month → day) |
| `/journals/[slug]/[chapter]` | Individual journal entry reader (slug-based, e.g., `apr-3`, `sep-17`, `excerpt-...`) |
### Magazines
| Route | Content |
|-------|---------|
| `/magazines` | Magazines index (grouped by flag: "Pre 1978 Editions") |
| `/magazines/[slug]` | Magazine issue listing (grouped by volume) |
| `/magazines/[slug]/[issue]` | Individual issue reader (slug-based, e.g., `v1-p1`, `no-17`) |
### Other routes
| Route | Content |
@@ -407,6 +568,8 @@ IAST transliteration → Devanagari via `indic-transliteration` library. Key fix
| `/` | Landing page |
| `/books` | Searchable book grid |
| `/glossary` | Searchable glossary (2,749 entries) |
| `/journals` | Journals (2 journals, 300 chapters) |
| `/magazines` | Magazines (2 magazines, 59 issues, Pre 1978) |
| `/rtfs` | RTF viewer (gated by ALLOW_RTF=true) |
| `/api/verify-access` | Password protection endpoint |