mongo fix
This commit is contained in:
+2
-1
@@ -40,4 +40,5 @@ yarn-error.log*
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
public/rtfs
|
||||
public/rtfs
|
||||
/lib/generated/prisma
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib/db";
|
||||
|
||||
export async function GET(
|
||||
_req: Request,
|
||||
{ params }: { params: Promise<{ book: string }> }
|
||||
) {
|
||||
const { book } = await params;
|
||||
const meta = await prisma.bookMeta.findUnique({ where: { book } });
|
||||
if (!meta) return NextResponse.json({ error: "Not found" }, { status: 404 });
|
||||
return NextResponse.json({ book: meta.book, ...meta.data as Record<string, unknown> });
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib/db";
|
||||
|
||||
const DEFAULT_PAGE_SIZE = 20;
|
||||
|
||||
export async function GET(
|
||||
req: Request,
|
||||
{ params }: { params: Promise<{ book: string }> },
|
||||
) {
|
||||
const { book } = await params;
|
||||
const url = new URL(req.url);
|
||||
const division = url.searchParams.get("division");
|
||||
const chapterStr = url.searchParams.get("chapter");
|
||||
const indexOnly = url.searchParams.get("indexOnly") === "true";
|
||||
const pageStr = url.searchParams.get("page");
|
||||
const limitStr = url.searchParams.get("limit");
|
||||
|
||||
if (!chapterStr) {
|
||||
return NextResponse.json(
|
||||
{ error: "chapter query param is required" },
|
||||
{ status: 400 },
|
||||
);
|
||||
}
|
||||
|
||||
const chapter = parseInt(chapterStr);
|
||||
const where: Record<string, unknown> = { book, chapter };
|
||||
|
||||
if (book === "bg") {
|
||||
where.division = null;
|
||||
} else if (division) {
|
||||
where.division = division;
|
||||
}
|
||||
|
||||
// --- Index-only mode: return lightweight verse list for the sidebar ---
|
||||
// Returns all verses but only the fields needed for navigation
|
||||
if (indexOnly) {
|
||||
const verses = await prisma.verse.findMany({
|
||||
where,
|
||||
orderBy: { verse: "asc" },
|
||||
select: {
|
||||
verse: true,
|
||||
verseEnd: true,
|
||||
reference: true,
|
||||
},
|
||||
});
|
||||
|
||||
return NextResponse.json({ verses, total: verses.length });
|
||||
}
|
||||
|
||||
// --- Paginated mode: return full verse data in pages ---
|
||||
const page = Math.max(1, parseInt(pageStr || "1"));
|
||||
const limit = Math.min(
|
||||
100,
|
||||
Math.max(1, parseInt(limitStr || String(DEFAULT_PAGE_SIZE))),
|
||||
);
|
||||
const skip = (page - 1) * limit;
|
||||
|
||||
const [verses, total] = await Promise.all([
|
||||
prisma.verse.findMany({
|
||||
where,
|
||||
orderBy: { verse: "asc" },
|
||||
skip,
|
||||
take: limit,
|
||||
}),
|
||||
prisma.verse.count({ where }),
|
||||
]);
|
||||
|
||||
return NextResponse.json({
|
||||
verses,
|
||||
total,
|
||||
page,
|
||||
limit,
|
||||
totalPages: Math.ceil(total / limit),
|
||||
hasMore: skip + verses.length < total,
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib/db";
|
||||
|
||||
export async function GET() {
|
||||
const metas = await prisma.bookMeta.findMany();
|
||||
return NextResponse.json(metas.map((m) => ({ book: m.book, ...m.data as Record<string, unknown> })));
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib/db";
|
||||
|
||||
export async function GET() {
|
||||
const entries = await prisma.glossaryEntry.findMany({
|
||||
orderBy: { term: "asc" },
|
||||
});
|
||||
return NextResponse.json(entries);
|
||||
}
|
||||
+39
-138
@@ -1,76 +1,41 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { notFound } from "next/navigation";
|
||||
import { Card, CardHeader, CardContent } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { VerseIndex } from "./verse-index";
|
||||
import { getBookMeta, getChapterVerses, getChapterVerseIndex } from "@/lib/api";
|
||||
import { ChapterViewer } from "@/app/books/chapter-viewer";
|
||||
|
||||
type Synonym = {
|
||||
word: string;
|
||||
meanings: string[];
|
||||
type BgMeta = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalChapters: number;
|
||||
chapters: { number: number; title: string; totalVerses: number }[];
|
||||
};
|
||||
|
||||
type Verse = {
|
||||
book_title: string;
|
||||
chapter: number;
|
||||
verse: number;
|
||||
verse_end?: number;
|
||||
reference: string;
|
||||
devanagari: string;
|
||||
transliteration: string;
|
||||
synonyms: Synonym[];
|
||||
translation: string;
|
||||
purport: string[];
|
||||
};
|
||||
|
||||
function getChapterVerses(chapter: string): Verse[] {
|
||||
const dir = path.join(
|
||||
process.cwd(),
|
||||
"app/lib/books/bg/chapters",
|
||||
chapter.padStart(2, "0"),
|
||||
"verses",
|
||||
);
|
||||
if (!fs.existsSync(dir)) return [];
|
||||
|
||||
return fs
|
||||
.readdirSync(dir)
|
||||
.filter((f) => f.endsWith(".json"))
|
||||
.sort((a, b) => {
|
||||
const na = parseInt(a);
|
||||
const nb = parseInt(b);
|
||||
return na - nb;
|
||||
})
|
||||
.map((f) => JSON.parse(fs.readFileSync(path.join(dir, f), "utf-8")));
|
||||
}
|
||||
|
||||
function getChapterTitle(chapter: string): string | null {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/bg/intro.json");
|
||||
const intro = JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
const ch = intro.chapters.find(
|
||||
(c: { number: number }) => c.number === parseInt(chapter),
|
||||
);
|
||||
return ch?.title || null;
|
||||
}
|
||||
|
||||
export default async function ChapterPage({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ chapter: string }>;
|
||||
}) {
|
||||
const { chapter } = await params;
|
||||
const title = getChapterTitle(chapter);
|
||||
if (!title) notFound();
|
||||
const PAGE_SIZE = 20;
|
||||
|
||||
const verses = getChapterVerses(chapter);
|
||||
if (verses.length === 0) notFound();
|
||||
const meta = await getBookMeta("bg");
|
||||
if (!meta) notFound();
|
||||
|
||||
const verseList = verses.map((v) => ({
|
||||
verse: v.verse,
|
||||
verse_end: v.verse_end,
|
||||
reference: v.reference,
|
||||
}));
|
||||
const bgMeta = meta as unknown as BgMeta;
|
||||
const chapterInfo = bgMeta.chapters?.find(
|
||||
(c) => c.number === parseInt(chapter),
|
||||
);
|
||||
if (!chapterInfo?.title) notFound();
|
||||
|
||||
const title: string = chapterInfo.title;
|
||||
|
||||
const [verseIndex, firstPage] = await Promise.all([
|
||||
getChapterVerseIndex("bg", null, parseInt(chapter)),
|
||||
getChapterVerses("bg", null, parseInt(chapter), 1, PAGE_SIZE),
|
||||
]);
|
||||
if (verseIndex.length === 0) notFound();
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
@@ -87,85 +52,21 @@ export default async function ChapterPage({
|
||||
</PageHeader>
|
||||
|
||||
<div className="w-full md:max-w-5xl mx-auto flex">
|
||||
{/* Left sidebar — verse index */}
|
||||
<VerseIndex verses={verseList} chapter={chapter} />
|
||||
|
||||
{/* Main content */}
|
||||
<main className="flex-1 min-w-0 px-6 py-8 space-y-12">
|
||||
{verses.map((verse) => (
|
||||
<Card
|
||||
key={verse.reference}
|
||||
id={`verse-${verse.verse}`}
|
||||
className="scroll-mt-24"
|
||||
>
|
||||
{/* Header */}
|
||||
<CardHeader className="border-b border-border bg-muted/50 py-3">
|
||||
<Badge variant="secondary">{verse.reference}</Badge>
|
||||
</CardHeader>
|
||||
|
||||
<CardContent className="space-y-5 pt-5">
|
||||
{/* Devanagari */}
|
||||
<div className="text-center">
|
||||
<p className="text-xl leading-relaxed text-red-800 dark:text-red-400 whitespace-pre-line font-serif">
|
||||
{verse.devanagari}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Transliteration */}
|
||||
<div className="text-center">
|
||||
<p className="text-base text-muted-foreground italic whitespace-pre-line">
|
||||
{verse.transliteration}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Synonyms */}
|
||||
{verse.synonyms.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Synonyms
|
||||
</h3>
|
||||
<p className="text-sm text-muted-foreground leading-relaxed">
|
||||
{verse.synonyms.map((s, i) => (
|
||||
<span key={i}>
|
||||
<span className="text-foreground italic">
|
||||
{s.word}
|
||||
</span>
|
||||
—{s.meanings.join(", ")}
|
||||
{i < verse.synonyms.length - 1 ? "; " : "."}
|
||||
</span>
|
||||
))}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Translation */}
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Translation
|
||||
</h3>
|
||||
<p
|
||||
className="text-base text-foreground leading-relaxed font-medium"
|
||||
dangerouslySetInnerHTML={{ __html: verse.translation }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Purport */}
|
||||
{verse.purport.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Purport
|
||||
</h3>
|
||||
<div className="text-sm text-muted-foreground leading-relaxed space-y-3">
|
||||
{verse.purport.map((p, i) => (
|
||||
<p key={i} dangerouslySetInnerHTML={{ __html: p }} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
))}
|
||||
</main>
|
||||
<ChapterViewer
|
||||
initialVerses={firstPage.verses}
|
||||
hasMore={firstPage.hasMore}
|
||||
totalPages={firstPage.totalPages}
|
||||
book="bg"
|
||||
division={null}
|
||||
chapter={parseInt(chapter)}
|
||||
limit={PAGE_SIZE}
|
||||
showBengali={false}
|
||||
verseIndex={verseIndex.map((v) => ({
|
||||
verse: v.verse,
|
||||
verseEnd: v.verseEnd ?? undefined,
|
||||
reference: v.reference,
|
||||
}))}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
type VerseEntry = {
|
||||
verse: number;
|
||||
verse_end?: number;
|
||||
reference: string;
|
||||
};
|
||||
|
||||
export function VerseIndex({
|
||||
verses,
|
||||
chapter,
|
||||
}: {
|
||||
verses: VerseEntry[];
|
||||
chapter: string;
|
||||
}) {
|
||||
const [activeVerse, setActiveVerse] = useState<number | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
for (const entry of entries) {
|
||||
if (entry.isIntersecting) {
|
||||
const id = entry.target.id;
|
||||
const num = parseInt(id.replace("verse-", ""));
|
||||
if (!isNaN(num)) setActiveVerse(num);
|
||||
}
|
||||
}
|
||||
},
|
||||
{ rootMargin: "-20% 0px -60% 0px" },
|
||||
);
|
||||
|
||||
const articles = document.querySelectorAll("article[id^='verse-']");
|
||||
articles.forEach((el) => observer.observe(el));
|
||||
|
||||
return () => observer.disconnect();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<aside className="hidden lg:block w-48 shrink-0 sticky top-[89px] self-start max-h-[calc(100vh-89px)] overflow-y-auto py-8 pr-4">
|
||||
<h2 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-3 px-2">
|
||||
Verses
|
||||
</h2>
|
||||
<nav className="grid grid-cols-3 gap-0.5">
|
||||
{verses.map((v) => (
|
||||
<a
|
||||
key={v.verse}
|
||||
href={`#verse-${v.verse}`}
|
||||
className={`px-2 py-1 rounded-md text-sm text-center transition-colors ${
|
||||
activeVerse === v.verse
|
||||
? "bg-primary/10 text-primary font-medium"
|
||||
: "text-muted-foreground hover:bg-muted hover:text-foreground"
|
||||
}`}
|
||||
>
|
||||
{v.verse_end ? `${v.verse}–${v.verse_end}` : v.verse}
|
||||
</a>
|
||||
))}
|
||||
</nav>
|
||||
</aside>
|
||||
);
|
||||
}
|
||||
+12
-12
@@ -1,6 +1,6 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { notFound } from "next/navigation";
|
||||
import { getBookMeta } from "@/lib/api";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { ExtractedVerseCount } from "../extracted-verse-count";
|
||||
@@ -11,17 +11,17 @@ type ChapterInfo = {
|
||||
totalVerses: number;
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalChapters: number;
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
export default async function BgPage() {
|
||||
const meta = await getBookMeta("bg");
|
||||
if (!meta) notFound();
|
||||
|
||||
export default function BgPage() {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/bg/intro.json");
|
||||
const intro: Intro = JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
const intro = meta as unknown as {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalChapters: number;
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
|
||||
@@ -1,31 +1,8 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { notFound } from "next/navigation";
|
||||
import { Card, CardHeader, CardContent } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { VerseIndex } from "./verse-index";
|
||||
|
||||
type Synonym = {
|
||||
word: string;
|
||||
meanings: string[];
|
||||
};
|
||||
|
||||
type Verse = {
|
||||
book_title: string;
|
||||
lila: string;
|
||||
chapter: number;
|
||||
verse: number;
|
||||
verse_end?: number | null;
|
||||
reference: string;
|
||||
devanagari: string;
|
||||
bengali: string;
|
||||
transliteration: string;
|
||||
synonyms: Synonym[];
|
||||
translation: string;
|
||||
purport: string[];
|
||||
};
|
||||
import { getBookMeta, getChapterVerses, getChapterVerseIndex } from "@/lib/api";
|
||||
import { ChapterViewer } from "@/app/books/chapter-viewer";
|
||||
|
||||
type ChapterInfo = {
|
||||
number: number;
|
||||
@@ -41,70 +18,31 @@ type LilaInfo = {
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalLilas: number;
|
||||
lilas: LilaInfo[];
|
||||
};
|
||||
|
||||
function getChapterVerses(lila: string, chapter: string): Verse[] {
|
||||
const dir = path.join(
|
||||
process.cwd(),
|
||||
"app/lib/books/cc/lilas",
|
||||
lila,
|
||||
"chapters",
|
||||
chapter.padStart(2, "0"),
|
||||
"verses",
|
||||
);
|
||||
if (!fs.existsSync(dir)) return [];
|
||||
|
||||
return fs
|
||||
.readdirSync(dir)
|
||||
.filter((f) => f.endsWith(".json"))
|
||||
.sort((a, b) => {
|
||||
const na = parseInt(a);
|
||||
const nb = parseInt(b);
|
||||
return na - nb;
|
||||
})
|
||||
.map((f) => JSON.parse(fs.readFileSync(path.join(dir, f), "utf-8")));
|
||||
}
|
||||
|
||||
function getLilaAndChapterInfo(
|
||||
lila: string,
|
||||
chapter: string,
|
||||
): { lilaInfo: LilaInfo; chapterInfo: ChapterInfo } | null {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/cc/intro.json");
|
||||
const intro: Intro = JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
const lilaInfo = intro.lilas.find((l) => l.key === lila);
|
||||
if (!lilaInfo) return null;
|
||||
const chapterInfo = lilaInfo.chapters.find(
|
||||
(ch) => ch.number === parseInt(chapter),
|
||||
);
|
||||
if (!chapterInfo) return null;
|
||||
return { lilaInfo, chapterInfo };
|
||||
}
|
||||
|
||||
export default async function CcChapterPage({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ lila: string; chapter: string }>;
|
||||
}) {
|
||||
const { lila, chapter } = await params;
|
||||
const info = getLilaAndChapterInfo(lila, chapter);
|
||||
if (!info) notFound();
|
||||
const PAGE_SIZE = 20;
|
||||
|
||||
const { lilaInfo, chapterInfo } = info;
|
||||
const meta = await getBookMeta("cc");
|
||||
if (!meta) notFound();
|
||||
|
||||
const verses = getChapterVerses(lila, chapter);
|
||||
if (verses.length === 0) notFound();
|
||||
const lilas = meta.lilas as LilaInfo[] | undefined;
|
||||
const lilaInfo = lilas?.find((l) => l.key === lila);
|
||||
if (!lilaInfo) notFound();
|
||||
|
||||
const verseList = verses.map((v) => ({
|
||||
verse: v.verse,
|
||||
verse_end: v.verse_end ?? undefined,
|
||||
reference: v.reference,
|
||||
}));
|
||||
const chapterInfo = lilaInfo.chapters.find(
|
||||
(ch) => ch.number === parseInt(chapter),
|
||||
);
|
||||
if (!chapterInfo) notFound();
|
||||
|
||||
const [verseIndex, firstPage] = await Promise.all([
|
||||
getChapterVerseIndex("cc", lila, parseInt(chapter)),
|
||||
getChapterVerses("cc", lila, parseInt(chapter), 1, PAGE_SIZE),
|
||||
]);
|
||||
if (verseIndex.length === 0) notFound();
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
@@ -121,94 +59,21 @@ export default async function CcChapterPage({
|
||||
</PageHeader>
|
||||
|
||||
<div className="w-full md:max-w-5xl mx-auto flex">
|
||||
{/* Left sidebar — verse index */}
|
||||
<VerseIndex verses={verseList} chapter={chapter} />
|
||||
|
||||
{/* Main content */}
|
||||
<main className="flex-1 min-w-0 px-6 py-8 space-y-12">
|
||||
{verses.map((verse) => (
|
||||
<Card
|
||||
key={verse.reference}
|
||||
id={`verse-${verse.verse}`}
|
||||
className="scroll-mt-24"
|
||||
>
|
||||
{/* Header */}
|
||||
<CardHeader className="border-b border-border bg-muted/50 py-3">
|
||||
<Badge variant="secondary">{verse.reference}</Badge>
|
||||
</CardHeader>
|
||||
|
||||
<CardContent className="space-y-5 pt-5">
|
||||
{/* Bengali */}
|
||||
{verse.bengali && (
|
||||
<div className="text-center">
|
||||
<p className="text-xl leading-relaxed whitespace-pre-line font-serif text-green-800 dark:text-green-400">
|
||||
{verse.bengali}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Devanagari */}
|
||||
<div className="text-center">
|
||||
<p className="text-xl leading-relaxed text-red-800 dark:text-red-400 whitespace-pre-line font-serif">
|
||||
{verse.devanagari}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Transliteration */}
|
||||
<div className="text-center">
|
||||
<p className="text-base italic text-muted-foreground whitespace-pre-line">
|
||||
{verse.transliteration}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Synonyms */}
|
||||
{verse.synonyms.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Synonyms
|
||||
</h3>
|
||||
<p className="text-sm text-muted-foreground leading-relaxed">
|
||||
{verse.synonyms.map((s, i) => (
|
||||
<span key={i}>
|
||||
<span className="italic text-foreground">
|
||||
{s.word}
|
||||
</span>
|
||||
—{s.meanings.join(", ")}
|
||||
{i < verse.synonyms.length - 1 ? "; " : "."}
|
||||
</span>
|
||||
))}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Translation */}
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Translation
|
||||
</h3>
|
||||
<p
|
||||
className="text-base text-foreground leading-relaxed font-medium"
|
||||
dangerouslySetInnerHTML={{ __html: verse.translation }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Purport */}
|
||||
{verse.purport.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Purport
|
||||
</h3>
|
||||
<div className="text-sm text-muted-foreground leading-relaxed space-y-3">
|
||||
{verse.purport.map((p, i) => (
|
||||
<p key={i} dangerouslySetInnerHTML={{ __html: p }} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
))}
|
||||
</main>
|
||||
<ChapterViewer
|
||||
initialVerses={firstPage.verses}
|
||||
hasMore={firstPage.hasMore}
|
||||
totalPages={firstPage.totalPages}
|
||||
book="cc"
|
||||
division={lila}
|
||||
chapter={parseInt(chapter)}
|
||||
limit={PAGE_SIZE}
|
||||
showBengali={true}
|
||||
verseIndex={verseIndex.map((v) => ({
|
||||
verse: v.verse,
|
||||
verseEnd: v.verseEnd ?? undefined,
|
||||
reference: v.reference,
|
||||
}))}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
type VerseEntry = {
|
||||
verse: number;
|
||||
verse_end?: number;
|
||||
reference: string;
|
||||
};
|
||||
|
||||
export function VerseIndex({
|
||||
verses,
|
||||
chapter,
|
||||
}: {
|
||||
verses: VerseEntry[];
|
||||
chapter: string;
|
||||
}) {
|
||||
const [activeVerse, setActiveVerse] = useState<number | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
for (const entry of entries) {
|
||||
if (entry.isIntersecting) {
|
||||
const id = entry.target.id;
|
||||
const num = parseInt(id.replace("verse-", ""));
|
||||
if (!isNaN(num)) setActiveVerse(num);
|
||||
}
|
||||
}
|
||||
},
|
||||
{ rootMargin: "-20% 0px -60% 0px" },
|
||||
);
|
||||
|
||||
const articles = document.querySelectorAll("article[id^='verse-']");
|
||||
articles.forEach((el) => observer.observe(el));
|
||||
|
||||
return () => observer.disconnect();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<aside className="hidden lg:block w-48 shrink-0 sticky top-[89px] self-start max-h-[calc(100vh-89px)] overflow-y-auto py-8 pr-4">
|
||||
<h2 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-3 px-2">
|
||||
Verses
|
||||
</h2>
|
||||
<nav className="grid grid-cols-3 gap-0.5">
|
||||
{verses.map((v) => (
|
||||
<a
|
||||
key={v.verse}
|
||||
href={`#verse-${v.verse}`}
|
||||
className={`px-2 py-1 rounded-md text-sm text-center transition-colors ${
|
||||
activeVerse === v.verse
|
||||
? "bg-primary/10 text-primary font-medium"
|
||||
: "text-muted-foreground hover:bg-muted hover:text-foreground"
|
||||
}`}
|
||||
>
|
||||
{v.verse_end ? `${v.verse}–${v.verse_end}` : v.verse}
|
||||
</a>
|
||||
))}
|
||||
</nav>
|
||||
</aside>
|
||||
);
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { notFound } from "next/navigation";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { ExtractedVerseCount } from "../../extracted-verse-count";
|
||||
import { getBookMeta } from "@/lib/api";
|
||||
|
||||
type ChapterInfo = {
|
||||
number: number;
|
||||
@@ -20,28 +19,17 @@ type LilaInfo = {
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalLilas: number;
|
||||
lilas: LilaInfo[];
|
||||
};
|
||||
|
||||
function getIntro(): Intro {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/cc/intro.json");
|
||||
return JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
}
|
||||
|
||||
export default async function LilaPage({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ lila: string }>;
|
||||
}) {
|
||||
const { lila } = await params;
|
||||
const intro = getIntro();
|
||||
const meta = await getBookMeta("cc");
|
||||
if (!meta) notFound();
|
||||
|
||||
const lilaInfo = intro.lilas.find((l) => l.key === lila);
|
||||
const lilas = meta.lilas as LilaInfo[];
|
||||
const lilaInfo = lilas.find((l) => l.key === lila);
|
||||
if (!lilaInfo) notFound();
|
||||
|
||||
const totalVerses = lilaInfo.chapters.reduce(
|
||||
|
||||
+16
-17
@@ -1,6 +1,5 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { getBookMeta } from "@/lib/api";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
@@ -20,17 +19,19 @@ type LilaInfo = {
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalLilas: number;
|
||||
lilas: LilaInfo[];
|
||||
};
|
||||
export default async function CcPage() {
|
||||
const meta = await getBookMeta("cc");
|
||||
if (!meta) {
|
||||
return (
|
||||
<div className="p-8 text-center text-muted-foreground">
|
||||
Book metadata not found.
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function CcPage() {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/cc/intro.json");
|
||||
const intro: Intro = JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
const lilas = meta.lilas as LilaInfo[];
|
||||
const title = meta.title as string;
|
||||
const author = meta.author as string;
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
@@ -41,16 +42,14 @@ export default function CcPage() {
|
||||
>
|
||||
← Books
|
||||
</Link>
|
||||
<h1 className="mt-3 text-3xl font-bold text-foreground">
|
||||
{intro.title}
|
||||
</h1>
|
||||
<p className="mt-1 text-muted-foreground">{intro.author}</p>
|
||||
<h1 className="mt-3 text-3xl font-bold text-foreground">{title}</h1>
|
||||
<p className="mt-1 text-muted-foreground">{author}</p>
|
||||
</PageHeader>
|
||||
<main className="max-w-3xl mx-auto px-6 py-8">
|
||||
<Card className="divide-y divide-border">
|
||||
<CardContent className="p-0">
|
||||
<ul className="divide-y divide-border">
|
||||
{intro.lilas.map((lila) => {
|
||||
{lilas.map((lila) => {
|
||||
const totalVerses = lila.chapters.reduce(
|
||||
(sum, ch) => sum + ch.totalVerses,
|
||||
0,
|
||||
|
||||
@@ -0,0 +1,476 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useRef, useState, useCallback } from "react";
|
||||
import { Card, CardHeader, CardContent } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { Loader2 } from "lucide-react";
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Types
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
type Synonym = {
|
||||
word: string;
|
||||
meanings: string[];
|
||||
};
|
||||
|
||||
type Verse = {
|
||||
id: string;
|
||||
book: string;
|
||||
division: string | null;
|
||||
chapter: number;
|
||||
verse: number;
|
||||
verseEnd: number | null;
|
||||
reference: string;
|
||||
bookTitle: string;
|
||||
devanagari: string;
|
||||
bengali: string | null;
|
||||
transliteration: string;
|
||||
synonyms: Synonym[];
|
||||
translation: string;
|
||||
purport: string[];
|
||||
};
|
||||
|
||||
type PaginatedResponse = {
|
||||
verses: Verse[];
|
||||
total: number;
|
||||
page: number;
|
||||
limit: number;
|
||||
totalPages: number;
|
||||
hasMore: boolean;
|
||||
};
|
||||
|
||||
type VerseIndexEntry = {
|
||||
verse: number;
|
||||
verseEnd?: number;
|
||||
reference: string;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Props
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
type ChapterViewerProps = {
|
||||
initialVerses: Verse[];
|
||||
hasMore: boolean;
|
||||
totalPages: number;
|
||||
book: string;
|
||||
division: string | null;
|
||||
chapter: number;
|
||||
limit: number;
|
||||
showBengali?: boolean;
|
||||
verseIndex: VerseIndexEntry[];
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// ChapterViewer
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* ChapterViewer — a single "use client" component that owns both the sidebar
|
||||
* verse index and the main verse list with infinite scroll + jump-to-verse.
|
||||
*
|
||||
* This avoids the server→client boundary issue of passing functions as props
|
||||
* (render props / callbacks can't cross that boundary).
|
||||
*
|
||||
* The server component only passes serialisable data:
|
||||
* - initialVerses (page 1 of full verse data, SSR'd)
|
||||
* - verseIndex (lightweight list of ALL verse numbers/references)
|
||||
* - pagination metadata (hasMore, totalPages, book, division, chapter, limit)
|
||||
*/
|
||||
export function ChapterViewer({
|
||||
initialVerses,
|
||||
hasMore: initialHasMore,
|
||||
totalPages: initialTotalPages,
|
||||
book,
|
||||
division,
|
||||
chapter,
|
||||
limit,
|
||||
showBengali = false,
|
||||
verseIndex,
|
||||
}: ChapterViewerProps) {
|
||||
// ------ Verse data state ------
|
||||
const [verses, setVerses] = useState<Verse[]>(initialVerses);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [hasMorePages, setHasMorePages] = useState(initialHasMore);
|
||||
const [highestPageFetched, setHighestPageFetched] = useState(1);
|
||||
const [totalPagesKnown, setTotalPagesKnown] = useState(initialTotalPages);
|
||||
const fetchingRef = useRef(false);
|
||||
const sentinelRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
// ------ Sidebar state ------
|
||||
const [activeVerse, setActiveVerse] = useState<number | null>(null);
|
||||
const [loadedVerses, setLoadedVerses] = useState<Set<number>>(() => {
|
||||
const set = new Set<number>();
|
||||
for (const v of initialVerses) set.add(v.verse);
|
||||
return set;
|
||||
});
|
||||
const [pendingVerse, setPendingVerse] = useState<number | null>(null);
|
||||
|
||||
// Reset when route changes (different chapter)
|
||||
useEffect(() => {
|
||||
setVerses(initialVerses);
|
||||
setHasMorePages(initialHasMore);
|
||||
setHighestPageFetched(1);
|
||||
setTotalPagesKnown(initialTotalPages);
|
||||
const set = new Set<number>();
|
||||
for (const v of initialVerses) set.add(v.verse);
|
||||
setLoadedVerses(set);
|
||||
setPendingVerse(null);
|
||||
setActiveVerse(null);
|
||||
}, [initialVerses, initialHasMore, initialTotalPages]);
|
||||
|
||||
// ---- Update loadedVerses whenever verses array changes ----
|
||||
useEffect(() => {
|
||||
const set = new Set<number>();
|
||||
for (const v of verses) set.add(v.verse);
|
||||
setLoadedVerses(set);
|
||||
}, [verses]);
|
||||
|
||||
// =====================================================================
|
||||
// Fetching
|
||||
// =====================================================================
|
||||
|
||||
const fetchPage = useCallback(
|
||||
async (page: number): Promise<PaginatedResponse | null> => {
|
||||
const params = new URLSearchParams({
|
||||
chapter: String(chapter),
|
||||
page: String(page),
|
||||
limit: String(limit),
|
||||
});
|
||||
if (division !== null) {
|
||||
params.set("division", division);
|
||||
}
|
||||
|
||||
try {
|
||||
const res = await fetch(`/api/books/${book}/verses?${params}`);
|
||||
if (!res.ok) throw new Error(`API error: ${res.status}`);
|
||||
return await res.json();
|
||||
} catch (err) {
|
||||
console.error(`Failed to fetch page ${page}:`, err);
|
||||
return null;
|
||||
}
|
||||
},
|
||||
[book, division, chapter, limit],
|
||||
);
|
||||
|
||||
// Fetch the next single page (for infinite scroll)
|
||||
const fetchNextPage = useCallback(async () => {
|
||||
if (fetchingRef.current || !hasMorePages) return;
|
||||
fetchingRef.current = true;
|
||||
setLoading(true);
|
||||
|
||||
const nextPage = highestPageFetched + 1;
|
||||
const data = await fetchPage(nextPage);
|
||||
|
||||
if (data) {
|
||||
setVerses((prev) => [...prev, ...data.verses]);
|
||||
setHasMorePages(data.hasMore);
|
||||
setHighestPageFetched(nextPage);
|
||||
setTotalPagesKnown(data.totalPages);
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
fetchingRef.current = false;
|
||||
}, [hasMorePages, highestPageFetched, fetchPage]);
|
||||
|
||||
// Fetch all pages up to the one containing targetVerse
|
||||
const requestVerse = useCallback(
|
||||
async (targetVerse: number) => {
|
||||
// Already loaded?
|
||||
if (verses.some((v) => v.verse === targetVerse)) {
|
||||
// Just scroll to it
|
||||
const el = document.getElementById(`verse-${targetVerse}`);
|
||||
if (el) el.scrollIntoView({ behavior: "smooth", block: "start" });
|
||||
return;
|
||||
}
|
||||
|
||||
if (fetchingRef.current) return;
|
||||
fetchingRef.current = true;
|
||||
setLoading(true);
|
||||
setPendingVerse(targetVerse);
|
||||
|
||||
let currentHighest = highestPageFetched;
|
||||
const allNewVerses: Verse[] = [];
|
||||
let found = false;
|
||||
let moreRemaining = hasMorePages;
|
||||
|
||||
while (!found && currentHighest < totalPagesKnown) {
|
||||
const nextPage = currentHighest + 1;
|
||||
const data = await fetchPage(nextPage);
|
||||
|
||||
if (!data || data.verses.length === 0) break;
|
||||
|
||||
allNewVerses.push(...data.verses);
|
||||
currentHighest = nextPage;
|
||||
moreRemaining = data.hasMore;
|
||||
setTotalPagesKnown(data.totalPages);
|
||||
|
||||
if (data.verses.some((v) => v.verse === targetVerse)) {
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (allNewVerses.length > 0) {
|
||||
setVerses((prev) => [...prev, ...allNewVerses]);
|
||||
setHighestPageFetched(currentHighest);
|
||||
setHasMorePages(moreRemaining);
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
fetchingRef.current = false;
|
||||
// pendingVerse will trigger scroll via the effect below
|
||||
},
|
||||
[verses, highestPageFetched, hasMorePages, totalPagesKnown, fetchPage],
|
||||
);
|
||||
|
||||
// =====================================================================
|
||||
// Scroll to pending verse once it appears in the DOM
|
||||
// =====================================================================
|
||||
|
||||
useEffect(() => {
|
||||
if (pendingVerse === null) return;
|
||||
if (!loadedVerses.has(pendingVerse)) return;
|
||||
|
||||
requestAnimationFrame(() => {
|
||||
setTimeout(() => {
|
||||
const el = document.getElementById(`verse-${pendingVerse}`);
|
||||
if (el) {
|
||||
el.scrollIntoView({ behavior: "smooth", block: "start" });
|
||||
}
|
||||
setPendingVerse(null);
|
||||
}, 50);
|
||||
});
|
||||
}, [loadedVerses, pendingVerse]);
|
||||
|
||||
// =====================================================================
|
||||
// Infinite scroll observer (bottom sentinel)
|
||||
// =====================================================================
|
||||
|
||||
useEffect(() => {
|
||||
const sentinel = sentinelRef.current;
|
||||
if (!sentinel) return;
|
||||
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
if (entries[0]?.isIntersecting && hasMorePages && !fetchingRef.current) {
|
||||
fetchNextPage();
|
||||
}
|
||||
},
|
||||
{ rootMargin: "600px" },
|
||||
);
|
||||
|
||||
observer.observe(sentinel);
|
||||
return () => observer.disconnect();
|
||||
}, [fetchNextPage, hasMorePages]);
|
||||
|
||||
// =====================================================================
|
||||
// Active verse scroll tracking (IntersectionObserver + MutationObserver)
|
||||
// =====================================================================
|
||||
|
||||
useEffect(() => {
|
||||
const intersectionObserver = new IntersectionObserver(
|
||||
(entries) => {
|
||||
for (const entry of entries) {
|
||||
if (entry.isIntersecting) {
|
||||
const num = parseInt(entry.target.id.replace("verse-", ""));
|
||||
if (!isNaN(num)) setActiveVerse(num);
|
||||
}
|
||||
}
|
||||
},
|
||||
{ rootMargin: "-20% 0px -60% 0px" },
|
||||
);
|
||||
|
||||
const observeAll = () => {
|
||||
const els = document.querySelectorAll("[id^='verse-']");
|
||||
els.forEach((el) => intersectionObserver.observe(el));
|
||||
};
|
||||
|
||||
observeAll();
|
||||
|
||||
// Watch for new verse cards from infinite scroll
|
||||
const mutationObserver = new MutationObserver((mutations) => {
|
||||
let hasNew = false;
|
||||
for (const mutation of mutations) {
|
||||
for (const node of mutation.addedNodes) {
|
||||
if (
|
||||
node instanceof HTMLElement &&
|
||||
(node.id?.startsWith("verse-") ||
|
||||
node.querySelector?.("[id^='verse-']"))
|
||||
) {
|
||||
hasNew = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (hasNew) break;
|
||||
}
|
||||
if (hasNew) observeAll();
|
||||
});
|
||||
|
||||
const main = document.querySelector("main");
|
||||
if (main) {
|
||||
mutationObserver.observe(main, { childList: true, subtree: true });
|
||||
}
|
||||
|
||||
return () => {
|
||||
intersectionObserver.disconnect();
|
||||
mutationObserver.disconnect();
|
||||
};
|
||||
}, []);
|
||||
|
||||
// =====================================================================
|
||||
// Sidebar click handler
|
||||
// =====================================================================
|
||||
|
||||
const handleIndexClick = useCallback(
|
||||
(e: React.MouseEvent, verseNum: number) => {
|
||||
e.preventDefault();
|
||||
|
||||
const el = document.getElementById(`verse-${verseNum}`);
|
||||
if (el) {
|
||||
el.scrollIntoView({ behavior: "smooth", block: "start" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Not loaded — request it
|
||||
setPendingVerse(verseNum);
|
||||
requestVerse(verseNum);
|
||||
},
|
||||
[requestVerse],
|
||||
);
|
||||
|
||||
// =====================================================================
|
||||
// Render
|
||||
// =====================================================================
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* ---- Sidebar: Verse Index ---- */}
|
||||
<aside className="hidden lg:block w-48 shrink-0 sticky top-[89px] self-start max-h-[calc(100vh-89px)] overflow-y-auto py-8 pr-4">
|
||||
<h2 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-3 px-2">
|
||||
Verses
|
||||
</h2>
|
||||
<nav className="grid grid-cols-3 gap-0.5">
|
||||
{verseIndex.map((v) => {
|
||||
const isLoaded = loadedVerses.has(v.verse);
|
||||
const isActive = activeVerse === v.verse;
|
||||
const isPending = pendingVerse === v.verse;
|
||||
|
||||
return (
|
||||
<a
|
||||
key={v.verse}
|
||||
href={`#verse-${v.verse}`}
|
||||
onClick={(e) => handleIndexClick(e, v.verse)}
|
||||
className={`px-2 py-1 rounded-md text-sm text-center transition-colors ${
|
||||
isPending
|
||||
? "bg-primary/20 text-primary animate-pulse font-medium"
|
||||
: isActive
|
||||
? "bg-primary/10 text-primary font-medium"
|
||||
: isLoaded
|
||||
? "text-muted-foreground hover:bg-muted hover:text-foreground"
|
||||
: "text-muted-foreground hover:bg-muted hover:text-foreground"
|
||||
}`}
|
||||
>
|
||||
{v.verseEnd ? `${v.verse}–${v.verseEnd}` : v.verse}
|
||||
</a>
|
||||
);
|
||||
})}
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
{/* ---- Main: Verse Cards ---- */}
|
||||
<main className="flex-1 min-w-0 px-6 py-8 space-y-12">
|
||||
{verses.map((verse) => (
|
||||
<Card
|
||||
key={`${verse.book}-${verse.division}-${verse.chapter}-${verse.verse}`}
|
||||
id={`verse-${verse.verse}`}
|
||||
className="scroll-mt-24"
|
||||
>
|
||||
<CardHeader className="border-b border-border bg-muted/50 py-3">
|
||||
<Badge variant="secondary">{verse.reference}</Badge>
|
||||
</CardHeader>
|
||||
|
||||
<CardContent className="space-y-5 pt-5">
|
||||
{/* Bengali (CC only) */}
|
||||
{showBengali && verse.bengali && (
|
||||
<div className="text-center">
|
||||
<p className="text-xl leading-relaxed whitespace-pre-line font-serif text-green-800 dark:text-green-400">
|
||||
{verse.bengali}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Devanagari */}
|
||||
<div className="text-center">
|
||||
<p className="text-xl leading-relaxed text-red-800 dark:text-red-400 whitespace-pre-line font-serif">
|
||||
{verse.devanagari}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Transliteration */}
|
||||
<div className="text-center">
|
||||
<p className="text-base italic text-muted-foreground whitespace-pre-line">
|
||||
{verse.transliteration}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Synonyms */}
|
||||
{verse.synonyms.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Synonyms
|
||||
</h3>
|
||||
<p className="text-sm text-muted-foreground leading-relaxed">
|
||||
{verse.synonyms.map((s, i) => (
|
||||
<span key={i}>
|
||||
<span className="italic text-foreground">{s.word}</span>
|
||||
—{s.meanings.join(", ")}
|
||||
{i < verse.synonyms.length - 1 ? "; " : "."}
|
||||
</span>
|
||||
))}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Translation */}
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Translation
|
||||
</h3>
|
||||
<p
|
||||
className="text-base text-foreground leading-relaxed font-medium"
|
||||
dangerouslySetInnerHTML={{ __html: verse.translation }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Purport */}
|
||||
{verse.purport.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Purport
|
||||
</h3>
|
||||
<div className="text-sm text-muted-foreground leading-relaxed space-y-3">
|
||||
{verse.purport.map((p, i) => (
|
||||
<p key={i} dangerouslySetInnerHTML={{ __html: p }} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
))}
|
||||
|
||||
{/* Sentinel for infinite scroll */}
|
||||
<div ref={sentinelRef} className="h-1" />
|
||||
|
||||
{/* Loading indicator */}
|
||||
{loading && (
|
||||
<div className="flex items-center justify-center py-8 text-muted-foreground gap-2">
|
||||
<Loader2 className="size-4 animate-spin" />
|
||||
<span className="text-sm">Loading more verses…</span>
|
||||
</div>
|
||||
)}
|
||||
</main>
|
||||
</>
|
||||
);
|
||||
}
|
||||
+79
-75
@@ -1,5 +1,3 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import {
|
||||
@@ -12,6 +10,26 @@ import {
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { ExtractedVerseCount } from "./extracted-verse-count";
|
||||
import { getAllBooks, type BookMeta } from "@/lib/api";
|
||||
|
||||
type ChapterEntry = { totalVerses: number };
|
||||
type CantoEntry = { totalChapters: number; chapters: ChapterEntry[] };
|
||||
type LilaEntry = { totalChapters: number; chapters: ChapterEntry[] };
|
||||
|
||||
interface BgMeta extends BookMeta {
|
||||
totalChapters: number;
|
||||
chapters: ChapterEntry[];
|
||||
}
|
||||
|
||||
interface SbMeta extends BookMeta {
|
||||
totalCantos: number;
|
||||
cantos: CantoEntry[];
|
||||
}
|
||||
|
||||
interface CcMeta extends BookMeta {
|
||||
totalLilas: number;
|
||||
lilas: LilaEntry[];
|
||||
}
|
||||
|
||||
type BookInfo = {
|
||||
slug: string;
|
||||
@@ -22,87 +40,73 @@ type BookInfo = {
|
||||
href: string;
|
||||
};
|
||||
|
||||
function loadBooks(): BookInfo[] {
|
||||
const booksDir = path.join(process.cwd(), "app/lib/books");
|
||||
function buildBookList(allBooks: BookMeta[]): BookInfo[] {
|
||||
const books: BookInfo[] = [];
|
||||
|
||||
// Bhagavad-gītā
|
||||
const bgIntroPath = path.join(booksDir, "bg", "intro.json");
|
||||
if (fs.existsSync(bgIntroPath)) {
|
||||
const bg = JSON.parse(fs.readFileSync(bgIntroPath, "utf-8"));
|
||||
const totalVerses = bg.chapters.reduce(
|
||||
(sum: number, ch: { totalVerses: number }) => sum + ch.totalVerses,
|
||||
0,
|
||||
);
|
||||
books.push({
|
||||
slug: "bg",
|
||||
title: bg.title,
|
||||
author: bg.author,
|
||||
description: `${bg.totalChapters} chapters`,
|
||||
totalVerses,
|
||||
href: "/books/bg",
|
||||
});
|
||||
}
|
||||
for (const data of allBooks) {
|
||||
const slug = data.book;
|
||||
const title = data.title as string;
|
||||
const author = data.author as string;
|
||||
|
||||
// Śrīmad-Bhāgavatam
|
||||
const sbIntroPath = path.join(booksDir, "sb", "intro.json");
|
||||
if (fs.existsSync(sbIntroPath)) {
|
||||
const sb = JSON.parse(fs.readFileSync(sbIntroPath, "utf-8"));
|
||||
const totalChapters = sb.cantos.reduce(
|
||||
(sum: number, c: { totalChapters: number }) => sum + c.totalChapters,
|
||||
0,
|
||||
);
|
||||
const totalVerses = sb.cantos.reduce(
|
||||
(sum: number, c: { chapters: { totalVerses: number }[] }) =>
|
||||
sum +
|
||||
c.chapters.reduce(
|
||||
(s: number, ch: { totalVerses: number }) => s + ch.totalVerses,
|
||||
0,
|
||||
),
|
||||
0,
|
||||
);
|
||||
books.push({
|
||||
slug: "sb",
|
||||
title: sb.title,
|
||||
author: sb.author,
|
||||
description: `${sb.totalCantos} cantos, ${totalChapters} chapters`,
|
||||
totalVerses,
|
||||
href: "/books/sb",
|
||||
});
|
||||
}
|
||||
|
||||
// Śrī Caitanya-caritāmṛta
|
||||
const ccIntroPath = path.join(booksDir, "cc", "intro.json");
|
||||
if (fs.existsSync(ccIntroPath)) {
|
||||
const cc = JSON.parse(fs.readFileSync(ccIntroPath, "utf-8"));
|
||||
const totalChapters = cc.lilas.reduce(
|
||||
(sum: number, l: { totalChapters: number }) => sum + l.totalChapters,
|
||||
0,
|
||||
);
|
||||
const totalVerses = cc.lilas.reduce(
|
||||
(sum: number, l: { chapters: { totalVerses: number }[] }) =>
|
||||
sum +
|
||||
l.chapters.reduce(
|
||||
(s: number, ch: { totalVerses: number }) => s + ch.totalVerses,
|
||||
0,
|
||||
),
|
||||
0,
|
||||
);
|
||||
books.push({
|
||||
slug: "cc",
|
||||
title: cc.title,
|
||||
author: cc.author,
|
||||
description: `${cc.totalLilas} līlās, ${totalChapters} chapters`,
|
||||
totalVerses,
|
||||
href: "/books/cc",
|
||||
});
|
||||
if (slug === "bg") {
|
||||
const bg = data as BgMeta;
|
||||
const totalVerses = bg.chapters.reduce(
|
||||
(sum, ch) => sum + ch.totalVerses,
|
||||
0,
|
||||
);
|
||||
books.push({
|
||||
slug,
|
||||
title,
|
||||
author,
|
||||
description: `${bg.totalChapters} chapters`,
|
||||
totalVerses,
|
||||
href: "/books/bg",
|
||||
});
|
||||
} else if (slug === "sb") {
|
||||
const sb = data as SbMeta;
|
||||
const totalChapters = sb.cantos.reduce(
|
||||
(sum, c) => sum + c.totalChapters,
|
||||
0,
|
||||
);
|
||||
const totalVerses = sb.cantos.reduce(
|
||||
(sum, c) => sum + c.chapters.reduce((s, ch) => s + ch.totalVerses, 0),
|
||||
0,
|
||||
);
|
||||
books.push({
|
||||
slug,
|
||||
title,
|
||||
author,
|
||||
description: `${sb.totalCantos} cantos, ${totalChapters} chapters`,
|
||||
totalVerses,
|
||||
href: "/books/sb",
|
||||
});
|
||||
} else if (slug === "cc") {
|
||||
const cc = data as CcMeta;
|
||||
const totalChapters = cc.lilas.reduce(
|
||||
(sum, l) => sum + l.totalChapters,
|
||||
0,
|
||||
);
|
||||
const totalVerses = cc.lilas.reduce(
|
||||
(sum, l) => sum + l.chapters.reduce((s, ch) => s + ch.totalVerses, 0),
|
||||
0,
|
||||
);
|
||||
books.push({
|
||||
slug,
|
||||
title,
|
||||
author,
|
||||
description: `${cc.totalLilas} līlās, ${totalChapters} chapters`,
|
||||
totalVerses,
|
||||
href: "/books/cc",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return books;
|
||||
}
|
||||
|
||||
export default function BooksPage() {
|
||||
const books = loadBooks();
|
||||
export default async function BooksPage() {
|
||||
const allBooks = await getAllBooks();
|
||||
const books = buildBookList(allBooks);
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
|
||||
@@ -1,30 +1,8 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { notFound } from "next/navigation";
|
||||
import { Card, CardHeader, CardContent } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { VerseIndex } from "./verse-index";
|
||||
|
||||
type Synonym = {
|
||||
word: string;
|
||||
meanings: string[];
|
||||
};
|
||||
|
||||
type Verse = {
|
||||
book_title: string;
|
||||
canto: number;
|
||||
chapter: number;
|
||||
verse: number;
|
||||
verse_end?: number | null;
|
||||
reference: string;
|
||||
devanagari: string;
|
||||
transliteration: string;
|
||||
synonyms: Synonym[];
|
||||
translation: string;
|
||||
purport: string[];
|
||||
};
|
||||
import { getBookMeta, getChapterVerses, getChapterVerseIndex } from "@/lib/api";
|
||||
import { ChapterViewer } from "@/app/books/chapter-viewer";
|
||||
|
||||
type ChapterInfo = {
|
||||
number: number;
|
||||
@@ -39,70 +17,31 @@ type CantoInfo = {
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalCantos: number;
|
||||
cantos: CantoInfo[];
|
||||
};
|
||||
|
||||
function getChapterVerses(canto: string, chapter: string): Verse[] {
|
||||
const dir = path.join(
|
||||
process.cwd(),
|
||||
"app/lib/books/sb/cantos",
|
||||
canto.padStart(2, "0"),
|
||||
"chapters",
|
||||
chapter.padStart(2, "0"),
|
||||
"verses",
|
||||
);
|
||||
if (!fs.existsSync(dir)) return [];
|
||||
|
||||
return fs
|
||||
.readdirSync(dir)
|
||||
.filter((f) => f.endsWith(".json"))
|
||||
.sort((a, b) => {
|
||||
const na = parseInt(a);
|
||||
const nb = parseInt(b);
|
||||
return na - nb;
|
||||
})
|
||||
.map((f) => JSON.parse(fs.readFileSync(path.join(dir, f), "utf-8")));
|
||||
}
|
||||
|
||||
function getCantoAndChapterInfo(
|
||||
canto: string,
|
||||
chapter: string,
|
||||
): { cantoInfo: CantoInfo; chapterInfo: ChapterInfo } | null {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/sb/intro.json");
|
||||
const intro: Intro = JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
const cantoInfo = intro.cantos.find((c) => c.number === parseInt(canto));
|
||||
if (!cantoInfo) return null;
|
||||
const chapterInfo = cantoInfo.chapters.find(
|
||||
(ch) => ch.number === parseInt(chapter),
|
||||
);
|
||||
if (!chapterInfo) return null;
|
||||
return { cantoInfo, chapterInfo };
|
||||
}
|
||||
|
||||
export default async function SbChapterPage({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ canto: string; chapter: string }>;
|
||||
}) {
|
||||
const { canto, chapter } = await params;
|
||||
const info = getCantoAndChapterInfo(canto, chapter);
|
||||
if (!info) notFound();
|
||||
const PAGE_SIZE = 20;
|
||||
|
||||
const { cantoInfo, chapterInfo } = info;
|
||||
const meta = await getBookMeta("sb");
|
||||
if (!meta) notFound();
|
||||
|
||||
const verses = getChapterVerses(canto, chapter);
|
||||
if (verses.length === 0) notFound();
|
||||
const cantos = (meta as unknown as { cantos: CantoInfo[] }).cantos;
|
||||
const cantoInfo = cantos.find((c) => c.number === parseInt(canto));
|
||||
if (!cantoInfo) notFound();
|
||||
|
||||
const verseList = verses.map((v) => ({
|
||||
verse: v.verse,
|
||||
verse_end: v.verse_end ?? undefined,
|
||||
reference: v.reference,
|
||||
}));
|
||||
const chapterInfo = cantoInfo.chapters.find(
|
||||
(ch) => ch.number === parseInt(chapter),
|
||||
);
|
||||
if (!chapterInfo) notFound();
|
||||
|
||||
const [verseIndex, firstPage] = await Promise.all([
|
||||
getChapterVerseIndex("sb", canto, parseInt(chapter)),
|
||||
getChapterVerses("sb", canto, parseInt(chapter), 1, PAGE_SIZE),
|
||||
]);
|
||||
if (verseIndex.length === 0) notFound();
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
@@ -119,85 +58,21 @@ export default async function SbChapterPage({
|
||||
</PageHeader>
|
||||
|
||||
<div className="w-full md:max-w-5xl mx-auto flex">
|
||||
{/* Left sidebar — verse index */}
|
||||
<VerseIndex verses={verseList} chapter={chapter} />
|
||||
|
||||
{/* Main content */}
|
||||
<main className="flex-1 min-w-0 px-6 py-8 space-y-12">
|
||||
{verses.map((verse) => (
|
||||
<Card
|
||||
key={verse.reference}
|
||||
id={`verse-${verse.verse}`}
|
||||
className="scroll-mt-24"
|
||||
>
|
||||
{/* Header */}
|
||||
<CardHeader className="border-b border-border bg-muted/50 py-3">
|
||||
<Badge variant="secondary">{verse.reference}</Badge>
|
||||
</CardHeader>
|
||||
|
||||
<CardContent className="space-y-5 pt-5">
|
||||
{/* Devanagari */}
|
||||
<div className="text-center">
|
||||
<p className="text-xl leading-relaxed text-red-800 dark:text-red-400 whitespace-pre-line font-serif">
|
||||
{verse.devanagari}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Transliteration */}
|
||||
<div className="text-center">
|
||||
<p className="text-base italic text-muted-foreground whitespace-pre-line">
|
||||
{verse.transliteration}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Synonyms */}
|
||||
{verse.synonyms.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Synonyms
|
||||
</h3>
|
||||
<p className="text-sm text-muted-foreground leading-relaxed">
|
||||
{verse.synonyms.map((s, i) => (
|
||||
<span key={i}>
|
||||
<span className="italic text-foreground">
|
||||
{s.word}
|
||||
</span>
|
||||
—{s.meanings.join(", ")}
|
||||
{i < verse.synonyms.length - 1 ? "; " : "."}
|
||||
</span>
|
||||
))}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Translation */}
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Translation
|
||||
</h3>
|
||||
<p
|
||||
className="text-base text-foreground leading-relaxed font-medium"
|
||||
dangerouslySetInnerHTML={{ __html: verse.translation }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Purport */}
|
||||
{verse.purport.length > 0 && (
|
||||
<div>
|
||||
<h3 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2">
|
||||
Purport
|
||||
</h3>
|
||||
<div className="text-sm text-muted-foreground leading-relaxed space-y-3">
|
||||
{verse.purport.map((p, i) => (
|
||||
<p key={i} dangerouslySetInnerHTML={{ __html: p }} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
))}
|
||||
</main>
|
||||
<ChapterViewer
|
||||
initialVerses={firstPage.verses}
|
||||
hasMore={firstPage.hasMore}
|
||||
totalPages={firstPage.totalPages}
|
||||
book="sb"
|
||||
division={canto}
|
||||
chapter={parseInt(chapter)}
|
||||
limit={PAGE_SIZE}
|
||||
showBengali={false}
|
||||
verseIndex={verseIndex.map((v) => ({
|
||||
verse: v.verse,
|
||||
verseEnd: v.verseEnd ?? undefined,
|
||||
reference: v.reference,
|
||||
}))}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
type VerseEntry = {
|
||||
verse: number;
|
||||
verse_end?: number;
|
||||
reference: string;
|
||||
};
|
||||
|
||||
export function VerseIndex({
|
||||
verses,
|
||||
chapter,
|
||||
}: {
|
||||
verses: VerseEntry[];
|
||||
chapter: string;
|
||||
}) {
|
||||
const [activeVerse, setActiveVerse] = useState<number | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
for (const entry of entries) {
|
||||
if (entry.isIntersecting) {
|
||||
const id = entry.target.id;
|
||||
const num = parseInt(id.replace("verse-", ""));
|
||||
if (!isNaN(num)) setActiveVerse(num);
|
||||
}
|
||||
}
|
||||
},
|
||||
{ rootMargin: "-20% 0px -60% 0px" },
|
||||
);
|
||||
|
||||
const articles = document.querySelectorAll("article[id^='verse-']");
|
||||
articles.forEach((el) => observer.observe(el));
|
||||
|
||||
return () => observer.disconnect();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<aside className="hidden lg:block w-48 shrink-0 sticky top-[89px] self-start max-h-[calc(100vh-89px)] overflow-y-auto py-8 pr-4">
|
||||
<h2 className="text-xs font-bold uppercase tracking-wider text-muted-foreground mb-3 px-2">
|
||||
Verses
|
||||
</h2>
|
||||
<nav className="grid grid-cols-3 gap-0.5">
|
||||
{verses.map((v) => (
|
||||
<a
|
||||
key={v.verse}
|
||||
href={`#verse-${v.verse}`}
|
||||
className={`px-2 py-1 rounded-md text-sm text-center transition-colors ${
|
||||
activeVerse === v.verse
|
||||
? "bg-primary/10 text-primary font-medium"
|
||||
: "text-muted-foreground hover:bg-muted hover:text-foreground"
|
||||
}`}
|
||||
>
|
||||
{v.verse_end ? `${v.verse}–${v.verse_end}` : v.verse}
|
||||
</a>
|
||||
))}
|
||||
</nav>
|
||||
</aside>
|
||||
);
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { notFound } from "next/navigation";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { ExtractedVerseCount } from "../../extracted-verse-count";
|
||||
import { getBookMeta } from "@/lib/api";
|
||||
|
||||
type ChapterInfo = {
|
||||
number: number;
|
||||
@@ -19,19 +18,6 @@ type CantoInfo = {
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalCantos: number;
|
||||
cantos: CantoInfo[];
|
||||
};
|
||||
|
||||
function getIntro(): Intro {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/sb/intro.json");
|
||||
return JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
}
|
||||
|
||||
export default async function CantoPage({
|
||||
params,
|
||||
}: {
|
||||
@@ -39,9 +25,11 @@ export default async function CantoPage({
|
||||
}) {
|
||||
const { canto } = await params;
|
||||
const cantoNum = parseInt(canto);
|
||||
const intro = getIntro();
|
||||
const meta = await getBookMeta("sb");
|
||||
if (!meta) notFound();
|
||||
|
||||
const cantoInfo = intro.cantos.find((c) => c.number === cantoNum);
|
||||
const cantos = (meta as unknown as { cantos: CantoInfo[] }).cantos;
|
||||
const cantoInfo = cantos.find((c) => c.number === cantoNum);
|
||||
if (!cantoInfo) notFound();
|
||||
|
||||
const totalVerses = cantoInfo.chapters.reduce(
|
||||
|
||||
+12
-12
@@ -1,10 +1,10 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { ExtractedVerseCount } from "../extracted-verse-count";
|
||||
import { getBookMeta } from "@/lib/api";
|
||||
import { notFound } from "next/navigation";
|
||||
|
||||
type ChapterInfo = {
|
||||
number: number;
|
||||
@@ -19,17 +19,17 @@ type CantoInfo = {
|
||||
chapters: ChapterInfo[];
|
||||
};
|
||||
|
||||
type Intro = {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalCantos: number;
|
||||
cantos: CantoInfo[];
|
||||
};
|
||||
export default async function SbPage() {
|
||||
const meta = await getBookMeta("sb");
|
||||
if (!meta) notFound();
|
||||
|
||||
export default function SbPage() {
|
||||
const introPath = path.join(process.cwd(), "app/lib/books/sb/intro.json");
|
||||
const intro: Intro = JSON.parse(fs.readFileSync(introPath, "utf-8"));
|
||||
const intro = meta as {
|
||||
book: string;
|
||||
title: string;
|
||||
author: string;
|
||||
totalCantos: number;
|
||||
cantos: CantoInfo[];
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
|
||||
@@ -0,0 +1,298 @@
|
||||
"use client";
|
||||
|
||||
import { useState, useMemo, useRef, useEffect } from "react";
|
||||
import { Search, X } from "lucide-react";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
|
||||
type GlossaryEntry = {
|
||||
term: string;
|
||||
definition: string;
|
||||
definition_html: string;
|
||||
};
|
||||
|
||||
type GlossaryData = {
|
||||
title: string;
|
||||
description: string;
|
||||
totalEntries: number;
|
||||
letters: string[];
|
||||
entries: GlossaryEntry[];
|
||||
};
|
||||
|
||||
// Map diacritical first characters to base letters for grouping
|
||||
const DIACRITIC_TO_BASE: Record<string, string> = {
|
||||
Ā: "A",
|
||||
Ä: "A",
|
||||
Ī: "I",
|
||||
É: "I",
|
||||
Ū: "U",
|
||||
Ü: "U",
|
||||
Ṛ: "R",
|
||||
Ṝ: "R",
|
||||
Ś: "S",
|
||||
Ç: "S",
|
||||
Ṣ: "S",
|
||||
Ñ: "N",
|
||||
Ṇ: "N",
|
||||
Ṅ: "N",
|
||||
Ṭ: "T",
|
||||
Ḍ: "D",
|
||||
Ḥ: "H",
|
||||
};
|
||||
|
||||
function getBaseLetter(term: string): string {
|
||||
if (!term) return "?";
|
||||
const first = term[0].toUpperCase();
|
||||
return DIACRITIC_TO_BASE[first] || first;
|
||||
}
|
||||
|
||||
// Normalize a string for search matching (strip diacritics, lowercase)
|
||||
function normalizeForSearch(text: string): string {
|
||||
return text
|
||||
.normalize("NFD")
|
||||
.replace(/[\u0300-\u036f]/g, "")
|
||||
.toLowerCase();
|
||||
}
|
||||
|
||||
export function GlossaryClient({ data }: { data: GlossaryData }) {
|
||||
const [query, setQuery] = useState("");
|
||||
const [activeLetter, setActiveLetter] = useState<string | null>(null);
|
||||
const letterRefs = useRef<Record<string, HTMLDivElement | null>>({});
|
||||
const scrollContainerRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const normalizedQuery = useMemo(() => normalizeForSearch(query), [query]);
|
||||
|
||||
// Group entries by letter
|
||||
const groupedEntries = useMemo(() => {
|
||||
const groups: Record<string, GlossaryEntry[]> = {};
|
||||
for (const entry of data.entries) {
|
||||
const letter = getBaseLetter(entry.term);
|
||||
if (!groups[letter]) groups[letter] = [];
|
||||
groups[letter].push(entry);
|
||||
}
|
||||
return groups;
|
||||
}, [data.entries]);
|
||||
|
||||
// Filtered entries
|
||||
const filteredGroups = useMemo(() => {
|
||||
if (!normalizedQuery) return groupedEntries;
|
||||
|
||||
const result: Record<string, GlossaryEntry[]> = {};
|
||||
for (const [letter, entries] of Object.entries(groupedEntries)) {
|
||||
const filtered = entries.filter((e) => {
|
||||
const normTerm = normalizeForSearch(e.term);
|
||||
const normDef = normalizeForSearch(e.definition);
|
||||
return normTerm.includes(normalizedQuery) || normDef.includes(normalizedQuery);
|
||||
});
|
||||
if (filtered.length > 0) {
|
||||
result[letter] = filtered;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}, [groupedEntries, normalizedQuery]);
|
||||
|
||||
const filteredCount = useMemo(
|
||||
() => Object.values(filteredGroups).reduce((sum, g) => sum + g.length, 0),
|
||||
[filteredGroups],
|
||||
);
|
||||
|
||||
const sortedLetters = useMemo(
|
||||
() => Object.keys(filteredGroups).sort(),
|
||||
[filteredGroups],
|
||||
);
|
||||
|
||||
// Scroll to letter
|
||||
function scrollToLetter(letter: string) {
|
||||
setActiveLetter(letter);
|
||||
const el = letterRefs.current[letter];
|
||||
if (el) {
|
||||
el.scrollIntoView({ behavior: "smooth", block: "start" });
|
||||
}
|
||||
}
|
||||
|
||||
// Track active letter on scroll via IntersectionObserver
|
||||
useEffect(() => {
|
||||
const observer = new IntersectionObserver(
|
||||
(entries) => {
|
||||
for (const entry of entries) {
|
||||
if (entry.isIntersecting) {
|
||||
const letter = entry.target.getAttribute("data-letter");
|
||||
if (letter) setActiveLetter(letter);
|
||||
}
|
||||
}
|
||||
},
|
||||
{ rootMargin: "-20% 0px -70% 0px" },
|
||||
);
|
||||
|
||||
const sections = document.querySelectorAll("[data-letter]");
|
||||
sections.forEach((el) => observer.observe(el));
|
||||
|
||||
return () => observer.disconnect();
|
||||
}, [sortedLetters]);
|
||||
|
||||
return (
|
||||
<div className="flex flex-col gap-6">
|
||||
{/* Search bar */}
|
||||
<div className="sticky top-0 z-10 bg-background py-4">
|
||||
<div className="relative">
|
||||
<Search className="absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground" />
|
||||
<Input
|
||||
type="text"
|
||||
placeholder="Search glossary…"
|
||||
value={query}
|
||||
onChange={(e) => setQuery(e.target.value)}
|
||||
className="pl-10 pr-10"
|
||||
/>
|
||||
{query && (
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon-xs"
|
||||
className="absolute right-2 top-1/2 -translate-y-1/2"
|
||||
onClick={() => setQuery("")}
|
||||
aria-label="Clear search"
|
||||
>
|
||||
<X className="size-3.5" />
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
<p className="mt-2 text-sm text-muted-foreground">
|
||||
{query
|
||||
? `${filteredCount.toLocaleString()} result${filteredCount !== 1 ? "s" : ""} for "${query}"`
|
||||
: `${data.totalEntries.toLocaleString()} entries`}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Letter navigation */}
|
||||
<div className="flex flex-wrap gap-1">
|
||||
{data.letters.map((letter) => {
|
||||
const hasResults = letter in filteredGroups;
|
||||
return (
|
||||
<button
|
||||
key={letter}
|
||||
disabled={!hasResults}
|
||||
onClick={() => scrollToLetter(letter)}
|
||||
className={`inline-flex items-center justify-center size-8 rounded-md text-sm font-medium transition-colors ${
|
||||
activeLetter === letter
|
||||
? "bg-primary/10 text-primary"
|
||||
: hasResults
|
||||
? "text-foreground hover:bg-muted"
|
||||
: "text-muted-foreground/40 cursor-not-allowed"
|
||||
}`}
|
||||
>
|
||||
{letter}
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
|
||||
{/* Entries grouped by letter */}
|
||||
<div ref={scrollContainerRef} className="space-y-8">
|
||||
{sortedLetters.length === 0 && (
|
||||
<div className="text-center py-12 text-muted-foreground">
|
||||
No entries match your search.
|
||||
</div>
|
||||
)}
|
||||
|
||||
{sortedLetters.map((letter) => (
|
||||
<div
|
||||
key={letter}
|
||||
ref={(el) => {
|
||||
letterRefs.current[letter] = el;
|
||||
}}
|
||||
data-letter={letter}
|
||||
className="scroll-mt-40"
|
||||
>
|
||||
{/* Letter heading */}
|
||||
<div className="sticky top-[84px] z-[5] bg-background py-2 border-b border-border mb-3">
|
||||
<Badge variant="secondary" className="text-base px-3 py-0.5">
|
||||
{letter}
|
||||
</Badge>
|
||||
<span className="ml-2 text-sm text-muted-foreground">
|
||||
{filteredGroups[letter].length} entr{filteredGroups[letter].length === 1 ? "y" : "ies"}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{/* Entry cards */}
|
||||
<div className="space-y-2 px-1">
|
||||
{filteredGroups[letter].map((entry) => (
|
||||
<Card key={entry.term} size="sm">
|
||||
<CardContent className="py-3">
|
||||
<dt className="font-semibold text-foreground">
|
||||
{highlightMatch(entry.term, query)}
|
||||
</dt>
|
||||
<dd
|
||||
className="mt-1 text-sm text-muted-foreground leading-relaxed"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: query
|
||||
? highlightHtml(entry.definition_html, query)
|
||||
: entry.definition_html,
|
||||
}}
|
||||
/>
|
||||
</CardContent>
|
||||
</Card>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Highlight matching parts of plain text (for the term).
|
||||
*/
|
||||
function highlightMatch(text: string, query: string): React.ReactNode {
|
||||
if (!query) return text;
|
||||
|
||||
const normalizedText = normalizeForSearch(text);
|
||||
const normalizedQuery = normalizeForSearch(query);
|
||||
const index = normalizedText.indexOf(normalizedQuery);
|
||||
|
||||
if (index === -1) return text;
|
||||
|
||||
// Map the index in normalized text back to original text
|
||||
const before = text.slice(0, index);
|
||||
const match = text.slice(index, index + query.length);
|
||||
const after = text.slice(index + query.length);
|
||||
|
||||
return (
|
||||
<>
|
||||
{before}
|
||||
<mark className="bg-primary/20 text-foreground rounded-sm px-0.5">{match}</mark>
|
||||
{after}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Highlight matching parts inside an HTML string (for definitions).
|
||||
* Only highlights within text nodes, not inside HTML tags.
|
||||
*/
|
||||
function highlightHtml(html: string, query: string): string {
|
||||
if (!query) return html;
|
||||
|
||||
const normalizedQuery = normalizeForSearch(query);
|
||||
if (!normalizedQuery) return html;
|
||||
|
||||
// Split by HTML tags, only highlight in text nodes
|
||||
const parts = html.split(/(<[^>]+>)/);
|
||||
return parts
|
||||
.map((part) => {
|
||||
// Skip HTML tags
|
||||
if (part.startsWith("<")) return part;
|
||||
|
||||
// Try to find and highlight match in text content
|
||||
const normalizedPart = normalizeForSearch(part);
|
||||
const index = normalizedPart.indexOf(normalizedQuery);
|
||||
if (index === -1) return part;
|
||||
|
||||
const before = part.slice(0, index);
|
||||
const match = part.slice(index, index + query.length);
|
||||
const after = part.slice(index + query.length);
|
||||
return `${before}<mark class="bg-primary/20 text-foreground rounded-sm px-0.5">${match}</mark>${after}`;
|
||||
})
|
||||
.join("");
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import Link from "next/link";
|
||||
import { PageHeader } from "@/components/page-header";
|
||||
import { GlossaryClient } from "./glossary-client";
|
||||
import { getAllGlossaryEntries } from "@/lib/api";
|
||||
|
||||
export default async function GlossaryPage() {
|
||||
const entries = await getAllGlossaryEntries();
|
||||
|
||||
const letters = Array.from(
|
||||
new Set(
|
||||
entries
|
||||
.map((e) => e.term.charAt(0).toUpperCase())
|
||||
.filter((ch) => ch.length > 0),
|
||||
),
|
||||
).sort();
|
||||
|
||||
const data = {
|
||||
title: "Glossary",
|
||||
description:
|
||||
"Sanskrit and Bengali terms used in the books of His Divine Grace A.C. Bhaktivedanta Swami Prabhupāda.",
|
||||
totalEntries: entries.length,
|
||||
letters,
|
||||
entries: entries.map((e) => ({
|
||||
term: e.term,
|
||||
definition: e.definition,
|
||||
definition_html: e.definitionHtml,
|
||||
})),
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
<PageHeader>
|
||||
<Link
|
||||
href="/"
|
||||
className="text-sm text-muted-foreground hover:text-foreground transition-colors"
|
||||
>
|
||||
← Home
|
||||
</Link>
|
||||
<h1 className="mt-3 text-3xl font-bold text-foreground">
|
||||
{data.title}
|
||||
</h1>
|
||||
<p className="mt-1 text-muted-foreground">{data.description}</p>
|
||||
</PageHeader>
|
||||
|
||||
<main className="max-w-3xl mx-auto px-6 py-8">
|
||||
<GlossaryClient data={data} />
|
||||
</main>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
+3
-2
@@ -15,8 +15,9 @@ const geistMono = Geist_Mono({
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "RTF Document Viewer",
|
||||
description: "Browse and read RTF documents in the browser",
|
||||
title: "Prabhupāda Says",
|
||||
description:
|
||||
"Browse the books and teachings of His Divine Grace A.C. Bhaktivedanta Swami Prabhupāda",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"chapter": 1,
|
||||
"verse": 26,
|
||||
"reference": "Bg 1.26",
|
||||
"devanagari": "तत्रापश्यत्स्थितान्पार्थः पिते᳙नथ पितामहान्\nआचार्यान्मातुलान्भ्राते᳙न्पुत्रान्पौत्रान्सखींस्तथा\nश्वशुरान्सुहृदश्चैव सेनयोरुभयोरपि",
|
||||
"transliteration": "tatrāpaśyat sthitān pārthaḥ\npitèn atha pitāmahān\nācāryān mātulān bhrātèn\nputrān pautrān sakhīṁs tathā\nśvaśurān suhṛdaś caiva\nsenayor ubhayor api",
|
||||
"devanagari": "तत्रापश्यत्स्थितान्पार्थः पितॄनथ पितामहान्\nआचार्यान्मातुलान्भ्रातॄन्पुत्रान्पौत्रान्सखींस्तथा\nश्वशुरान्सुहृदश्चैव सेनयोरुभयोरपि",
|
||||
"transliteration": "tatrāpaśyat sthitān pārthaḥ\npitṝn atha pitāmahān\nācāryān mātulān bhrātṝn\nputrān pautrān sakhīṁs tathā\nśvaśurān suhṛdaś caiva\nsenayor ubhayor api",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tatra",
|
||||
@@ -31,7 +31,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"fathers"
|
||||
]
|
||||
@@ -61,7 +61,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "bhrātèn",
|
||||
"word": "bhrātṝn",
|
||||
"meanings": [
|
||||
"brothers"
|
||||
]
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"chapter": 4,
|
||||
"verse": 39,
|
||||
"reference": "Bg 4.39",
|
||||
"devanagari": "श्रद्धावाû लभते ज्ञानं तत्परः संयतेन्द्रियः\nज्ञानं लब्ध्वा परां शान्तिमचिरेणाधिगच्छति",
|
||||
"transliteration": "śraddhāvāû labhate jñānaṁ\ntat-paraḥ saṁyatendriyaḥ\njñānaṁ labdhvā parāṁ śāntim\nacireṇādhigacchati",
|
||||
"devanagari": "श्रद्धावांल्लभते ज्ञानं तत्परः संयतेन्द्रियः\nज्ञानं लब्ध्वा परां शान्तिमचिरेणाधिगच्छति",
|
||||
"transliteration": "śraddhāvāṁl labhate jñānaṁ\ntat-paraḥ saṁyatendriyaḥ\njñānaṁ labdhvā parāṁ śāntim\nacireṇādhigacchati",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "śraddhāvān",
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"chapter": 9,
|
||||
"verse": 25,
|
||||
"reference": "Bg 9.25",
|
||||
"devanagari": "यान्ति देवव्रता देवान्पिते᳙न्यान्ति पितृव्रताः\nभूतानि यान्ति भूतेज्या यान्ति मद्याजिनो ऽपि माम्",
|
||||
"transliteration": "yānti deva-vratā devān\npitèn yānti pitṛ-vratāḥ\nbhūtāni yānti bhūtejyā\nyānti mad-yājino 'pi mām",
|
||||
"devanagari": "यान्ति देवव्रता देवान्पितॄन्यान्ति पितृव्रताः\nभूतानि यान्ति भूतेज्या यान्ति मद्याजिनो ऽपि माम्",
|
||||
"transliteration": "yānti deva-vratā devān\npitṝn yānti pitṛ-vratāḥ\nbhūtāni yānti bhūtejyā\nyānti mad-yājino 'pi mām",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "yānti",
|
||||
@@ -25,7 +25,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"to ancestors"
|
||||
]
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"chapter": 10,
|
||||
"verse": 29,
|
||||
"reference": "Bg 10.29",
|
||||
"devanagari": "अनन्तश्चास्मि नागानां वरुणो यादसामहम्\nपिते᳙णामर्यमा चास्मि यमः संयमतामहम्",
|
||||
"transliteration": "anantaś cāsmi nāgānāṁ\nvaruṇo yādasām aham\npitèṇām aryamā cāsmi\nyamaḥ saṁyamatām aham",
|
||||
"devanagari": "अनन्तश्चास्मि नागानां वरुणो यादसामहम्\nपितॄणामर्यमा चास्मि यमः संयमतामहम्",
|
||||
"transliteration": "anantaś cāsmi nāgānāṁ\nvaruṇo yādasām aham\npitṝṇām aryamā cāsmi\nyamaḥ saṁyamatām aham",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "anantaḥ",
|
||||
@@ -49,7 +49,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "piṭènām",
|
||||
"word": "piṭṝnām",
|
||||
"meanings": [
|
||||
"of the ancestors"
|
||||
]
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"chapter": 18,
|
||||
"verse": 17,
|
||||
"reference": "Bg 18.17",
|
||||
"devanagari": "यस्य नाहंकृतो भावो बुद्धिर्यस्य न लिप्यते\nहत्वापि स इमाû लोकान्न हन्ति न निबध्यते",
|
||||
"transliteration": "yasya nāhaṅkṛto bhāvo\nbuddhir yasya na lipyate\nhatvāpi sa imāû lokān\nna hanti na nibadhyate",
|
||||
"devanagari": "यस्य नाहंकृतो भावो बुद्धिर्यस्य न लिप्यते\nहत्वापि स इमांल्लोकान्न हन्ति न निबध्यते",
|
||||
"transliteration": "yasya nāhaṅkṛto bhāvo\nbuddhir yasya na lipyate\nhatvāpi sa imāṁl lokān\nna hanti na nibadhyate",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "yasya",
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"chapter": 18,
|
||||
"verse": 71,
|
||||
"reference": "Bg 18.71",
|
||||
"devanagari": "श्रद्धावाननसूयश्च शृणुयादपि यो नरः\nसो ऽपि मुक्तः शुभाû लोकान्प्राप्नुयात्पुण्यकर्मणाम्",
|
||||
"transliteration": "śraddhāvān anasūyaś ca\nśṛṇuyād api yo naraḥ\nso 'pi muktaḥ śubhāû lokān\nprāpnuyāt puṇya-karmaṇām",
|
||||
"devanagari": "श्रद्धावाननसूयश्च शृणुयादपि यो नरः\nसो ऽपि मुक्तः शुभांल्लोकान्प्राप्नुयात्पुण्यकर्मणाम्",
|
||||
"transliteration": "śraddhāvān anasūyaś ca\nśṛṇuyād api yo naraḥ\nso 'pi muktaḥ śubhāṁl lokān\nprāpnuyāt puṇya-karmaṇām",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "sraddhāvan",
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
"Śrīla Bhaktisiddhānta Sarasvatī Ṭhākura comments that <i>mukhya-vṛtti</i> (\"the direct meaning\") is <i>abhidhā-vṛtti,</i> or the meaning which one can understand immediately from the statements of dictionaries, whereas <i>gauṇa-vṛtti</i> (\"the indirect meaning\") is a meaning that one imagines without consulting the dictionary. For example, one politician has said that Kurukṣetra refers to the body, but in the dictionary there is no such definition. Therefore this imaginary meaning is <i>gauṇa-vṛtti,</i> whereas the direct meaning found in the dictionary is <i>mukhya-vṛtti</i> or <i>abhidhā-vṛtti.</i> This is the distinction between the two. Śrī Caitanya Mahāprabhu recommends that one understand the Vedic literature in terms of <i>abhidhā-vṛtti,</i> and the <i>gauṇa-vṛtti</i> He rejects. Sometimes, however, as a matter of necessity, Vedic literature is described in terms of the <i>lakṣaṇā-vṛtti</i> or <i>gauṇa-vṛtti,</i> but one should not accept such explanations as permanent truths.",
|
||||
"The purpose of the discussions in the <i>Upaniṣads</i> and <i>Vedānta-sūtra</i> is to philosophically establish the personal feature of the Absolute Truth. The impersonalists, however, in order to establish their philosophy, accept these discussions in terms of <i>lakṣaṇā-vṛtti,</i> or indirect meanings. Thus instead of being <i>tattva-vāda,</i> or in search of the Absolute Truth, they become Māyāvāda, or illusioned by the material energy. When Śrī Viṣṇusvāmī, one of the four <i>ācaryas</i> of the Vaiṣṇava cult, presented his thesis on the subject matter of <i>śuddhādvaita-vāda,</i> immediately the Māyāvādīs took advantage of this philosophy and tried to establish their <i>advaita-vāda</i> or <i>kevalādvaita-vāda.</i> To defeat this <i>kevalādvaita-vāda,</i> Śrī Rāmānujācārya presented his philosophy as <i>viśiṣṭādvaita-vāda,</i> and Śrī Madhvācārya presented his philosophy of <i>tattva-vāda,</i> both of which are stumbling blocks to the Māyāvādīs because they defeat their philosophy in scrupulous detail. Students of Vedic philosophy know very well how strongly Śrī Rāmānujācārya's <i>viśiṣṭādvaita-vāda</i> and Śrī Madhvācārya's <i>tattva-vāda</i> contest the impersonal Māyāvāda philosophy. Śrī Caitanya Mahāprabhu, however, accepted the direct meaning of the Vedānta philosophy and thus defeated the Māyāvāda philosophy immediately. He opined in this connection that anyone who follows the principles of the <i>Śārīraka-bhāṣya</i> is doomed. This is confirmed in the <i>Padma Purāṇa</i> where Lord Śiva tells Pārvatī:",
|
||||
"<i>śṛṇu devi pravakṣyāmi<br/> tāmasāni yathākramam<br/> yeṣāṁ śravaṇa-mātreṇa<br/> pātityaṁ jñāninām api</i>",
|
||||
"<i>apārthaṁ śruti-vākyānāṁ<br/> darśayaû loka-garhitam<br/> karma-svarūpa-tyājyatvam<br/> atra ca pratipādyate</i>",
|
||||
"<i>apārthaṁ śruti-vākyānāṁ<br/> darśayaṁl loka-garhitam<br/> karma-svarūpa-tyājyatvam<br/> atra ca pratipādyate</i>",
|
||||
"<i>sarva-karma-paribhraṁśān<br/> naiṣkarmyaṁ tatra cocyate<br/> parātma-jīvayor aikyaṁ<br/> mayātra pratipādyate</i>",
|
||||
"\"My dear wife, hear my explanations of how I have spread ignorance through Māyāvāda philosophy. Simply by hearing it, even an advanced scholar will fall down. In this philosophy, which is certainly very inauspicious for people in general, I have misrepresented the real meaning of the <i>Vedas</i> and recommended that one give up all activities in order to achieve freedom from <i>karma.</i> In this Māyāvāda philosophy I have described the <i>jīvātmā</i> and Paramātmā to be one and the same.\" How the Māyāvāda philosophy was condemned by Śrī Caitanya Mahāprabhu and His followers is described in <i>Śrī-Caitanya-caritāmṛta, Antya-līlā,</i> Second Chapter, verses 94 through 99, where Svarūpa-dāmodara Gosvāmī says that anyone who is eager to understand the Māyāvāda philosophy must be considered insane. This especially applies to a Vaiṣṇava who reads the <i>Śārīraka-bhāṣya</i> and considers himself to be one with God. The Māyāvādī philosophers have presented their arguments in such attractive flowery language that hearing Māyāvāda philosophy may sometimes change the mind of even a <i>mahā-bhāgavata,</i> or very advanced devotee. An actual Vaiṣṇava cannot tolerate any philosophy that claims God and the living being to be one and the same."
|
||||
]
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
"purport": [
|
||||
"It is stated in the <i>Brahma-saṁhitā, īśvaraḥ paramaḥ kṛṣṇaḥ sac-cid-ānanda-vigrahaḥ:</i> \"The Supreme Personality of Godhead, Kṛṣṇa, has a spiritual body which is full of knowledge, eternity and bliss.\" In this material world everyone's body is just the opposite—temporary, full of ignorance and full of misery. Therefore when the Supreme Personality of Godhead is sometimes described as <i>nirākāra,</i> this is to indicate that He does not have a material body like us.",
|
||||
"Māyāvādī philosophers do not know how it is that the Supreme Personality of Godhead is formless. The Supreme Lord does not have a form like ours but has a spiritual form. Not knowing this, Māyāvādī philosophers simply advocate the onesided view that the Supreme Godhead, or Brahman, is formless (<i>nirākāra</i>). In this connection Śrīla Bhaktivinoda Ṭhākura offers many quotes from the Vedic literature. If one accepts the real or direct meaning of these Vedic statements, one can understand that the Supreme Personality of Godhead has a spiritual body (<i>sac-cid-ānanda-vigrahaḥ</i>)<i>.</i>",
|
||||
"In the <i>Bṛhad-āraṇyaka Upaniṣad </i>[5.1.1] it is said, <i>pūrṇam adaḥ pūrṇam idaṁ pūrṇāt pūrṇam udacyate.</i> This indicates that the body of the Supreme Personality of Godhead is spiritual, for even though He expands in many ways, He remains the same. In <i>Bhagavad-gītā</i> the Lord says, <i>ahaṁ sarvasya prabhavo mattaḥ sarvaṁ pravartate:</i> \"I am the origin of all. Everything emanates from Me.\" (Bg. 10.8) Māyāvādī philosophers materialistically think that if the Supreme Truth expands Himself in everything, He must lose His original form. Thus they think that there cannot be any form other than the expansive gigantic body of the Lord. But the <i>mantra </i>of the <i>Bṛhad-āraṇyaka Upaniṣad</i> confirms, <i>pūrṇam idaṁ pūrṇāt pūrṇam udacyate:</i> \"Although He expands in many ways, He keeps His original personality. His original spiritual body remains as it is.\" Similarly, in the <i>Śvetāśvatara Upaniṣad</i> it is stated, <i>vicitra-śaktiḥ puruṣaḥ purāṇaḥ:</i> \"The Supreme Personality of Godhead, the original person [<i>puruṣa</i>], has multifarious energies.\" <i>Sa vṛkṣa-kālākṛtibhiḥ paro 'nyo yasmāt prapañcaḥ parivartate 'yaṁ dharmāvahaṁ pāpanudaṁ bhageśam:</i> \"He is the origin of material creation, and it is due to Him only that everything changes. He is the protector of religion and annihilator of all sinful activities. He is the master of all opulences.\" (<b>6.6) </b><b><i>Vedāham etaṁ puruṣaṁ mahāntam āditya-varṇaṁ tamasaḥ parastāt:</i></b><b> \"Now I understand the Supreme Personality of Godhead to be the greatest of the great. He is effulgent like the sun and is beyond this material world.\" (3.8) </b><b><i>Patiṁ patīnāṁ paramaṁ parastāt:</i></b><b> \"He is the master of all masters, the superior of all superiors.\" (6.7) </b><b><i>Mahān prabhur vai puruṣaḥ:</i></b><b> \"He is the supreme master and supreme person.\" (</b><b><i>3.12</i></b><b>) </b><b><i>Parāsya śaktir vividhaiva śrūyate:</i></b><b> \"We can understand His opulences in different ways.\" (6.8) These are statements of the </b><b><i>Śvetāśvatara</i></b><b> </b><b><i>Upaniṣad.</i></b><b> Similarly, in the </b><b><i>Ṛg-veda</i></b><b> </b><b>[1.22.20] </b><b>it is stated, </b><b><i>tad viṣṇoḥ paramaṁ padaṁ sadā paśyanti sūrayaḥ:</i></b><b> \"Viṣṇu is the Supreme, and those who are actually learned think only of His lotus feet.\" In the </b><b><i>Praśna Upaniṣad</i></b><b> it is said, </b><b><i>sa īkṣāñcakre:</i></b><b> \"He glanced over the material creation.\" (6.3) In the </b><b><i>Aitareya Upaniṣad </i></b><b>it is said, </b><b><i>sa aikṣata</i></b><b>—\"He glanced over the material creation\"—and </b><b><i>sa imāû lokān asṛjata</i></b><b>—\"He created this entire material world.\" (1.1.1-2)</b>",
|
||||
"In the <i>Bṛhad-āraṇyaka Upaniṣad </i>[5.1.1] it is said, <i>pūrṇam adaḥ pūrṇam idaṁ pūrṇāt pūrṇam udacyate.</i> This indicates that the body of the Supreme Personality of Godhead is spiritual, for even though He expands in many ways, He remains the same. In <i>Bhagavad-gītā</i> the Lord says, <i>ahaṁ sarvasya prabhavo mattaḥ sarvaṁ pravartate:</i> \"I am the origin of all. Everything emanates from Me.\" (Bg. 10.8) Māyāvādī philosophers materialistically think that if the Supreme Truth expands Himself in everything, He must lose His original form. Thus they think that there cannot be any form other than the expansive gigantic body of the Lord. But the <i>mantra </i>of the <i>Bṛhad-āraṇyaka Upaniṣad</i> confirms, <i>pūrṇam idaṁ pūrṇāt pūrṇam udacyate:</i> \"Although He expands in many ways, He keeps His original personality. His original spiritual body remains as it is.\" Similarly, in the <i>Śvetāśvatara Upaniṣad</i> it is stated, <i>vicitra-śaktiḥ puruṣaḥ purāṇaḥ:</i> \"The Supreme Personality of Godhead, the original person [<i>puruṣa</i>], has multifarious energies.\" <i>Sa vṛkṣa-kālākṛtibhiḥ paro 'nyo yasmāt prapañcaḥ parivartate 'yaṁ dharmāvahaṁ pāpanudaṁ bhageśam:</i> \"He is the origin of material creation, and it is due to Him only that everything changes. He is the protector of religion and annihilator of all sinful activities. He is the master of all opulences.\" (<b>6.6) </b><b><i>Vedāham etaṁ puruṣaṁ mahāntam āditya-varṇaṁ tamasaḥ parastāt:</i></b><b> \"Now I understand the Supreme Personality of Godhead to be the greatest of the great. He is effulgent like the sun and is beyond this material world.\" (3.8) </b><b><i>Patiṁ patīnāṁ paramaṁ parastāt:</i></b><b> \"He is the master of all masters, the superior of all superiors.\" (6.7) </b><b><i>Mahān prabhur vai puruṣaḥ:</i></b><b> \"He is the supreme master and supreme person.\" (</b><b><i>3.12</i></b><b>) </b><b><i>Parāsya śaktir vividhaiva śrūyate:</i></b><b> \"We can understand His opulences in different ways.\" (6.8) These are statements of the </b><b><i>Śvetāśvatara</i></b><b> </b><b><i>Upaniṣad.</i></b><b> Similarly, in the </b><b><i>Ṛg-veda</i></b><b> </b><b>[1.22.20] </b><b>it is stated, </b><b><i>tad viṣṇoḥ paramaṁ padaṁ sadā paśyanti sūrayaḥ:</i></b><b> \"Viṣṇu is the Supreme, and those who are actually learned think only of His lotus feet.\" In the </b><b><i>Praśna Upaniṣad</i></b><b> it is said, </b><b><i>sa īkṣāñcakre:</i></b><b> \"He glanced over the material creation.\" (6.3) In the </b><b><i>Aitareya Upaniṣad </i></b><b>it is said, </b><b><i>sa aikṣata</i></b><b>—\"He glanced over the material creation\"—and </b><b><i>sa imāṁl lokān asṛjata</i></b><b>—\"He created this entire material world.\" (1.1.1-2)</b>",
|
||||
"Thus many verses can be quoted from the <i>Upaniṣads</i> and <i>Vedas</i> which prove that the Supreme Godhead is not impersonal. In the <i>Kaṭha Upaniṣad</i> (2.2.13) it is also said, <i>nityo nityānāṁ cetanaś cetanānām eko bahūnāṁ yo vidadhāti kāmān:</i> \"He is the supreme eternally conscious person who maintains all other living entities.\" From all these Vedic references one can understand that the Absolute Truth is a person, although no one can equal or excel Him. Although there are many foolish Māyāvādī philosophers who think that they are even greater than Kṛṣṇa, Kṛṣṇa is <i>asamaurdhva;</i> no one is equal to or above Him.",
|
||||
"As stated in the <i>Śvetāśvatara Upaniṣad</i> (3.19), <i>apāṇi-pādo javano grahītā.</i> This verse describes the Absolute Truth as having no legs or hands. Although this is an impersonal description, however, it does not mean that the Absolute Personality of Godhead has no form. He has a spiritual form which is distinct from the forms of matter. In this verse Caitanya Mahāprabhu clarifies this distinction."
|
||||
]
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
"translation": "<b>\"'By his work, thoughts and words, an intelligent man must perform actions which will be beneficial for all living entities in this life and in the next.' </b>[<i>Viṣṇu</i> <i>Purāṇa </i>3.12.45]",
|
||||
"purport": [
|
||||
"Unfortunately, people in general do not know what is to take place in the next life. To prepare oneself for his next life is common sense, and it is a principle of the Vedic civilization, but presently people throughout the world do not believe in a next life. Even influential professors and other educators say that as soon as the body is finished, everything is finished. This atheistic philosophy is killing human civilization. People are irresponsibly performing all sorts of sinful activities, and thus the privilege of the human life is being taken away by the educational propaganda of the so-called leaders. Actually it is a fact that this life is meant for preparation for the next life; by evolution one has come through many species or forms, and this human form of life is an opportunity to promote oneself to a better life. This is explained in <i>Bhagavad-gītā</i>:",
|
||||
"<i>yānti deva-vratā devān<br/> pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān<br/> pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"\"Those who worship the demigods will take birth among the demigods;those who worship ghosts and spirits will take birth among such beings; those who worship ancestors go to the ancestors; and those who worship Me will live with Me.\" (Bg. 9.25) Therefore, one may promote himself to the higher planetary systems which are the residence of the demigods, one can promote himself to the Pitṛloka, one can remain on earth, or one can also go back home, back to Godhead. This is further confirmed by <i>Bhagavad-gītā</i> (4.9): <i>tyaktvā dehaṁ punar janma naiti mām eti so 'rjuna.</i> After giving up the body, one who knows Kṛṣṇa in truth does not come back again to this world to accept a material body, but he goes back home, back to Godhead. This knowledge is in the <i>śāstras,</i> and people should be given the opportunity to understand it. Even if one is not able to go back to Godhead in one life, the Vedic civilization at least gives one the opportunity to be promoted to the higher planetary systems where the demigods live and not glide down again to animal life. At present, people do not understand this knowledge, although it constitutes a great science, for they are uneducated and trained not to accept it. This is the horrible condition of modern human society. As such, the Kṛṣṇa consciousness movement is the only hope to direct the attention of intelligent men to a greater benefit in life."
|
||||
]
|
||||
}
|
||||
@@ -77,6 +77,6 @@
|
||||
],
|
||||
"translation": "<b>After some days Jagannātha Miśra inaugurated the primary education of his son by performing the hāte khaḍi ceremony. Within a very few days the Lord learned all the letters and combinations of letters.</b>",
|
||||
"purport": [
|
||||
"The twelve <i>phalā,</i> or combinations of letters, are called <i>repha, mūrdhanya</i> (cerebral), <i>ṇa, dāntavya</i> (dental), <i>na, ma, ya, ra, la, va, ṛ, è, ÿ</i> and \\<i>ÿ.</i> <i>Hāte khaḍi</i> is the primary educational beginning. At the age of four or five years, on an auspicious day called <i>vidyārambha</i> marking the beginning of primary education, there is a ceremony worshiping Lord Viṣṇu, and after that the teacher gives the child a long chalk pencil. Then, guiding the hand of the student, he instructs him how to write the letters of the alphabet (<i>a, ā, i,</i> etc.) by writing big letters on the floor. When the child is a little advanced in writing, he is given a slate for his primary education, which ends when he learns the two-letter combinations, which are called <i>phalā,</i> as mentioned above."
|
||||
"The twelve <i>phalā,</i> or combinations of letters, are called <i>repha, mūrdhanya</i> (cerebral), <i>ṇa, dāntavya</i> (dental), <i>na, ma, ya, ra, la, va, ṛ, ṝ, ḷ</i> and \\<i>ḷ.</i> <i>Hāte khaḍi</i> is the primary educational beginning. At the age of four or five years, on an auspicious day called <i>vidyārambha</i> marking the beginning of primary education, there is a ceremony worshiping Lord Viṣṇu, and after that the teacher gives the child a long chalk pencil. Then, guiding the hand of the student, he instructs him how to write the letters of the alphabet (<i>a, ā, i,</i> etc.) by writing big letters on the floor. When the child is a little advanced in writing, he is given a slate for his primary education, which ends when he learns the two-letter combinations, which are called <i>phalā,</i> as mentioned above."
|
||||
]
|
||||
}
|
||||
@@ -60,7 +60,7 @@
|
||||
"translation": "<b>Rāmānanda Rāya said, \"Please recite the prarocanā portion so that I may hear and examine it.\" Śrī Rūpa replied, \"I think that the desire to hear of Śrī Caitanya Mahāprabhu is prarocanā.</b>",
|
||||
"purport": [
|
||||
"The method of inducing the audience to become more and more eager to hear by praising the time and place, the hero and the audience is called <i>prarocanā.</i> This is the statement regarding <i>prarocanā</i> in the <i>Nāṭaka-candrikā:</i>",
|
||||
"<i>deśa-kāla-kathā-vastu-<br/> sabhyādīnāṁ praśaṁsayā<br/> śrotèṇām unmukhī-kāraḥ<br/> kathiteyaṁ prarocanā</i>",
|
||||
"<i>deśa-kāla-kathā-vastu-<br/> sabhyādīnāṁ praśaṁsayā<br/> śrotṝṇām unmukhī-kāraḥ<br/> kathiteyaṁ prarocanā</i>",
|
||||
"Similarly the <i>Sāhitya-darpaṇa</i> (6.286) says:",
|
||||
"<i>tasyāḥ prarocanā vīthī<br/> tathā prahasanā-mukhe<br/> aṅgānyatronmukhī-kāraḥ<br/> praśaṁsātaḥ prarocanā</i>",
|
||||
"Any literature presented in Sanskrit must follow the rules and regulations mentioned in the authoritative reference books. The technical inquiries by Śrīla Rāmānanda Rāya and the replies of Śrīla Rūpa Gosvāmī indicate that both of them were expert and fully conversant with the techniques of writing drama."
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
"translation": "<b>\"Lord Kṛṣṇa has made a firm promise for all time. If one renders service unto Him, Kṛṣṇa correspondingly gives him an equal amount of success in devotional service to the Lord.</b>",
|
||||
"purport": [
|
||||
"It is a completely mistaken idea that one can worship Kṛṣṇa in any form or in any way and still attain the ultimate result by receiving the favor of the Lord. This is a decision made by gross materialistic men. Generally such men say that you can manufacture your own way of worshiping the Supreme Lord and that any type of worship is sufficient to approach the Supreme Personality of Godhead. Certainly there are different means for attaining different results in fruitive activity, speculative knowledge, mystic <i>yoga,</i> and austerity. Crude men therefore say that if one adopts any of these methods, one achieves the Supreme Personality of Godhead's favor. They claim that it doesn't matter what kind of method one adopts. A general example is given. If one wishes to arrive at a certain place, there are many roads leading there, and one can go to that place by any one of these roads. Similarly, these gross materialists say that there are different ways to attain the favor of the Supreme Personality of Godhead. They claim that one can conceive of the Supreme Personality of Godhead as goddess Durgā, goddess Kālī, Lord Śiva, demigod Gaṇeśa, Lord Rāmacandra, Kṛṣṇa, impersonal Brahman or whatever, and one can chant the Lord's name in any way and in any form and ultimately become one. Such materialists claim that the result is the same. They also say that a man may have different names, but he will answer if called by any one of them. Therefore they claim that there is no need to chant the Hare Kṛṣṇa <i>mantra</i>. If one chants the name of Kālī, Durgā, Śiva, Gaṇeśa or anyone else, the result will be the same. Such claims made by mental speculators are no doubt very pleasing to mental speculators, but those who are actually in knowledge do not admit such conclusions, which are against the authority of the <i>śāstras.</i> A bona fide <i>ācārya</i> will certainly not accept such a conclusion. As Kṛṣṇa clearly states in <i>Bhagavad-gītā</i>:",
|
||||
"<i>yānti deva-vratā devān<br/> pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān<br/> pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"\"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings; those who worship ancestors go to the ancestors; and those who worship Me will live with Me.\" (Bg. 9.25)",
|
||||
"Only the devotees of the Lord can be admitted to His kingdom—not the demigod worshipers, <i>karmīs, yogīs,</i> or anyone else. A person who desires elevation to the heavenly planets worships various demigods, and material nature may be pleased to offer such devotees their desired positions. Consequently material nature gives one one's own nature by which he increases affection for different types of demigods. However, <i>Bhagavad-gītā</i> says that demigod worship is meant for men who have lost all their intelligence.",
|
||||
"<i>kāmais tais tair hṛta-jñānāḥ<br/> prapadyante 'nya-devatāḥ<br/> taṁ taṁ niyamam āsthāya<br/> prakṛtyā niyatāḥ svayā</i>",
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
"<i>kalau bhāgavataṁ nāma<br/> durlabhaṁ naiva labhyate<br/> brahma-rudra-padotkṛṣṭaṁ<br/> guruṇā kathitaṁ mama</i>",
|
||||
"\"In this age of Kali, the fame of one who is known as a great devotee is very rare. However, such a position is superior to that of the great demigods like Brahmā and Mahādeva. This is the opinion of all spiritual masters.\"",
|
||||
"In the <i>Itihāsa-samuccaya,</i> Nārada tells Puṇḍarīka:",
|
||||
"<i>janmāntara-sahasreṣu<br/> yasya syād buddhir īdṛśī<br/> dāso 'haṁ vāsudevasya<br/> sarvāû lokān samuddharet</i>",
|
||||
"<i>janmāntara-sahasreṣu<br/> yasya syād buddhir īdṛśī<br/> dāso 'haṁ vāsudevasya<br/> sarvāṁl lokān samuddharet</i>",
|
||||
"\"After many, many births, when a person realizes that he is the eternal servant of Vāsudeva, he can deliver all the worlds.\"",
|
||||
"In the <i>Ādi Purāṇa,</i> in a conversation between Kṛṣṇa and Arjuna, it is said:",
|
||||
"<i>bhaktānām anugacchanti <br/> muktayaḥ śrutibhiḥ saha </i>",
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"translation": "<b>\"Vyāsadeva, the supreme authority on Vedic literature, composed a verse beginning 'nāyaṁ sukhāpo bhagavān' because no one can enter into the rāsa-līlā dance in any body other than the bodies of the gopīs.\"</b>",
|
||||
"purport": [
|
||||
"This verse confirms a verse of <i>Bhagavad-gītā</i> (9.25):",
|
||||
"<i>yānti deva-vratā devān<br/> pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān<br/> pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"\"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings; those who worship ancestors go the ancestors; and those who worship Me will live with Me.\"",
|
||||
"Only when one regains his original spiritual body can one enter into the spiritual kingdom. As far as the <i>rāsa-līlā</i> pastimes of the Lord are concerned, it is futile to attempt to imitate the Lord's dances within the material world. One has to attain a spiritual body like the <i>gopīs </i>to enter into the pastimes of <i>rāsa-līlā</i>. In the <i>nāyaṁ sukhāpo</i> verse, the devotees are referred to as <i>bhaktimat</i>, that is, they are fully engaged in devotional service and are devoid of material contamination. Simply by artificially imitating Kṛṣṇa's <i>rāsa-līlā</i> dance or artificially thinking oneself Kṛṣṇa and dressing oneself up like a <i>sakhī</i>, one cannot enter into His <i>rāsa-līlā</i> dance. Kṛṣṇa's <i>rāsa-līlā</i> dance is completely spiritual. It has nothing to do with material contamination; therefore no one can enter into the pastimes by artificial material means. That is the instruction of this verse."
|
||||
]
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"translation": "<b>\"Spiritual substance is never within the jurisdiction of the material conception. This is always the verdict of the Vedas and Purāṇas.\"</b>",
|
||||
"purport": [
|
||||
"As stated in <i>Kaṭha Upaniṣad</i> (2.3.9, 12):",
|
||||
"<i>na saṁdṛśe tiṣṭhati rūpam asya<br/> na cakṣuṣā paśyati kaścanainam<br/> hṛdā manīṣā manasābhikÿpto<br/> ya etad vidur amṛtās te bhavanti</i>",
|
||||
"<i>na saṁdṛśe tiṣṭhati rūpam asya<br/> na cakṣuṣā paśyati kaścanainam<br/> hṛdā manīṣā manasābhikḷpto<br/> ya etad vidur amṛtās te bhavanti</i>",
|
||||
"<i>naiva vācā na manasā<br/> prāptuṁ śakyo na cakṣuṣā</i>",
|
||||
"\"Spirit is not within the jurisdiction of material eyes, words or mind.\"",
|
||||
"Similarly in <i>Śrīmad-Bhāgavatam</i> (10.84.13):",
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"chapter": 22,
|
||||
"verse": 141,
|
||||
"reference": "Cc Madhya 22.141",
|
||||
"devanagari": "देवर्षिभूताप्तनृणां पिते᳙णां न किंकरो नायमृणी च राजन्\nसर्वात्मना यः शरणं शरण्यं गतो मुकुन्दं परिहृत्य कर्तम्",
|
||||
"bengali": "দেবর্ষিভূতাপ্তনৃণাং পিতে̀ণাং ন কিংকরো নাযমৃণী চ রাজন্\nসর্বাত্মনা যঃ শরণং শরণ্যং গতো মুকুন্দং পরিহৃত্য কর্তম্",
|
||||
"transliteration": "devarṣi-bhūtāpta-nṛṇāṁ pitèṇāṁ\nna kiṅkaro nāyam ṛṇī ca rājan\nsarvātmanā yaḥ śaraṇaṁ śaraṇyaṁ\ngato mukundaṁ parihṛtya kartam",
|
||||
"devanagari": "देवर्षिभूताप्तनृणां पितॄणां न किंकरो नायमृणी च राजन्\nसर्वात्मना यः शरणं शरण्यं गतो मुकुन्दं परिहृत्य कर्तम्",
|
||||
"bengali": "দেবর্ষিভূতাপ্তনৃণাং পিতৄণাং ন কিংকরো নাযমৃণী চ রাজন্\nসর্বাত্মনা যঃ শরণং শরণ্যং গতো মুকুন্দং পরিহৃত্য কর্তম্",
|
||||
"transliteration": "devarṣi-bhūtāpta-nṛṇāṁ pitṝṇāṁ\nna kiṅkaro nāyam ṛṇī ca rājan\nsarvātmanā yaḥ śaraṇaṁ śaraṇyaṁ\ngato mukundaṁ parihṛtya kartam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "deva",
|
||||
@@ -39,7 +39,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèṇām",
|
||||
"word": "pitṝṇām",
|
||||
"meanings": [
|
||||
"of the forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 8,
|
||||
"verse": 30,
|
||||
"reference": "SB 1.8.30",
|
||||
"devanagari": "जन्म कर्म च विश्वात्मन्नजस्याकर्तुरात्मनः\nतिर्यङ्ने᳙षिषु यादःसु तदत्यन्तविडम्बनम्",
|
||||
"transliteration": "janma karma ca viśvātmann\najasyākartur ātmanaḥ\ntiryaṅ nèṣiṣu yādaḥsu\ntad atyanta-viḍambanam",
|
||||
"devanagari": "जन्म कर्म च विश्वात्मन्नजस्याकर्तुरात्मनः\nतिर्यङ्नॄषिषु यादःसु तदत्यन्तविडम्बनम्",
|
||||
"transliteration": "janma karma ca viśvātmann\najasyākartur ātmanaḥ\ntiryaṅ nṝṣiṣu yādaḥsu\ntad atyanta-viḍambanam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "janma",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 15,
|
||||
"verse": 10,
|
||||
"reference": "SB 1.15.10",
|
||||
"devanagari": "पत्न्यास्तवाधिमखक्ÿप्तमहाभिषेक श्लाघिष्ठचारुकबरं कितवैः सभायाम्\nस्पृष्टं विकीर्य पदयोः पतिताश्रुमुख्या यस्तत्स्त्रियो ऽकृतहतेशविमुक्तकेशाः",
|
||||
"transliteration": "patnyās tavādhimakha-kÿpta-mahā-bhiṣeka-\nślāghiṣṭha-cāru-kabaraṁ kitavaiḥ sabhāyām\nspṛṣṭaṁ vikīrya padayoḥ patitāśrumukhyā\nyas tat-striyo 'kṛta-hateśa-vimukta-keśāḥ",
|
||||
"devanagari": "पत्न्यास्तवाधिमखकॢप्तमहाभिषेक श्लाघिष्ठचारुकबरं कितवैः सभायाम्\nस्पृष्टं विकीर्य पदयोः पतिताश्रुमुख्या यस्तत्स्त्रियो ऽकृतहतेशविमुक्तकेशाः",
|
||||
"transliteration": "patnyās tavādhimakha-kḷpta-mahā-bhiṣeka-\nślāghiṣṭha-cāru-kabaraṁ kitavaiḥ sabhāyām\nspṛṣṭaṁ vikīrya padayoḥ patitāśrumukhyā\nyas tat-striyo 'kṛta-hateśa-vimukta-keśāḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "patnyāḥ",
|
||||
@@ -26,7 +26,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "kÿpta",
|
||||
"word": "kḷpta",
|
||||
"meanings": [
|
||||
"dressed"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 16,
|
||||
"verse": 31,
|
||||
"reference": "SB 1.16.31",
|
||||
"devanagari": "आत्मानं चानुशोचामि भवन्तं चामरोत्तमम्\nदेवान्पिते᳙नृषीन्साधून्सर्वान्वर्णांस्तथा ऽऽश्रमान्",
|
||||
"transliteration": "ātmānaṁ cānuśocāmi\nbhavantaṁ cāmarottamam\ndevān pitèn-ṛṣīn sādhūn\nsarvān varṇāṁs tathā ''śramān",
|
||||
"devanagari": "आत्मानं चानुशोचामि भवन्तं चामरोत्तमम्\nदेवान्पितॄनृषीन्साधून्सर्वान्वर्णांस्तथा ऽऽश्रमान्",
|
||||
"transliteration": "ātmānaṁ cānuśocāmi\nbhavantaṁ cāmarottamam\ndevān pitṝn-ṛṣīn sādhūn\nsarvān varṇāṁs tathā ''śramān",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "ātmānam",
|
||||
@@ -50,7 +50,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"about the denizens of the Pitṛloka planet"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 3,
|
||||
"verse": 8,
|
||||
"reference": "SB 2.3.8",
|
||||
"devanagari": "धर्मार्थ उत्तमश्लोकं तन्तुः तन्वन्पिते᳙न्यजेत्\nरक्षाकामः पुण्यजनानोजस्कामो मरुद्गणान्",
|
||||
"transliteration": "dharmārtha uttama-ślokaṁ\ntantuḥ tanvan pitèn yajet\nrakṣā-kāmaḥ puṇya-janān\nojas-kāmo marud-gaṇān",
|
||||
"devanagari": "धर्मार्थ उत्तमश्लोकं तन्तुः तन्वन्पितॄन्यजेत्\nरक्षाकामः पुण्यजनानोजस्कामो मरुद्गणान्",
|
||||
"transliteration": "dharmārtha uttama-ślokaṁ\ntantuḥ tanvan pitṝn yajet\nrakṣā-kāmaḥ puṇya-janān\nojas-kāmo marud-gaṇān",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "dharma-arthaḥ",
|
||||
@@ -32,7 +32,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"the residents of the Pitṛloka"
|
||||
]
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
"purport": [
|
||||
"All living entities within the material creation, beginning from the first demigod Brahmā down to the small ant in different statuses of life, are conditioned under the law of material nature or the external energy of the Supreme Lord. The living entity in his pure state is conscious of the fact that he is a part and parcel of the Lord, but when he is thrown into the material world on account of his desire to lord it over material energy, he becomes conditioned by the three modes of material nature and thus struggles for existence for the highest benefit. This struggle for existence is something like following the will-o'-the-wisp under the spell of material enjoyment. All plans of material enjoyment, either by worship of different demigods as described in the previous verses of this chapter or by modernized advancement of scientific knowledge without the help of God or demigod, are illusory only because, despite all such plans for happiness, the conditioned living being within the compass of material creation can never solve the problems of life, namely birth, death, old age and disease. The history of the universe is full of such planmakers, and many kings and emperors come and go, leaving a planmaking story only. But the prime problems of life remained unsolved despite all endeavors by such plan-makers.",
|
||||
"Actually human life is meant for making a solution to the problems of life. Such problems can never be solved by satisfying the different demigods, by different modes of worship, or by so-called scientific advancement of knowledge without the help of God or the demigods. Apart from the gross materialists, who care very little either for God or for the demigods, the <i>Vedas</i> recommend worship of different demigods for different benefits, so they are neither false nor imaginary. The demigods are as factual as we are, but they are much more powerful due to their being engaged in the direct service of the Lord by managing different departments in the universal government. The <i>Bhagavad-gītā</i> affirms this, and the different planets of the demigods are mentioned there, including the one of the supreme demigod Lord Brahmā. The gross materialists believe neither in the existence of God nor the demigods. Nor do they believe that different planets are dominated by different demigods. They are creating a great commotion about reaching the closest celestial body, the Candraloka or the moon, but even after much mechanical research, they have only very scanty information of this moon, and in spite of much false advertisement for selling land on the moon, the puffed up scientists or gross materialists cannot live there, and what to speak of reaching other innumerable planets which they are unable even to count. However, the followers of the <i>Vedas</i> have a different method of acquiring knowledge. They accept the statements of the Vedic literatures as authority <i>in toto,</i> as we have already discussed in Canto One, and therefore they have full and reasonable knowledge of God and demigods and of their different residential planets situated within the compass of the material world and beyond the limit of the material sky. The most authentic Vedic literature accepted by the great Indian <i>ācāryas</i> like Śaṅkara, Rāmānuja, Madhva, Viṣṇusvāmī, Nimbārka, Caitanya, etc., and studied by all important personalities of the world, is the <i>Bhagavad-gītā,</i> in which the worship of the demigods and their respective residential planets are mentioned. The <i>Bhagavad-gītā</i> affirms:",
|
||||
"<i>yānti deva-vratā devān pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā yānti mad-yājino 'pi mām</i>",
|
||||
"\"The worshipers of demigods reach the respective planets of the demigods, and the worshipers of forefathers reach the planets of the forefathers. The gross materialist remains in the different material planets, but the devotees of the Lord reach the kingdom of God.\" (Bg. 9.25)",
|
||||
"We also have information from the <i>Bhagavad-gītā</i> that all the planets within the material world, including the Brahmaloka, are but temporarily situated, and after a fixed period they are all annihilated. Therefore the demigods and their followers are all annihilated at the period of devastation, but one who reaches the kingdom of God gets a permanent share in eternal life. That is the verdict of Vedic literature. The worshipers of the demigods have one facility more than the unbelievers due to their conviction of the Vedic version, by which they can get information of the benefit of worshiping the Supreme Lord in the association of the devotees of the Lord. The gross materialist, however, without any faith in the Vedic version, remains eternally in darkness, driven by a false conviction on the basis of imperfect experimental knowledge, or the so-called material science, which can never reach into the realm of transcendental knowledge.",
|
||||
"Therefore unless they come in contact with a transcendentalist like the pure devotee of the Lord, the attempts of the gross materialists or the worshipers of the temporary demigods are simply a waste of energy. Only by the grace of the divine personalities, the pure devotees of the Lord, can one achieve pure devotion, which is the highest perfection of human life. Only a pure devotee of the Lord can show one the right way of progressive life. Otherwise both the materialistic way of life, without any information of God or the demigods, and the life engaged in the worship of demigods in pursuit of temporary material enjoyments, are all different phases of phantasmagoria. They are nicely explained in the <i>Bhagavad-gītā</i> also, but the <i>Bhagavad-gītā</i> can be understood in the association of pure devotees only, and not by the interpretations of politicians or dry philosophical speculators."
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
"\"It could be that life similar to that on earth flourishes on such planets.",
|
||||
"\"Doctor of Chemistry Nikolat Zhirov, covering the problem of atmosphere on other planets, pointed out that the organism of a Martian, for instance, could very well adapt itself to normal existence with a low body temperature.",
|
||||
"\"He said that he felt that the gaseous composition of Martian atmosphere was quite suitable to sustain life of beings which have become adapted to it.\"",
|
||||
"This adaptibility of an organism to different varieties of planets is described in the <i>Brahma-saṁhitā</i> as <i>vibhūti-bhinnam,</i> i.e., each and every one of the innumerable planets within the universe is endowed with a particular type of atmosphere, and the living beings there are more perfectly advanced in science and psychology because of a better atmosphere. <i>Vibhūti</i> means specific powers, and <i>bhinnam</i> means variegated. Scientists who are attempting to explore outer space and are trying to reach other planets by mechanical arrangements must know for certain that organisms adapted to the atmosphere of earth cannot exist in the atmospheres of other planets (<i>Easy Journey to Other Planets</i>). One has to prepare himself, therefore, to be transferred to a different planet after being relieved of the present body, as it is said in the <i>Bhagavad-gītā, yānti deva-vratā devān pitèn yānti pitṛ-vratāḥ bhūtāni yānti bhūtejyā yānti mad-yājino 'pi mām</i>: \"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings, and those who worship Me will live with Me.\" (Bg. 9.25)",
|
||||
"This adaptibility of an organism to different varieties of planets is described in the <i>Brahma-saṁhitā</i> as <i>vibhūti-bhinnam,</i> i.e., each and every one of the innumerable planets within the universe is endowed with a particular type of atmosphere, and the living beings there are more perfectly advanced in science and psychology because of a better atmosphere. <i>Vibhūti</i> means specific powers, and <i>bhinnam</i> means variegated. Scientists who are attempting to explore outer space and are trying to reach other planets by mechanical arrangements must know for certain that organisms adapted to the atmosphere of earth cannot exist in the atmospheres of other planets (<i>Easy Journey to Other Planets</i>). One has to prepare himself, therefore, to be transferred to a different planet after being relieved of the present body, as it is said in the <i>Bhagavad-gītā, yānti deva-vratā devān pitṝn yānti pitṛ-vratāḥ bhūtāni yānti bhūtejyā yānti mad-yājino 'pi mām</i>: \"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings, and those who worship Me will live with Me.\" (Bg. 9.25)",
|
||||
"Mahārāja Parīkṣit's statement regarding the working of the creative energy of the Lord discloses that he knew everything of the process of creation. Why then did he ask Śukadeva Gosvāmī for such information? Mahārāja Parīkṣit, being a great emperor, a descendant of the Pāṇḍavas and a great devotee of Lord Kṛṣṇa, was quite able to know considerably about the creation of the world, but that much knowledge was not sufficient. He said therefore that even greatly learned scholars fail to know about that, even after great effort. The Lord is unlimited, and His activities are also unfathomed. Any living being, up to the standard of Brahmājī, the highest perfect living being within the universe, with a limited source of knowledge and with imperfect senses can never imagine knowing about the unlimited. We can know something of the unlimited when it is explained by the unlimited, as it has been done by the Lord Himself in the unique statements of the <i>Bhagavad-gītā,</i> and it can also be known to some extent from realized souls like Śukadeva Gosvāmī, who learned it from Vyāsadeva, a disciple of Nārada, and thus the perfect knowledge can descend by the chain of disciplic succession only, and not by any form of experimental knowledge, old or modern."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 5,
|
||||
"verse": 20,
|
||||
"reference": "SB 2.5.20",
|
||||
"devanagari": "स एष भगवाû लिंगैस्त्रिभिरेतैरधोक्षजः\nस्वलक्षितगतिर्ब्रह्मन्सर्वेषां मम चेश्वरः",
|
||||
"transliteration": "sa eṣa bhagavāû liṅgais\ntribhir etair adhokṣajaḥ\nsvalakṣita-gatir brahman\nsarveṣāṁ mama ceśvaraḥ",
|
||||
"devanagari": "स एष भगवांल्लिंगैस्त्रिभिरेतैरधोक्षजः\nस्वलक्षितगतिर्ब्रह्मन्सर्वेषां मम चेश्वरः",
|
||||
"transliteration": "sa eṣa bhagavāṁl liṅgais\ntribhir etair adhokṣajaḥ\nsvalakṣita-gatir brahman\nsarveṣāṁ mama ceśvaraḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "saḥ",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 5,
|
||||
"verse": 40,
|
||||
"reference": "SB 2.5.40-41",
|
||||
"devanagari": "तत्कट्यां चातलं क्ÿप्तमूरुभ्यां वितलं विभोः\nजानुभ्यां सुतलं शुद्धं जंघाभ्यां तु तलातलम्\nमहातलं तु गुल्फाभ्यां प्रपदाभ्यां रसातलम्\nपातालं पादतलत इति लोकमयः पुमान्",
|
||||
"transliteration": "tat-kaṭyāṁ cātalaṁ kÿptam\nūrubhyāṁ vitalaṁ vibhoḥ\njānubhyāṁ sutalaṁ śuddhaṁ\njaṅghābhyāṁ tu talātalam\nmahātalaṁ tu gulphābhyāṁ\nprapadābhyāṁ rasātalam\npātālaṁ pāda-talata\niti lokamayaḥ pumān",
|
||||
"devanagari": "तत्कट्यां चातलं कॢप्तमूरुभ्यां वितलं विभोः\nजानुभ्यां सुतलं शुद्धं जंघाभ्यां तु तलातलम्\nमहातलं तु गुल्फाभ्यां प्रपदाभ्यां रसातलम्\nपातालं पादतलत इति लोकमयः पुमान्",
|
||||
"transliteration": "tat-kaṭyāṁ cātalaṁ kḷptam\nūrubhyāṁ vitalaṁ vibhoḥ\njānubhyāṁ sutalaṁ śuddhaṁ\njaṅghābhyāṁ tu talātalam\nmahātalaṁ tu gulphābhyāṁ\nprapadābhyāṁ rasātalam\npātālaṁ pāda-talata\niti lokamayaḥ pumān",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tat",
|
||||
@@ -32,7 +32,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "kÿptam",
|
||||
"word": "kḷptam",
|
||||
"meanings": [
|
||||
"situated"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 6,
|
||||
"verse": 43,
|
||||
"reference": "SB 2.6.43-45",
|
||||
"devanagari": "अहं भवो यज्ञ इमे प्रजेशा दक्षादयो ये भवदादयश्च\nस्वर्लोकपालाः खगलोकपाला नृलोकपालास्तललोकपालाः\nगन्धर्वविद्याधरचारणेशा ये यक्षरक्षोरगनागनाथाः\nये वा ऋषीणामृषभाः पिते᳙णां दैत्येन्द्रसिद्धेश्वरदानवेन्द्राः\nअन्ये च ये प्रेतपिशाचभूत कूष्माण्डयादोमृगपक्ष्यधीशाः\nयत्किंच लोके भगवन्महस्वदोजःसहस्वद्बलवत्क्षमावत्\nश्रीह्रीविभूत्यात्मवदद्भुतार्णं तत्त्वं परं रूपवदस्वरूपम्",
|
||||
"transliteration": "ahaṁ bhavo yajña ime prajeśā\ndakṣādayo ye bhavad-ādayaś ca\nsvarloka-pālāḥ khagaloka-pālā\nnṛloka-pālās talaloka-pālāḥ\ngandharva-vidyādhara-cāraṇeśā\nye yakṣa-rakṣoraga-nāganāthāḥ\nye vā ṛṣīṇām ṛṣabhāḥ pitèṇāṁ\ndaityendra-siddheśvara-dānavendrāḥ\nanye ca ye preta-piśāca-bhūta-\nkūṣmāṇḍa-yādo-mṛga-pakṣyadhīśāḥ\nyat kiñca loke bhagavan mahasvad\nojaḥ-sahasvad balavat kṣamāvat\nśrī-hrī-vibhūty-ātmavad adbhutārṇaṁ\ntattvaṁ paraṁ rūpavad asvarūpam",
|
||||
"devanagari": "अहं भवो यज्ञ इमे प्रजेशा दक्षादयो ये भवदादयश्च\nस्वर्लोकपालाः खगलोकपाला नृलोकपालास्तललोकपालाः\nगन्धर्वविद्याधरचारणेशा ये यक्षरक्षोरगनागनाथाः\nये वा ऋषीणामृषभाः पितॄणां दैत्येन्द्रसिद्धेश्वरदानवेन्द्राः\nअन्ये च ये प्रेतपिशाचभूत कूष्माण्डयादोमृगपक्ष्यधीशाः\nयत्किंच लोके भगवन्महस्वदोजःसहस्वद्बलवत्क्षमावत्\nश्रीह्रीविभूत्यात्मवदद्भुतार्णं तत्त्वं परं रूपवदस्वरूपम्",
|
||||
"transliteration": "ahaṁ bhavo yajña ime prajeśā\ndakṣādayo ye bhavad-ādayaś ca\nsvarloka-pālāḥ khagaloka-pālā\nnṛloka-pālās talaloka-pālāḥ\ngandharva-vidyādhara-cāraṇeśā\nye yakṣa-rakṣoraga-nāganāthāḥ\nye vā ṛṣīṇām ṛṣabhāḥ pitṝṇāṁ\ndaityendra-siddheśvara-dānavendrāḥ\nanye ca ye preta-piśāca-bhūta-\nkūṣmāṇḍa-yādo-mṛga-pakṣyadhīśāḥ\nyat kiñca loke bhagavan mahasvad\nojaḥ-sahasvad balavat kṣamāvat\nśrī-hrī-vibhūty-ātmavad adbhutārṇaṁ\ntattvaṁ paraṁ rūpavad asvarūpam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "aham",
|
||||
@@ -158,7 +158,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèṇām",
|
||||
"word": "pitṝṇām",
|
||||
"meanings": [
|
||||
"of the forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 7,
|
||||
"verse": 36,
|
||||
"reference": "SB 2.7.36",
|
||||
"devanagari": "कालेन मीलितधियामवमृश्य ने᳙णां स्तोकायुषां स्वनिगमो बत दूरपारः\nआविर्हितस्त्वनुयुगं स हि सत्यवत्यां वेदद्रुमं विटपशो विभजिष्यति स्म",
|
||||
"transliteration": "kālena mīlita-dhiyām avamṛśya nèṇāṁ\nstokāyuṣāṁ sva-nigamo bata dūra-pāraḥ\nāvirhitas tv anuyugaṁ sa hi satyavatyāṁ\nveda-drumaṁ viṭa-paśo vibhajiṣyati sma",
|
||||
"devanagari": "कालेन मीलितधियामवमृश्य नॄणां स्तोकायुषां स्वनिगमो बत दूरपारः\nआविर्हितस्त्वनुयुगं स हि सत्यवत्यां वेदद्रुमं विटपशो विभजिष्यति स्म",
|
||||
"transliteration": "kālena mīlita-dhiyām avamṛśya nṝṇāṁ\nstokāyuṣāṁ sva-nigamo bata dūra-pāraḥ\nāvirhitas tv anuyugaṁ sa hi satyavatyāṁ\nveda-drumaṁ viṭa-paśo vibhajiṣyati sma",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "kālena",
|
||||
@@ -26,7 +26,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "nèṇām",
|
||||
"word": "nṝṇām",
|
||||
"meanings": [
|
||||
"of humanity at large"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 10,
|
||||
"verse": 37,
|
||||
"reference": "SB 2.10.37-40",
|
||||
"devanagari": "प्रजापतीन्मनून्देवानृषीन्पितृगणान्पृथक्\nसिद्धचारणगन्धर्वान्विद्याध्रासुरगुह्यकान्\nकिन्नराप्सरसो नागान्सर्पान्किम्पुरुषान्नरान्\nमाते᳙ रक्षः पिशाचांश्च प्रेतभूतविनायकान्\nकूष्माण्डोन्मादवेतालान्यातुधानान्ग्रहानपि\nखगान्मृगान्पशून्वृक्षान्गिरीन्नृप सरीसृपान्\nद्विविधाश्चतुर्विधा ये ऽन्ये जलस्थलनभौकसः\nकुशलाकुशला मिश्राः कर्मणां गतयस्त्विमाः",
|
||||
"transliteration": "prajā-patīn manūn devān\nṛṣīn pitṛ-gaṇān pṛthak\nsiddha-cāraṇa-gandharvān\nvidyādhrāsura-guhyakān\nkinnarāpsaraso nāgān\nsarpān kimpuruṣān narān\nmātè rakṣaḥ piśācāṁś ca\npreta-bhūta-vināyakān\nkūṣmāṇḍonmāda-vetālān\nyātudhānān grahān api\nkhagān mṛgān paśūn vṛkṣān\ngirīn nṛpa sarīsṛpān\ndvi-vidhāś catur-vidhā ye 'nye\njala-sthala-nabhaukasaḥ\nkuśalākuśalā miśrāḥ\nkarmaṇāṁ gatayas tv imāḥ",
|
||||
"devanagari": "प्रजापतीन्मनून्देवानृषीन्पितृगणान्पृथक्\nसिद्धचारणगन्धर्वान्विद्याध्रासुरगुह्यकान्\nकिन्नराप्सरसो नागान्सर्पान्किम्पुरुषान्नरान्\nमातॄ रक्षः पिशाचांश्च प्रेतभूतविनायकान्\nकूष्माण्डोन्मादवेतालान्यातुधानान्ग्रहानपि\nखगान्मृगान्पशून्वृक्षान्गिरीन्नृप सरीसृपान्\nद्विविधाश्चतुर्विधा ये ऽन्ये जलस्थलनभौकसः\nकुशलाकुशला मिश्राः कर्मणां गतयस्त्विमाः",
|
||||
"transliteration": "prajā-patīn manūn devān\nṛṣīn pitṛ-gaṇān pṛthak\nsiddha-cāraṇa-gandharvān\nvidyādhrāsura-guhyakān\nkinnarāpsaraso nāgān\nsarpān kimpuruṣān narān\nmātṝ rakṣaḥ piśācāṁś ca\npreta-bhūta-vināyakān\nkūṣmāṇḍonmāda-vetālān\nyātudhānān grahān api\nkhagān mṛgān paśūn vṛkṣān\ngirīn nṛpa sarīsṛpān\ndvi-vidhāś catur-vidhā ye 'nye\njala-sthala-nabhaukasaḥ\nkuśalākuśalā miśrāḥ\nkarmaṇāṁ gatayas tv imāḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "prajā-patīn",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 1,
|
||||
"verse": 27,
|
||||
"reference": "SB 3.1.27",
|
||||
"devanagari": "कच्चित्कुरूणां परमः सुहृन्नो भामः स आस्ते सुखमंग शौरिः\nयो वै स्वसे᳙णां पितृवद्ददाति वरान्वदान्यो वर तर्पणेन",
|
||||
"transliteration": "kaccit kurūṇāṁ paramaḥ suhṛn no\nbhāmaḥ sa āste sukham aṅga śauriḥ\nyo vai svasèṇāṁ pitṛvad dadāti\nvarān vadānyo vara tarpaṇena",
|
||||
"devanagari": "कच्चित्कुरूणां परमः सुहृन्नो भामः स आस्ते सुखमंग शौरिः\nयो वै स्वसॄणां पितृवद्ददाति वरान्वदान्यो वर तर्पणेन",
|
||||
"transliteration": "kaccit kurūṇāṁ paramaḥ suhṛn no\nbhāmaḥ sa āste sukham aṅga śauriḥ\nyo vai svasṝṇāṁ pitṛvad dadāti\nvarān vadānyo vara tarpaṇena",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "kaccit",
|
||||
@@ -86,7 +86,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "svasèṇām",
|
||||
"word": "svasṝṇām",
|
||||
"meanings": [
|
||||
"of the sisters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 3,
|
||||
"verse": 26,
|
||||
"reference": "SB 3.3.26",
|
||||
"devanagari": "तत्र स्नात्वा पिते᳙न्देवानृषींश्चैव तदम्भसा\nतर्पयित्वाथ विप्रेभ्यो गावो बहुगुणा ददुः",
|
||||
"transliteration": "tatra snātvā pitèn devān\nṛṣīṁś caiva tad-ambhasā\ntarpayitvātha viprebhyo\ngāvo bahu-guṇā daduḥ",
|
||||
"devanagari": "तत्र स्नात्वा पितॄन्देवानृषींश्चैव तदम्भसा\nतर्पयित्वाथ विप्रेभ्यो गावो बहुगुणा ददुः",
|
||||
"transliteration": "tatra snātvā pitṝn devān\nṛṣīṁś caiva tad-ambhasā\ntarpayitvātha viprebhyo\ngāvo bahu-guṇā daduḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tatra",
|
||||
@@ -20,7 +20,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 5,
|
||||
"verse": 8,
|
||||
"reference": "SB 3.5.8",
|
||||
"devanagari": "यैस्तत्त्वभेदैरधिलोकनाथो लोकानलोकान्सह लोकपालान्\nअचीक्ÿपद्यत्र हि सर्वसत्त्व निकायभेदो ऽधिकृतः प्रतीतः",
|
||||
"transliteration": "yais tattva-bhedair adhi-loka-nātho\nlokān alokān saha loka-pālān\nacīkÿpad yatra hi sarva-sattva\nnikāya-bhedo 'dhikṛtaḥ pratītaḥ",
|
||||
"devanagari": "यैस्तत्त्वभेदैरधिलोकनाथो लोकानलोकान्सह लोकपालान्\nअचीकॢपद्यत्र हि सर्वसत्त्व निकायभेदो ऽधिकृतः प्रतीतः",
|
||||
"transliteration": "yais tattva-bhedair adhi-loka-nātho\nlokān alokān saha loka-pālān\nacīkḷpad yatra hi sarva-sattva\nnikāya-bhedo 'dhikṛtaḥ pratītaḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "yaiḥ",
|
||||
@@ -56,7 +56,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "acīkÿpat",
|
||||
"word": "acīkḷpat",
|
||||
"meanings": [
|
||||
"planned"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 7,
|
||||
"verse": 25,
|
||||
"reference": "SB 3.7.25",
|
||||
"devanagari": "प्रजापतीनां स पतिश्चक्ÿपे कान्प्रजापतीन्\nसर्गांश्चैवानुसर्गांश्च मनून्मन्वन्तराधिपान्",
|
||||
"transliteration": "prajā-patīnāṁ sa patiś\ncakÿpe kān prajāpatīn\nsargāṁś caivānusargāṁś ca\nmanūn manvantarādhipān",
|
||||
"devanagari": "प्रजापतीनां स पतिश्चकॢपे कान्प्रजापतीन्\nसर्गांश्चैवानुसर्गांश्च मनून्मन्वन्तराधिपान्",
|
||||
"transliteration": "prajā-patīnāṁ sa patiś\ncakḷpe kān prajāpatīn\nsargāṁś caivānusargāṁś ca\nmanūn manvantarādhipān",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "prajā-patīnām",
|
||||
@@ -26,7 +26,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "cakÿpe",
|
||||
"word": "cakḷpe",
|
||||
"meanings": [
|
||||
"decided"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 7,
|
||||
"verse": 33,
|
||||
"reference": "SB 3.7.33",
|
||||
"devanagari": "श्राद्धस्य च विधिं ब्रह्मन्पिते᳙णां सर्गमेव च\nग्रहनक्षत्रताराणां कालावयवसंस्थितिम्",
|
||||
"transliteration": "śrāddhasya ca vidhiṁ brahman\npitèṇāṁ sargam eva ca\ngraha-nakṣatra-tārāṇāṁ\nkālāvayava-saṁsthitim",
|
||||
"devanagari": "श्राद्धस्य च विधिं ब्रह्मन्पितॄणां सर्गमेव च\nग्रहनक्षत्रताराणां कालावयवसंस्थितिम्",
|
||||
"transliteration": "śrāddhasya ca vidhiṁ brahman\npitṝṇāṁ sargam eva ca\ngraha-nakṣatra-tārāṇāṁ\nkālāvayava-saṁsthitim",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "śrāddhasya",
|
||||
@@ -32,7 +32,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèṇām",
|
||||
"word": "pitṝṇām",
|
||||
"meanings": [
|
||||
"of the forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 11,
|
||||
"verse": 11,
|
||||
"reference": "SB 3.11.11",
|
||||
"devanagari": "तयोः समुच्चयो मासः पिते᳙णां तदहर्निशम्\nद्वौ तावृतुः षडयनं दक्षिणं चोत्तरं दिवि",
|
||||
"transliteration": "tayoḥ samuccayo māsaḥ\npitèṇāṁ tad aharniśam\ndvau tāv ṛtuḥ ṣaḍ ayanaṁ\ndakṣiṇaṁ cottaraṁ divi",
|
||||
"devanagari": "तयोः समुच्चयो मासः पितॄणां तदहर्निशम्\nद्वौ तावृतुः षडयनं दक्षिणं चोत्तरं दिवि",
|
||||
"transliteration": "tayoḥ samuccayo māsaḥ\npitṝṇāṁ tad aharniśam\ndvau tāv ṛtuḥ ṣaḍ ayanaṁ\ndakṣiṇaṁ cottaraṁ divi",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tayoḥ",
|
||||
@@ -26,7 +26,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèṇām",
|
||||
"word": "pitṝṇām",
|
||||
"meanings": [
|
||||
"of the Pitā planets"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 11,
|
||||
"verse": 12,
|
||||
"reference": "SB 3.11.12",
|
||||
"devanagari": "अयने चाहनी प्राहुर्वत्सरो द्वादश स्मृतः\nसंवत्सरशतं ने᳙णां परमायुर्निरूपितम्",
|
||||
"transliteration": "ayane cāhanī prāhur\nvatsaro dvādaśa smṛtaḥ\nsaṁvatsara-śataṁ nèṇāṁ\nparamāyur nirūpitam",
|
||||
"devanagari": "अयने चाहनी प्राहुर्वत्सरो द्वादश स्मृतः\nसंवत्सरशतं नॄणां परमायुर्निरूपितम्",
|
||||
"transliteration": "ayane cāhanī prāhur\nvatsaro dvādaśa smṛtaḥ\nsaṁvatsara-śataṁ nṝṇāṁ\nparamāyur nirūpitam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "ayane",
|
||||
@@ -56,7 +56,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "nèṇām",
|
||||
"word": "nṝṇām",
|
||||
"meanings": [
|
||||
"of human beings"
|
||||
]
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
"translation": "<b>Brahmā spoke to his sons after generating them.</b><b> \"My dear sons,\" he said, \"now generate progeny.\" But due to their being attached to Vāsudeva, the Supreme Personality of Godhead, they aimed at liberation, and therefore they expressed their unwillingness.</b>",
|
||||
"purport": [
|
||||
"The four sons of Brahmā, the Kumāras, declined to become family men even on the request of their great father, Brahmā. Those who are serious about gaining release from material bondage should not be entangled in the false relationship of family bondage. People may ask how the Kumāras could refuse the orders of Brahmā, who was their father and above all the creator of the universe. The reply is that one who is <i>vāsudeva-parāyaṇaḥ,</i> or seriously engaged in the devotional service of the Personality of Godhead, Vāsudeva, need not care for any other obligation. It is enjoined in the <i>Bhāgavatam</i>:",
|
||||
"<i>devarṣi-bhūtāpta-nṛṇāṁ pitèṇāṁ<br/> na kiṅkaro nāyam ṛṇī ca rājan<br/> sarvātmanā yaḥ śaraṇaṁ śaraṇyaṁ<br/> gato mukundaṁ parihṛtya kartam</i>",
|
||||
"<i>devarṣi-bhūtāpta-nṛṇāṁ pitṝṇāṁ<br/> na kiṅkaro nāyam ṛṇī ca rājan<br/> sarvātmanā yaḥ śaraṇaṁ śaraṇyaṁ<br/> gato mukundaṁ parihṛtya kartam</i>",
|
||||
"\"Anyone who has completely given up all worldly relationships and has taken absolute shelter of the lotus feet of the Lord, who gives us salvation and who alone is fit to be taken shelter of, is no longer a debtor or servant of anyone, including the demigods, forefathers, sages, other living entities, relatives and members of human society.\" (<i>Bhāg</i>. 11.5.41) Thus there was nothing wrong in the acts of the Kumāras when they refused their great father's request that they become family men."
|
||||
]
|
||||
}
|
||||
@@ -118,6 +118,6 @@
|
||||
],
|
||||
"translation": "<b>Brahmā's soul manifested as the touch alphabets, his body as the vowels, his senses as the sibilant alphabets, his strength as the intermediate alphabets and his sensual activities as the seven notes of music.</b>",
|
||||
"purport": [
|
||||
"In Sanskrit there are thirteen vowels and thirty-five consonants. The vowels are <i>a, ā, i, ī, u, ū, ṛ, è, ÿ, e, ai, o, au,</i> and the consonants are <i>ka, kha, ga, gha,</i> etc. Amongst the consonants, the first twenty-five letters are called the <i>sparśas.</i> There are also four <i>antaḥsthas.</i> Of the <i>ūṣmas</i> there are three <i>s</i>'s, called <i>tālavya, mūrdhanya</i> and <i>danta.</i> The musical notes are <i>ṣa, ṛ, gā, ma, pa, dha,</i> and <i>ni.</i> All these sound vibrations are originally called <i>śabda-brahma,</i> or spiritual sound. It is said, therefore, that Brahmā was created in the Mahā-kalpa as the incarnation of spiritual sound. The <i>Vedas</i> are spiritual sound, and therefore there is no need of material interpretation for the sound vibration of the Vedic literature. The <i>Vedas</i> should be vibrated as they are, although they are symbolically represented with letters which are known to us materially. At the ultimate issue there is nothing material because everything has its origin in the spiritual world. The material manifestation is therefore called illusion in the proper sense of the term. For those who are realized souls there is nothing but spirit."
|
||||
"In Sanskrit there are thirteen vowels and thirty-five consonants. The vowels are <i>a, ā, i, ī, u, ū, ṛ, ṝ, ḷ, e, ai, o, au,</i> and the consonants are <i>ka, kha, ga, gha,</i> etc. Amongst the consonants, the first twenty-five letters are called the <i>sparśas.</i> There are also four <i>antaḥsthas.</i> Of the <i>ūṣmas</i> there are three <i>s</i>'s, called <i>tālavya, mūrdhanya</i> and <i>danta.</i> The musical notes are <i>ṣa, ṛ, gā, ma, pa, dha,</i> and <i>ni.</i> All these sound vibrations are originally called <i>śabda-brahma,</i> or spiritual sound. It is said, therefore, that Brahmā was created in the Mahā-kalpa as the incarnation of spiritual sound. The <i>Vedas</i> are spiritual sound, and therefore there is no need of material interpretation for the sound vibration of the Vedic literature. The <i>Vedas</i> should be vibrated as they are, although they are symbolically represented with letters which are known to us materially. At the ultimate issue there is nothing material because everything has its origin in the spiritual world. The material manifestation is therefore called illusion in the proper sense of the term. For those who are realized souls there is nothing but spirit."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 14,
|
||||
"verse": 41,
|
||||
"reference": "SB 3.14.41",
|
||||
"devanagari": "तदा विश्वेश्वरः क्रुद्धो भगवाû लोकभावनः\nहनिष्यत्यवतीर्यासौ यथाद्रीन्शतपर्वधृक्",
|
||||
"transliteration": "tadā viśveśvaraḥ kruddho\nbhagavāû loka-bhāvanaḥ\nhaniṣyaty avatīryāsau\nyathādrīn śataparvadhṛk",
|
||||
"devanagari": "तदा विश्वेश्वरः क्रुद्धो भगवांल्लोकभावनः\nहनिष्यत्यवतीर्यासौ यथाद्रीन्शतपर्वधृक्",
|
||||
"transliteration": "tadā viśveśvaraḥ kruddho\nbhagavāṁl loka-bhāvanaḥ\nhaniṣyaty avatīryāsau\nyathādrīn śataparvadhṛk",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tadā",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 15,
|
||||
"verse": 12,
|
||||
"reference": "SB 3.15.12",
|
||||
"devanagari": "ब्रह्मोवाच\nमानसा मे सुता युष्मत्पूर्वजाः सनकादयः\nचेरुर्विहायसा लोकाû लोकेषु विगतस्पृहाः",
|
||||
"transliteration": "brahmovāca\nmānasā me sutā yuṣmat-\npūrvajāḥ sanakādayaḥ\ncerur vihāyasā lokāû\nlokeṣu vigata-spṛhāḥ",
|
||||
"devanagari": "ब्रह्मोवाच\nमानसा मे सुता युष्मत्पूर्वजाः सनकादयः\nचेरुर्विहायसा लोकांल्लोकेषु विगतस्पृहाः",
|
||||
"transliteration": "brahmovāca\nmānasā me sutā yuṣmat-\npūrvajāḥ sanakādayaḥ\ncerur vihāyasā lokāṁl\nlokeṣu vigata-spṛhāḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "brahmā uvāca",
|
||||
|
||||
@@ -148,6 +148,6 @@
|
||||
],
|
||||
"translation": "<b>The brāhmaṇas, the cows and the defenseless creatures are My own body. Those whose faculty of judgment has been impaired by their own sin look upon these as distinct from Me. They are just like furious serpents, and they are angrily torn apart by the bills of the vulturelike messengers of Yamarāja, the superintendent of sinful persons.</b>",
|
||||
"purport": [
|
||||
"The defenseless creatures, according to <i>Brahma-saṁhitā,</i> are the cows, <i>brāhmaṇas,</i> women, children and old men. Of these five, the <i>brāhmaṇas</i> and cows are especially mentioned in this verse because the Lord is always anxious about the benefit of the <i>brāhmaṇas</i> and cows and is prayed to in this way. The Lord especially instructs, therefore, that no one should be envious of these five, especially the cows and <i>brāhmaṇas.</i> In some of the <i>Bhāgavatam</i> readings, the word <i>duhitèḥ</i> is used instead of <i>duhatīḥ.</i> But in either case, the meaning is the same. <i>Duhatīḥ</i> means cow, and <i>duhitèḥ</i> can also be used to mean cow because the cow is supposed to be the daughter of the sun-god. Just as children are taken care of by the parents, women as a class should be taken care of by the father, husband or grown-up son. Those who are helpless must be taken care of by their respective guardians, otherwise the guardians will be subjected to the punishment of Yamarāja, who is appointed by the Lord to supervise the activities of sinful living creatures. The assistants or messengers of Yamarāja are likened here to vultures, and those who do not execute their respective duties in protecting their wards are compared to serpents. Vultures deal very seriously with serpents, and similarly the messengers will deal very seriously with neglectful guardians."
|
||||
"The defenseless creatures, according to <i>Brahma-saṁhitā,</i> are the cows, <i>brāhmaṇas,</i> women, children and old men. Of these five, the <i>brāhmaṇas</i> and cows are especially mentioned in this verse because the Lord is always anxious about the benefit of the <i>brāhmaṇas</i> and cows and is prayed to in this way. The Lord especially instructs, therefore, that no one should be envious of these five, especially the cows and <i>brāhmaṇas.</i> In some of the <i>Bhāgavatam</i> readings, the word <i>duhitṝḥ</i> is used instead of <i>duhatīḥ.</i> But in either case, the meaning is the same. <i>Duhatīḥ</i> means cow, and <i>duhitṝḥ</i> can also be used to mean cow because the cow is supposed to be the daughter of the sun-god. Just as children are taken care of by the parents, women as a class should be taken care of by the father, husband or grown-up son. Those who are helpless must be taken care of by their respective guardians, otherwise the guardians will be subjected to the punishment of Yamarāja, who is appointed by the Lord to supervise the activities of sinful living creatures. The assistants or messengers of Yamarāja are likened here to vultures, and those who do not execute their respective duties in protecting their wards are compared to serpents. Vultures deal very seriously with serpents, and similarly the messengers will deal very seriously with neglectful guardians."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 17,
|
||||
"verse": 19,
|
||||
"reference": "SB 3.17.19",
|
||||
"devanagari": "चक्रे हिरण्यकशिपुर्दोर्भ्यां ब्रह्मवरेण च\nवशे सपालाû लोकांस्त्रीनकुतोमृत्युरुद्धतः",
|
||||
"transliteration": "cakre hiraṇyakaśipur\ndorbhyāṁ brahma-vareṇa ca\nvaśe sa-pālāû lokāṁs trīn\nakuto-mṛtyur uddhataḥ",
|
||||
"devanagari": "चक्रे हिरण्यकशिपुर्दोर्भ्यां ब्रह्मवरेण च\nवशे सपालांल्लोकांस्त्रीनकुतोमृत्युरुद्धतः",
|
||||
"transliteration": "cakre hiraṇyakaśipur\ndorbhyāṁ brahma-vareṇa ca\nvaśe sa-pālāṁl lokāṁs trīn\nakuto-mṛtyur uddhataḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "cakre",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 23,
|
||||
"verse": 41,
|
||||
"reference": "SB 3.23.41",
|
||||
"devanagari": "भ्राजिष्णुना विमानेन कामगेन महीयसा\nवैमानिकानत्यशेत चरû लोकान्यथानिलः",
|
||||
"transliteration": "bhrājiṣṇunā vimānena\nkāmagena mahīyasā\nvaimānikān atyaśeta\ncaraû lokān yathānilaḥ",
|
||||
"devanagari": "भ्राजिष्णुना विमानेन कामगेन महीयसा\nवैमानिकानत्यशेत चरंल्लोकान्यथानिलः",
|
||||
"transliteration": "bhrājiṣṇunā vimānena\nkāmagena mahīyasā\nvaimānikān atyaśeta\ncaraṁl lokān yathānilaḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "bhrājiṣṇunā",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 24,
|
||||
"verse": 21,
|
||||
"reference": "SB 3.24.21",
|
||||
"devanagari": "गते शतधृतौ क्षत्तः कर्दमस्तेन चोदितः\nयथोदितं स्वदुहितेः᳙ प्रादाद्विश्वसृजां ततः",
|
||||
"transliteration": "gate śata-dhṛtau kṣattaḥ\nkardamas tena coditaḥ\nyathoditaṁ sva-duhitèḥ\nprādād viśva-sṛjāṁ tataḥ",
|
||||
"devanagari": "गते शतधृतौ क्षत्तः कर्दमस्तेन चोदितः\nयथोदितं स्वदुहितॄः प्रादाद्विश्वसृजां ततः",
|
||||
"transliteration": "gate śata-dhṛtau kṣattaḥ\nkardamas tena coditaḥ\nyathoditaṁ sva-duhitṝḥ\nprādād viśva-sṛjāṁ tataḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "gate",
|
||||
@@ -50,7 +50,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "sva-duhitèḥ",
|
||||
"word": "sva-duhitṝḥ",
|
||||
"meanings": [
|
||||
"his own daughters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 28,
|
||||
"verse": 20,
|
||||
"reference": "SB 3.28.20",
|
||||
"devanagari": "तस्मिû लब्धपदं चित्तं सर्वावयवसंस्थितम्\nविलक्ष्यैकत्र संयुज्यादंगे भगवतो मुनिः",
|
||||
"transliteration": "tasmiû labdha-padaṁ cittaṁ\nsarvāvayava-saṁsthitam\nvilakṣyaikatra saṁyujyād\naṅge bhagavato muniḥ",
|
||||
"devanagari": "तस्मिंल्लब्धपदं चित्तं सर्वावयवसंस्थितम्\nविलक्ष्यैकत्र संयुज्यादंगे भगवतो मुनिः",
|
||||
"transliteration": "tasmiṁl labdha-padaṁ cittaṁ\nsarvāvayava-saṁsthitam\nvilakṣyaikatra saṁyujyād\naṅge bhagavato muniḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tasmin",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 32,
|
||||
"verse": 2,
|
||||
"reference": "SB 3.32.2",
|
||||
"devanagari": "स चापि भगवद्धर्मात्काममूढः पराङ्मुखः\nयजते क्रतुभिर्देवान्पितें᳙श्च श्रद्धयान्वितः",
|
||||
"transliteration": "sa cāpi bhagavad-dharmāt\nkāma-mūḍhaḥ parāṅ-mukhaḥ\nyajate kratubhir devān\npitèṁś ca śraddhayānvitaḥ",
|
||||
"devanagari": "स चापि भगवद्धर्मात्काममूढः पराङ्मुखः\nयजते क्रतुभिर्देवान्पितॄंश्च श्रद्धयान्वितः",
|
||||
"transliteration": "sa cāpi bhagavad-dharmāt\nkāma-mūḍhaḥ parāṅ-mukhaḥ\nyajate kratubhir devān\npitṝṁś ca śraddhayānvitaḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "saḥ",
|
||||
@@ -56,7 +56,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"the forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 32,
|
||||
"verse": 17,
|
||||
"reference": "SB 3.32.17",
|
||||
"devanagari": "रजसा कुण्ठमनसः कामात्मानो ऽजितेन्द्रियाः\nपिते᳙न्यजन्त्यनुदिनं गृहेष्वभिरताशयाः",
|
||||
"transliteration": "rajasā kuṇṭha-manasaḥ\nkāmātmāno 'jitendriyāḥ\npitèn yajanty anudinaṁ\ngṛheṣv abhiratāśayāḥ",
|
||||
"devanagari": "रजसा कुण्ठमनसः कामात्मानो ऽजितेन्द्रियाः\nपितॄन्यजन्त्यनुदिनं गृहेष्वभिरताशयाः",
|
||||
"transliteration": "rajasā kuṇṭha-manasaḥ\nkāmātmāno 'jitendriyāḥ\npitṝn yajanty anudinaṁ\ngṛheṣv abhiratāśayāḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "rajasā",
|
||||
@@ -44,7 +44,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"the forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 1,
|
||||
"verse": 9,
|
||||
"reference": "SB 4.1.9",
|
||||
"devanagari": "प्रियव्रतोत्तानपादौ मनुपुत्रौ महौजसौ\nतत्पुत्रपौत्रनप्ते᳙णामनुवृत्तं तदन्तरम्",
|
||||
"transliteration": "priyavratottānapādau\nmanu-putrau mahaujasau\ntat-putra-pautra-naptèṇām\nanuvṛttaṁ tadantaram",
|
||||
"devanagari": "प्रियव्रतोत्तानपादौ मनुपुत्रौ महौजसौ\nतत्पुत्रपौत्रनप्तॄणामनुवृत्तं तदन्तरम्",
|
||||
"transliteration": "priyavratottānapādau\nmanu-putrau mahaujasau\ntat-putra-pautra-naptṝṇām\nanuvṛttaṁ tadantaram",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "priyavrata",
|
||||
@@ -50,7 +50,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "naptèṇām",
|
||||
"word": "naptṝṇām",
|
||||
"meanings": [
|
||||
"grandsons from the daughter"
|
||||
]
|
||||
|
||||
@@ -107,6 +107,6 @@
|
||||
"translation": "<b>The three deities told Atri Muni: Dear brāhmaṇa, you are perfect in your determination, so as you have decided, so it will happen; it will not happen otherwise. We are all the same person upon whom you were meditating, and therefore we have all come to you.</b>",
|
||||
"purport": [
|
||||
"Atri Muni unspecifically thought of the Personality of Godhead, the Lord of the universe, although he had no clear idea of the Lord of the universe nor of His specific form. Mahā-Viṣṇu, from whose breathing millions of universes emanate and into whom they are again withdrawn, may be accepted as the Lord of the universe. Garbhodakaśāyī Viṣṇu, from whose abdomen sprouted the lotus flower which is the birthplace of Brahmā, can also be considered the Lord of the universe. Similarly, Kṣīrodakaśāyī Viṣṇu, who is the Supersoul of all living entities, can also be considered the Lord of the universe. Then, under the order of Kṣīrodakaśāyī Viṣṇu, the Viṣṇu form within this universe, Lord Brahmā and Lord Śiva can also be accepted as the lords of the universe. Viṣṇu is the Lord of the universe because He is its maintainer.",
|
||||
"Similarly, Brahmā creates the different planetary systems and the population, so he also can be considered the Lord of the universe. Or Lord Śiva, who is ultimately the destroyer of the universe, also can be considered its Lord. Therefore, since Atri Muni did not specifically mention whom he wanted, all three—Brahmā, Viṣṇu and Lord Śiva—came before him. They said, \"Since you were thinking of having a son exactly like the Supreme Personality of Godhead, the Lord of the universe, your determination will be fulfilled.\" In other words, one's determination is fulfilled according to the strength of one's devotion. As stated in <i>Bhagavad-gītā</i>: <i>yānti deva-vratā devān pitèn yānti pitṛ-vratāḥ.</i> If one is attached to a particular demigod, one is promoted to the abode of that demigod; if one is attached to the <i>pitṛs</i> or forefathers he is promoted to their planet; and similarly if one is attached to the Supreme Personality of Godhead, Kṛṣṇa, he is promoted to the abode of Lord Kṛṣṇa. Atri Muni actually had no clear conception of the Lord of the universe; therefore the three presiding deities who are actually the lords of the universe in the three departments of the modes of nature all came before him. Now, according to the strength of his determination for a son, his desire would be fulfilled by the grace of the Lord."
|
||||
"Similarly, Brahmā creates the different planetary systems and the population, so he also can be considered the Lord of the universe. Or Lord Śiva, who is ultimately the destroyer of the universe, also can be considered its Lord. Therefore, since Atri Muni did not specifically mention whom he wanted, all three—Brahmā, Viṣṇu and Lord Śiva—came before him. They said, \"Since you were thinking of having a son exactly like the Supreme Personality of Godhead, the Lord of the universe, your determination will be fulfilled.\" In other words, one's determination is fulfilled according to the strength of one's devotion. As stated in <i>Bhagavad-gītā</i>: <i>yānti deva-vratā devān pitṝn yānti pitṛ-vratāḥ.</i> If one is attached to a particular demigod, one is promoted to the abode of that demigod; if one is attached to the <i>pitṛs</i> or forefathers he is promoted to their planet; and similarly if one is attached to the Supreme Personality of Godhead, Kṛṣṇa, he is promoted to the abode of Lord Kṛṣṇa. Atri Muni actually had no clear conception of the Lord of the universe; therefore the three presiding deities who are actually the lords of the universe in the three departments of the modes of nature all came before him. Now, according to the strength of his determination for a son, his desire would be fulfilled by the grace of the Lord."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 1,
|
||||
"verse": 48,
|
||||
"reference": "SB 4.1.48",
|
||||
"devanagari": "तस्यां ससर्ज दुहितेः᳙ षोडशामललोचनाः\nत्रयोदशादाद्धर्माय तथैकामग्नये विभुः",
|
||||
"transliteration": "tasyāṁ sasarja duhitèḥ\nṣoḍaśāmala-locanāḥ\ntrayodaśādād dharmāya\ntathaikām agnaye vibhuḥ",
|
||||
"devanagari": "तस्यां ससर्ज दुहितॄः षोडशामललोचनाः\nत्रयोदशादाद्धर्माय तथैकामग्नये विभुः",
|
||||
"transliteration": "tasyāṁ sasarja duhitṝḥ\nṣoḍaśāmala-locanāḥ\ntrayodaśādād dharmāya\ntathaikām agnaye vibhuḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tasyām",
|
||||
@@ -20,7 +20,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "duhitèḥ",
|
||||
"word": "duhitṝḥ",
|
||||
"meanings": [
|
||||
"daughters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 3,
|
||||
"verse": 10,
|
||||
"reference": "SB 4.3.10",
|
||||
"devanagari": "तत्र स्वसे᳙र्मे ननु भर्तृसम्मिता मातृष्वसेः᳙ क्लिन्नधियं च मातरम्\nद्रक्ष्ये चिरोत्कण्ठमना महर्षिभिरुन्नीयमानं च मृडाध्वरध्वजम्",
|
||||
"transliteration": "tatra svasèr me nanu bhartṛ-sammitā\nmātṛ-ṣvasèḥ klinna-dhiyaṁ ca mātaram\ndrakṣye cirotkaṇṭha-manā maharṣibhir\nunnīyamānaṁ ca mṛḍādhvara-dhvajam",
|
||||
"devanagari": "तत्र स्वसॄर्मे ननु भर्तृसम्मिता मातृष्वसॄः क्लिन्नधियं च मातरम्\nद्रक्ष्ये चिरोत्कण्ठमना महर्षिभिरुन्नीयमानं च मृडाध्वरध्वजम्",
|
||||
"transliteration": "tatra svasṝr me nanu bhartṛ-sammitā\nmātṛ-ṣvasṝḥ klinna-dhiyaṁ ca mātaram\ndrakṣye cirotkaṇṭha-manā maharṣibhir\nunnīyamānaṁ ca mṛḍādhvara-dhvajam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tatra",
|
||||
@@ -14,7 +14,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "svasèḥ",
|
||||
"word": "svasṝḥ",
|
||||
"meanings": [
|
||||
"own sisters"
|
||||
]
|
||||
@@ -38,7 +38,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "mātṛ-svasèḥ",
|
||||
"word": "mātṛ-svasṝḥ",
|
||||
"meanings": [
|
||||
"the sisters of my mother"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 4,
|
||||
"verse": 7,
|
||||
"reference": "SB 4.4.7",
|
||||
"devanagari": "तामागतां तत्र न कश्चनाद्रियद्विमानितां यज्ञकृतो भयाज्जनः\nऋते स्वसे᳙र्वै जननीं च सादराः प्रेमाश्रुकण्ठ्यः परिषस्वजुर्मुदा",
|
||||
"transliteration": "tām āgatāṁ tatra na kaścanādriyad\nvimānitāṁ yajña-kṛto bhayāj janaḥ\nṛte svasèr vai jananīṁ ca sādarāḥ\npremāśru-kaṇṭhyaḥ pariṣasvajur mudā",
|
||||
"devanagari": "तामागतां तत्र न कश्चनाद्रियद्विमानितां यज्ञकृतो भयाज्जनः\nऋते स्वसॄर्वै जननीं च सादराः प्रेमाश्रुकण्ठ्यः परिषस्वजुर्मुदा",
|
||||
"transliteration": "tām āgatāṁ tatra na kaścanādriyad\nvimānitāṁ yajña-kṛto bhayāj janaḥ\nṛte svasṝr vai jananīṁ ca sādarāḥ\npremāśru-kaṇṭhyaḥ pariṣasvajur mudā",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tām",
|
||||
@@ -74,7 +74,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "svasèḥ",
|
||||
"word": "svasṝḥ",
|
||||
"meanings": [
|
||||
"her own sisters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 5,
|
||||
"verse": 9,
|
||||
"reference": "SB 4.5.9",
|
||||
"devanagari": "प्रसूतिमिश्राः स्त्रिय उद्विग्नचित्ता ऊचुर्विपाको वृजिनस्यैव तस्य\nयत्पश्यन्तीनां दुहिते᳙णां प्रजेशः सुतां सतीमवदध्यावनागाम्",
|
||||
"transliteration": "prasūti-miśrāḥ striya udvigna-cittā\nūcur vipāko vṛjinasyaiva tasya\nyat paśyantīnāṁ duhitèṇāṁ prajeśaḥ\nsutāṁ satīm avadadhyāv anāgām",
|
||||
"devanagari": "प्रसूतिमिश्राः स्त्रिय उद्विग्नचित्ता ऊचुर्विपाको वृजिनस्यैव तस्य\nयत्पश्यन्तीनां दुहितॄणां प्रजेशः सुतां सतीमवदध्यावनागाम्",
|
||||
"transliteration": "prasūti-miśrāḥ striya udvigna-cittā\nūcur vipāko vṛjinasyaiva tasya\nyat paśyantīnāṁ duhitṝṇāṁ prajeśaḥ\nsutāṁ satīm avadadhyāv anāgām",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "prasūti-miśrāḥ",
|
||||
@@ -68,7 +68,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "duhitèṇām",
|
||||
"word": "duhitṝṇām",
|
||||
"meanings": [
|
||||
"of her sisters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 7,
|
||||
"verse": 46,
|
||||
"reference": "SB 4.7.46",
|
||||
"devanagari": "त्वं पुरा गां रसाया महासूकरो दंष्ट्रया पद्मिनीं वारणेन्द्रो यथा\nस्तूयमानो नदû लीलया योगिभिर्व्युज्जहर्थ त्रयीगात्र यज्ञक्रतुः",
|
||||
"transliteration": "tvaṁ purā gāṁ rasāyā mahā-sūkaro\ndaṁṣṭrayā padminīṁ vāraṇendro yathā\nstūyamāno nadaû līlayā yogibhir\nvyujjahartha trayīgātra yajña-kratuḥ",
|
||||
"devanagari": "त्वं पुरा गां रसाया महासूकरो दंष्ट्रया पद्मिनीं वारणेन्द्रो यथा\nस्तूयमानो नदंल्लीलया योगिभिर्व्युज्जहर्थ त्रयीगात्र यज्ञक्रतुः",
|
||||
"transliteration": "tvaṁ purā gāṁ rasāyā mahā-sūkaro\ndaṁṣṭrayā padminīṁ vāraṇendro yathā\nstūyamāno nadaṁl līlayā yogibhir\nvyujjahartha trayīgātra yajña-kratuḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tvam",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 9,
|
||||
"verse": 9,
|
||||
"reference": "SB 4.9.9",
|
||||
"devanagari": "नूनं विमुष्टमतयस्तव मायया ते ये त्वां भवाप्ययविमोक्षणमन्यहेतोः\nअर्चन्ति कल्पकतरुं कुणपोपभोग्यमिच्छन्ति यत्स्पर्शजं निरये ऽपि ने᳙णाम्",
|
||||
"transliteration": "nūnaṁ vimuṣṭa-matayas tava māyayā te\nye tvāṁ bhavāpyaya-vimokṣaṇam anya-hetoḥ\narcanti kalpaka-taruṁ kuṇapopabhogyam\nicchanti yat sparśa-jaṁ niraye 'pi nèṇām",
|
||||
"devanagari": "नूनं विमुष्टमतयस्तव मायया ते ये त्वां भवाप्ययविमोक्षणमन्यहेतोः\nअर्चन्ति कल्पकतरुं कुणपोपभोग्यमिच्छन्ति यत्स्पर्शजं निरये ऽपि नॄणाम्",
|
||||
"transliteration": "nūnaṁ vimuṣṭa-matayas tava māyayā te\nye tvāṁ bhavāpyaya-vimokṣaṇam anya-hetoḥ\narcanti kalpaka-taruṁ kuṇapopabhogyam\nicchanti yat sparśa-jaṁ niraye 'pi nṝṇām",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "nūnam",
|
||||
@@ -128,7 +128,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "nèṇām",
|
||||
"word": "nṝṇām",
|
||||
"meanings": [
|
||||
"for persons."
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 9,
|
||||
"verse": 54,
|
||||
"reference": "SB 4.9.54",
|
||||
"devanagari": "तत्र तत्रोपसंक्ÿप्तैर्लसन्मकरतोरणैः\nसवृन्दैः कदलीस्तम्भैः पूगपोतैश्च तद्विधैः",
|
||||
"transliteration": "tatra tatropasaṅkÿptair\nlasan-makara-toraṇaiḥ\nsavṛndaiḥ kadalī-stambhaiḥ\npūga-potaiś ca tad-vidhaiḥ",
|
||||
"devanagari": "तत्र तत्रोपसंकॢप्तैर्लसन्मकरतोरणैः\nसवृन्दैः कदलीस्तम्भैः पूगपोतैश्च तद्विधैः",
|
||||
"transliteration": "tatra tatropasaṅkḷptair\nlasan-makara-toraṇaiḥ\nsavṛndaiḥ kadalī-stambhaiḥ\npūga-potaiś ca tad-vidhaiḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tatra tatra",
|
||||
@@ -14,7 +14,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "upasaṅkÿptaiḥ",
|
||||
"word": "upasaṅkḷptaiḥ",
|
||||
"meanings": [
|
||||
"set up"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 14,
|
||||
"verse": 1,
|
||||
"reference": "SB 4.14.1",
|
||||
"devanagari": "मैत्रेय उवाच\nभृग्वादयस्ते मुनयो लोकानां क्षेमदर्शिनः\nगोप्तर्यसति वै ने᳙णां पश्यन्तः पशुसाम्यताम्",
|
||||
"transliteration": "maitreya uvāca\nbhṛgv-ādayas te munayo\nlokānāṁ kṣema-darśinaḥ\ngoptary asati vai nèṇāṁ\npaśyantaḥ paśu-sāmyatām",
|
||||
"devanagari": "मैत्रेय उवाच\nभृग्वादयस्ते मुनयो लोकानां क्षेमदर्शिनः\nगोप्तर्यसति वै नॄणां पश्यन्तः पशुसाम्यताम्",
|
||||
"transliteration": "maitreya uvāca\nbhṛgv-ādayas te munayo\nlokānāṁ kṣema-darśinaḥ\ngoptary asati vai nṝṇāṁ\npaśyantaḥ paśu-sāmyatām",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "maitreyaḥ uvāca",
|
||||
@@ -62,7 +62,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "nèṇām",
|
||||
"word": "nṝṇām",
|
||||
"meanings": [
|
||||
"of all the citizens"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 15,
|
||||
"verse": 8,
|
||||
"reference": "SB 4.15.8",
|
||||
"devanagari": "शंखतूर्यमृदंगाद्या नेदुर्दुन्दुभयो दिवि\nतत्र सर्व उपाजग्मुर्देवर्षिपिते᳙णां गणाः",
|
||||
"transliteration": "śaṅkha-tūrya-mṛdaṅgādyā\nnedur dundubhayo divi\ntatra sarva upājagmur\ndevarṣi-pitèṇāṁ gaṇāḥ",
|
||||
"devanagari": "शंखतूर्यमृदंगाद्या नेदुर्दुन्दुभयो दिवि\nतत्र सर्व उपाजग्मुर्देवर्षिपितॄणां गणाः",
|
||||
"transliteration": "śaṅkha-tūrya-mṛdaṅgādyā\nnedur dundubhayo divi\ntatra sarva upājagmur\ndevarṣi-pitṝṇāṁ gaṇāḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "śaṅkha",
|
||||
@@ -74,7 +74,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèṇām",
|
||||
"word": "pitṝṇām",
|
||||
"meanings": [
|
||||
"of forefathers"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 15,
|
||||
"verse": 22,
|
||||
"reference": "SB 4.15.22",
|
||||
"devanagari": "पृथुरुवाच\nभोः सूत हे मागध सौम्य वन्दिû लोके ऽधुनास्पष्टगुणस्य मे स्यात्\nकिमाश्रयो मे स्तव एष योज्यतां मा मय्यभूवन्वितथा गिरो वः",
|
||||
"transliteration": "pṛthur uvāca\nbhoḥ sūta he māgadha saumya vandiû\nloke 'dhunāspaṣṭa-guṇasya me syāt\nkim āśrayo me stava eṣa yojyatāṁ\nmā mayy abhūvan vitathā giro vaḥ",
|
||||
"devanagari": "पृथुरुवाच\nभोः सूत हे मागध सौम्य वन्दिंल्लोके ऽधुनास्पष्टगुणस्य मे स्यात्\nकिमाश्रयो मे स्तव एष योज्यतां मा मय्यभूवन्वितथा गिरो वः",
|
||||
"transliteration": "pṛthur uvāca\nbhoḥ sūta he māgadha saumya vandiṁl\nloke 'dhunāspaṣṭa-guṇasya me syāt\nkim āśrayo me stava eṣa yojyatāṁ\nmā mayy abhūvan vitathā giro vaḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "pṛthuḥ uvāca",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 18,
|
||||
"verse": 3,
|
||||
"reference": "SB 4.18.3",
|
||||
"devanagari": "अस्मिû लोके ऽथवामुष्मिन्मुनिभिस्तत्त्वदर्शिभिः\nदृष्टा योगाः प्रयुक्ताश्च पुंसां श्रेयःप्रसिद्धये",
|
||||
"transliteration": "asmiû loke 'thavāmuṣmin\nmunibhis tattva-darśibhiḥ\ndṛṣṭā yogāḥ prayuktāś ca\npuṁsāṁ śreyaḥ-prasiddhaye",
|
||||
"devanagari": "अस्मिंल्लोके ऽथवामुष्मिन्मुनिभिस्तत्त्वदर्शिभिः\nदृष्टा योगाः प्रयुक्ताश्च पुंसां श्रेयःप्रसिद्धये",
|
||||
"transliteration": "asmiṁl loke 'thavāmuṣmin\nmunibhis tattva-darśibhiḥ\ndṛṣṭā yogāḥ prayuktāś ca\npuṁsāṁ śreyaḥ-prasiddhaye",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "asmin",
|
||||
|
||||
@@ -70,6 +70,6 @@
|
||||
],
|
||||
"translation": "<b>The fortunate inhabitants of Pitṛloka, who preside over the funeral ceremonies, made Aryamā into a calf. With great faith they milked kavya, food offered to the ancestors, into an unbaked earthen pot.</b>",
|
||||
"purport": [
|
||||
"In <i>Bhagavad-gītā</i> it is said, <i>pitèn yānti pitṛ-vratāḥ.</i> Those who are interested in family welfare are called <i>pitṛ-vratāḥ.</i> There is a planet called Pitṛloka, and the predominating deity of that planet is called Aryamā. He is somewhat of a demigod, and by satisfying him one can help ghostly family members develop a gross body. Those who are very sinful and attached to their family, house, village or country do not receive a gross body made of material elements but remain in a subtle body, composed of mind, ego and intelligence. Those who live in such subtle bodies are called ghosts. This ghostly position is very painful because a ghost has intelligence, mind and ego and wants to enjoy material life, but because he doesn't have a gross material body, he can only create disturbances for want of material satisfaction. It is the duty of family members, especially the son, to offer oblations to the demigod Aryamā, or Lord Viṣṇu. From time immemorial in India the son of a dead man goes to Gayā and, at a Viṣṇu temple there, offers oblations for the benefit of his ghostly father. It is not that everyone's father becomes a ghost, but the oblations of <i>piṇḍa</i> are offered to the lotus feet of Lord Viṣṇu so that if a family member happens to become a ghost, he will be favored with a gross body. However, if one is habituated to taking the <i>prasāda</i> of Lord Viṣṇu, there is no chance of his becoming a ghost or anything lower than a human being. In Vedic civilization there is a performance called <i>śrāddha</i> by which food is offered with faith and devotion. If one offers oblations with faith and devotion—either to the lotus feet of Lord Viṣṇu or to His representative in Pitṛloka, Aryamā—one's forefathers will attain material bodies to enjoy whatever material enjoyment is due them. In other words, they do not have to become ghosts."
|
||||
"In <i>Bhagavad-gītā</i> it is said, <i>pitṝn yānti pitṛ-vratāḥ.</i> Those who are interested in family welfare are called <i>pitṛ-vratāḥ.</i> There is a planet called Pitṛloka, and the predominating deity of that planet is called Aryamā. He is somewhat of a demigod, and by satisfying him one can help ghostly family members develop a gross body. Those who are very sinful and attached to their family, house, village or country do not receive a gross body made of material elements but remain in a subtle body, composed of mind, ego and intelligence. Those who live in such subtle bodies are called ghosts. This ghostly position is very painful because a ghost has intelligence, mind and ego and wants to enjoy material life, but because he doesn't have a gross material body, he can only create disturbances for want of material satisfaction. It is the duty of family members, especially the son, to offer oblations to the demigod Aryamā, or Lord Viṣṇu. From time immemorial in India the son of a dead man goes to Gayā and, at a Viṣṇu temple there, offers oblations for the benefit of his ghostly father. It is not that everyone's father becomes a ghost, but the oblations of <i>piṇḍa</i> are offered to the lotus feet of Lord Viṣṇu so that if a family member happens to become a ghost, he will be favored with a gross body. However, if one is habituated to taking the <i>prasāda</i> of Lord Viṣṇu, there is no chance of his becoming a ghost or anything lower than a human being. In Vedic civilization there is a performance called <i>śrāddha</i> by which food is offered with faith and devotion. If one offers oblations with faith and devotion—either to the lotus feet of Lord Viṣṇu or to His representative in Pitṛloka, Aryamā—one's forefathers will attain material bodies to enjoy whatever material enjoyment is due them. In other words, they do not have to become ghosts."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 20,
|
||||
"verse": 13,
|
||||
"reference": "SB 4.20.13",
|
||||
"devanagari": "समः समानोत्तममध्यमाधमः सुखे च दुःखे च जितेन्द्रियाशयः\nमयोपक्ÿप्ताखिललोकसंयुतो विधत्स्व वीराखिललोकरक्षणम्",
|
||||
"transliteration": "samaḥ samānottama-madhyamādhamaḥ\nsukhe ca duḥkhe ca jitendriyāśayaḥ\nmayopakÿptākhila-loka-saṁyuto\nvidhatsva vīrākhila-loka-rakṣaṇam",
|
||||
"devanagari": "समः समानोत्तममध्यमाधमः सुखे च दुःखे च जितेन्द्रियाशयः\nमयोपकॢप्ताखिललोकसंयुतो विधत्स्व वीराखिललोकरक्षणम्",
|
||||
"transliteration": "samaḥ samānottama-madhyamādhamaḥ\nsukhe ca duḥkhe ca jitendriyāśayaḥ\nmayopakḷptākhila-loka-saṁyuto\nvidhatsva vīrākhila-loka-rakṣaṇam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "samaḥ",
|
||||
@@ -80,7 +80,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "upakÿpta",
|
||||
"word": "upakḷpta",
|
||||
"meanings": [
|
||||
"arranged"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 21,
|
||||
"verse": 40,
|
||||
"reference": "SB 4.21.40",
|
||||
"devanagari": "पुमाû लभेतानतिवेलमात्मनः प्रसीदतो ऽत्यन्तशमं स्वतः स्वयम्\nयन्नित्यसम्बन्धनिषेवया ततः परं किमत्रास्ति मुखं हविर्भुजाम्",
|
||||
"transliteration": "pumāû labhetānativelam ātmanaḥ\nprasīdato 'tyanta-śamaṁ svataḥ svayam\nyan-nitya-sambandha-niṣevayā tataḥ\nparaṁ kim atrāsti mukhaṁ havir-bhujām",
|
||||
"devanagari": "पुमांल्लभेतानतिवेलमात्मनः प्रसीदतो ऽत्यन्तशमं स्वतः स्वयम्\nयन्नित्यसम्बन्धनिषेवया ततः परं किमत्रास्ति मुखं हविर्भुजाम्",
|
||||
"transliteration": "pumāṁl labhetānativelam ātmanaḥ\nprasīdato 'tyanta-śamaṁ svataḥ svayam\nyan-nitya-sambandha-niṣevayā tataḥ\nparaṁ kim atrāsti mukhaṁ havir-bhujām",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "pumān",
|
||||
|
||||
@@ -82,8 +82,8 @@
|
||||
],
|
||||
"translation": "<b>My Lord, You are the provider of the Pitṛlokas as well as all the demigods. You are the predominating deity of the moon and the master of all three Vedas. I offer my respectful obeisances unto You because You are the original source of satisfaction for all living entities.</b>",
|
||||
"purport": [
|
||||
"When the living entity is born within this material world—especially as a human being—he has several obligations unto the demigods, unto the saintly persons and unto living entities in general. As enjoined in the <i>śāstras:</i> <i>devarṣi-bhūtāpta-nṛṇāṁ pitèṇām.</i> Thus one has an obligation to one's forefathers, the previous hierarchy. Lord Śiva prays to Lord Aniruddha to give him strength so he can become free from all obligation to the <i>pitās</i>, demigods, general living entities and saintly persons and completely engage himself in the devotional service of the Lord. As stated:",
|
||||
"<i>devarṣi-bhūtāpta-nṛṇāṁ pitèṇāṁ<br/> na kiṅkaro nāyam ṛṇī ca rājan<br/> sarvātmanā yaḥ śaraṇaṁ śaraṇyaṁ<br/> gato mukundaṁ parihṛtya kartam<br/> </i>(<i>Bhāg. 11.5.41</i>)",
|
||||
"When the living entity is born within this material world—especially as a human being—he has several obligations unto the demigods, unto the saintly persons and unto living entities in general. As enjoined in the <i>śāstras:</i> <i>devarṣi-bhūtāpta-nṛṇāṁ pitṝṇām.</i> Thus one has an obligation to one's forefathers, the previous hierarchy. Lord Śiva prays to Lord Aniruddha to give him strength so he can become free from all obligation to the <i>pitās</i>, demigods, general living entities and saintly persons and completely engage himself in the devotional service of the Lord. As stated:",
|
||||
"<i>devarṣi-bhūtāpta-nṛṇāṁ pitṝṇāṁ<br/> na kiṅkaro nāyam ṛṇī ca rājan<br/> sarvātmanā yaḥ śaraṇaṁ śaraṇyaṁ<br/> gato mukundaṁ parihṛtya kartam<br/> </i>(<i>Bhāg. 11.5.41</i>)",
|
||||
"One becomes free from all obligations to the demigods, saintly persons, <i>pitās,</i> ancient forefathers, etc., if one is completely engaged in the devotional service of the Lord. Lord Śiva therefore prays to Lord Aniruddha to give him strength so that he can be free from such obligations and entirely engage in the Lord's service.",
|
||||
"Soma, or the predominating deity of the moon, is responsible for the living entity's ability to relish the taste of food through the tongue. Lord Śiva prays to Lord Aniruddha to give him strength so that he will not taste anything but the <i>prasāda</i> of the Lord. Śrīla Bhaktivinoda Ṭhākura has sung a verse indicating that the tongue is the most vicious enemy and is the most voracious of all the senses. If one can control the tongue, he can easily control the other senses. The tongue can be controlled only by eating <i>prasāda</i> offered to the Deity. Lord Śiva's prayer to Lord Aniruddha is meant for this purpose (<i>tṛpti-dāya</i>); he prays to Lord Aniruddha to help him be satisfied by eating only <i>prasāda</i> offered to the Lord."
|
||||
]
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
"The Supreme Personality of Godhead is situated in everyone's heart, and from Him issue a living entity's inclinations and disinclinations. This is confirmed in <i>Bhagavad-gītā</i>:",
|
||||
"<i>sarvasya cāhaṁ hṛdi sanniviṣṭo<br/> mattaḥ smṛtir jñānam apohanaṁ ca</i>",
|
||||
"\"I am seated in everyone's heart, and from Me come remembrance, knowledge and forgetfulness.\" (Bg. 15.15)",
|
||||
"The Supreme Personality of Godhead causes the <i>asuras</i> to forget Him and the devotees to remember Him. One's disinclinations are due to the Supreme Personality of Godhead. According to <i>Bhagavad-gītā</i> the <i>asuras</i> do not know which way one should be inclined to act and which way one should not be inclined to act. <i>Pravṛttiṁ ca nivṛttiṁ ca janā na vidur āsurāḥ</i>: \"Those who are demoniac do not know what is to be done and what is not to be done.\" (Bg. 16.7) Although the <i>asuras</i> oppose devotional service, it is to be understood that they are inclined that way due to the Supreme Personality of Godhead. Because the <i>asuras</i> do not like to engage in the Lord's devotional service, the Lord within gives them the intelligence to forget. Ordinary <i>karmīs</i> desire promotion to Pitṛloka, as confirmed in <i>Bhagavad-gītā</i>. <i>Yānti deva-vratā devān pitèn yānti pitṛ-vratāḥ:</i> \"Those who worship the demigods will take birth among the demigods, and those who worship ancestors go to the ancestors.\" (Bg. 9.25)",
|
||||
"The Supreme Personality of Godhead causes the <i>asuras</i> to forget Him and the devotees to remember Him. One's disinclinations are due to the Supreme Personality of Godhead. According to <i>Bhagavad-gītā</i> the <i>asuras</i> do not know which way one should be inclined to act and which way one should not be inclined to act. <i>Pravṛttiṁ ca nivṛttiṁ ca janā na vidur āsurāḥ</i>: \"Those who are demoniac do not know what is to be done and what is not to be done.\" (Bg. 16.7) Although the <i>asuras</i> oppose devotional service, it is to be understood that they are inclined that way due to the Supreme Personality of Godhead. Because the <i>asuras</i> do not like to engage in the Lord's devotional service, the Lord within gives them the intelligence to forget. Ordinary <i>karmīs</i> desire promotion to Pitṛloka, as confirmed in <i>Bhagavad-gītā</i>. <i>Yānti deva-vratā devān pitṝn yānti pitṛ-vratāḥ:</i> \"Those who worship the demigods will take birth among the demigods, and those who worship ancestors go to the ancestors.\" (Bg. 9.25)",
|
||||
"In this verse the word <i>duḥkha-dāya</i> is also very significant, for those who are nondevotees are perpetually put into the cycle of birth and death. This is a very miserable condition. Because one's position in life is attained according to one's activities, the <i>asuras,</i> or nondevotees, are put into such miserable conditions."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 25,
|
||||
"verse": 15,
|
||||
"reference": "SB 4.25.15",
|
||||
"devanagari": "नीलस्फटिकवैदूर्य मुक्तामरकतारुणैः\nक्ÿप्तहर्म्यस्थलीं दीप्तां श्रिया भोगवतीमिव",
|
||||
"transliteration": "nīla-sphaṭika-vaidūrya-\nmuktā-marakatāruṇaiḥ\nkÿpta-harmya-sthalīṁ dīptāṁ\nśriyā bhogavatīm iva",
|
||||
"devanagari": "नीलस्फटिकवैदूर्य मुक्तामरकतारुणैः\nकॢप्तहर्म्यस्थलीं दीप्तां श्रिया भोगवतीमिव",
|
||||
"transliteration": "nīla-sphaṭika-vaidūrya-\nmuktā-marakatāruṇaiḥ\nkḷpta-harmya-sthalīṁ dīptāṁ\nśriyā bhogavatīm iva",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "nīla",
|
||||
@@ -44,7 +44,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "kÿpta",
|
||||
"word": "kḷpta",
|
||||
"meanings": [
|
||||
"bedecked"
|
||||
]
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
"translation": "<b>On the northern side was the gate named Devahū. Through that gate, King Purañjana used to go with his friend Śrutadhara to the place known as Uttara-pañcāla.</b>",
|
||||
"purport": [
|
||||
"The two ears are situated on the northern side and the southern side. The ear on the southern side is very strong and is always anxious to hear about sense enjoyment. The ear on the northern side, however, is used for taking initiation from the spiritual master and for gaining promotion to the spiritual sky. The right ear, or the ear on the southern side, is called Pitṛhū, which indicates that it is used for attaining the higher planetary systems known as Pitṛloka, but the left ear, which is known as Devahū, is utilized for hearing about even higher planetary systems such as Maharloka, Tapoloka and Brahmaloka—or yet even higher planets situated in the spiritual universe, where one becomes more inclined to be permanently situated. This is explained in <i>Bhagavad-gītā</i>:",
|
||||
"<i>yānti deva-vratā devān<br/> pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān<br/> pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"\"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings; those who worship ancestors go to the ancestors; and those who worship Me will live with Me.\" (Bg. 9.25)",
|
||||
"One who is interested in being happy on this planet as well as after death generally wants to be elevated to the Pitṛlokas. Such a person can use the right ear for hearing Vedic instructions. However, one who is interested in going to Tapoloka, Brahmaloka, the Vaikuṇṭha planets or Kṛṣṇaloka may take initiation from the spiritual master in order to be elevated to such <i>lokas.</i>"
|
||||
]
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
"chapter": 27,
|
||||
"verse": 7,
|
||||
"reference": "SB 4.27.7",
|
||||
"devanagari": "दुहिते᳙र्दशोत्तरशतं पितृमातृयशस्करीः\nशीलौदार्यगुणोपेताः पौरंजन्यः प्रजापते",
|
||||
"transliteration": "duhitèr daśottara-śataṁ\npitṛ-mātṛ-yaśaskarīḥ\nśīlaudārya-guṇopetāḥ\npaurañjanyaḥ prajā-pate",
|
||||
"devanagari": "दुहितॄर्दशोत्तरशतं पितृमातृयशस्करीः\nशीलौदार्यगुणोपेताः पौरंजन्यः प्रजापते",
|
||||
"transliteration": "duhitṝr daśottara-śataṁ\npitṛ-mātṛ-yaśaskarīḥ\nśīlaudārya-guṇopetāḥ\npaurañjanyaḥ prajā-pate",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "duhitèḥ",
|
||||
"word": "duhitṝḥ",
|
||||
"meanings": [
|
||||
"daughters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 27,
|
||||
"verse": 8,
|
||||
"reference": "SB 4.27.8",
|
||||
"devanagari": "स पंचालपतिः पुत्रान्पितृवंशविवर्धनान्\nदारैः संयोजयामास दुहितेः᳙ सदृशैर्वरैः",
|
||||
"transliteration": "sa pañcāla-patiḥ putrān\npitṛ-vaṁśa-vivardhanān\ndāraiḥ saṁyojayām āsa\nduhitèḥ sadṛśair varaiḥ",
|
||||
"devanagari": "स पंचालपतिः पुत्रान्पितृवंशविवर्धनान्\nदारैः संयोजयामास दुहितॄः सदृशैर्वरैः",
|
||||
"transliteration": "sa pañcāla-patiḥ putrān\npitṛ-vaṁśa-vivardhanān\ndāraiḥ saṁyojayām āsa\nduhitṝḥ sadṛśair varaiḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "saḥ",
|
||||
@@ -50,7 +50,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "duhitèḥ",
|
||||
"word": "duhitṝḥ",
|
||||
"meanings": [
|
||||
"daughters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 27,
|
||||
"verse": 11,
|
||||
"reference": "SB 4.27.11",
|
||||
"devanagari": "ईजे च क्रतुभिर्घोरैर्दीक्षितः पशुमारकैः\nदेवान्पिते᳙न्भूतपतीन्नानाकामो यथा भवान्",
|
||||
"transliteration": "īje ca kratubhir ghorair\ndīkṣitaḥ paśu-mārakaiḥ\ndevān pitèn bhūta-patīn\nnānā-kāmo yathā bhavān",
|
||||
"devanagari": "ईजे च क्रतुभिर्घोरैर्दीक्षितः पशुमारकैः\nदेवान्पितॄन्भूतपतीन्नानाकामो यथा भवान्",
|
||||
"transliteration": "īje ca kratubhir ghorair\ndīkṣitaḥ paśu-mārakaiḥ\ndevān pitṝn bhūta-patīn\nnānā-kāmo yathā bhavān",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "īje",
|
||||
@@ -50,7 +50,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "pitèn",
|
||||
"word": "pitṝn",
|
||||
"meanings": [
|
||||
"forefathers"
|
||||
]
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
"chapter": 28,
|
||||
"verse": 16,
|
||||
"reference": "SB 4.28.16",
|
||||
"devanagari": "दुहितेः᳙ पुत्रपौत्रांश्च जामिजामातृपार्षदान्\nस्वत्वावशिष्टं यत्किंचिद्गृहकोशपरिच्छदम्",
|
||||
"transliteration": "duhitèḥ putra-pautrāṁś ca\njāmi-jāmātṛ-pārṣadān\nsvatvāvaśiṣṭaṁ yat kiñcid\ngṛha-kośa-paricchadam",
|
||||
"devanagari": "दुहितॄः पुत्रपौत्रांश्च जामिजामातृपार्षदान्\nस्वत्वावशिष्टं यत्किंचिद्गृहकोशपरिच्छदम्",
|
||||
"transliteration": "duhitṝḥ putra-pautrāṁś ca\njāmi-jāmātṛ-pārṣadān\nsvatvāvaśiṣṭaṁ yat kiñcid\ngṛha-kośa-paricchadam",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "duhitèḥ",
|
||||
"word": "duhitṝḥ",
|
||||
"meanings": [
|
||||
"daughters"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 29,
|
||||
"verse": 28,
|
||||
"reference": "SB 4.29.28",
|
||||
"devanagari": "शुक्लात्प्रकाशभूयिष्ठाû लोकानाप्नोति कर्हिचित्\nदुःखोदर्कान्क्रियायासांस्तमः शोकोत्कटान्क्वचित्",
|
||||
"transliteration": "śuklāt prakāśa-bhūyiṣṭhāû\nlokān āpnoti karhicit\nduḥkhodarkān kriyāyāsāṁs\ntamaḥ śokotkaṭān kvacit",
|
||||
"devanagari": "शुक्लात्प्रकाशभूयिष्ठांल्लोकानाप्नोति कर्हिचित्\nदुःखोदर्कान्क्रियायासांस्तमः शोकोत्कटान्क्वचित्",
|
||||
"transliteration": "śuklāt prakāśa-bhūyiṣṭhāṁl\nlokān āpnoti karhicit\nduḥkhodarkān kriyāyāsāṁs\ntamaḥ śokotkaṭān kvacit",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "śuklāt",
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
"translation": "<b>When a person is fully engaged in devotional service, he is favored by the Lord, who bestows His causeless mercy. At such a time, the awakened devotee gives up all material activities and ritualistic performances mentioned in the Vedas.</b>",
|
||||
"purport": [
|
||||
"In the previous verse, those who are in knowledge have been described as unable to appreciate the Supreme Personality of Godhead. Similarly, this verse indicates that those who are followers of the Vedic rituals, as well as those who are followers of fruitive activities, are unable to see the Supreme Personality of Godhead. In these two verses both the <i>karmīs</i> and <i>jñānīs</i> are described as unfit to understand Him. As described by Śrīla Rūpa Gosvāmī, only when one is completely free from mental speculation and fruitive activity (<i>anyābhilāṣitā-śūnyaṁ jñāna-karmādy-anāvṛtam</i>) can one engage in pure devotional service without being polluted by material desires. The significant word <i>ātma-bhāvitaḥ</i> indicates that the Lord is awakened in one's mind if one constantly thinks of Him. A pure devotee is always thinking of the lotus feet of the Lord (<i>sa vai manaḥ kṛṣṇa-padāravindayoḥ</i>). A pure devotee cannot remain a moment without being absorbed in thoughts of the Supreme Personality of Godhead. This constant thinking of the Lord is described in <i>Bhagavad-gītā</i> as <i>satata-yuktānām,</i> always engaging in the Lord's service. <i>Bhajatāṁ prīti-pūrvakam:</i> this is devotional service in love and affection. Because the Supreme Personality of Godhead dictates to the pure devotee from within, the devotee is saved from all material activities. Even the Vedic ritualistic ceremonies are considered material activities because by such activities one is simply elevated to other planetary systems, the residential abodes of the demigods. Lord Kṛṣṇa says in <i>Bhagavad-gītā</i>:",
|
||||
"<i>yānti deva-vratā devān<br/> pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān<br/> pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"\"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings; those who worship ancestors go to the ancestors; and those who worship Me will live with Me.\" (Bg. 9.25)",
|
||||
"The word <i>ātma-bhāvitaḥ</i> also indicates that a devotee is always engaged in preaching to deliver conditioned souls. It is said of the six Gosvāmīs: <i>nānā-śāstra-vicāraṇaika-nipuṇau sad-dharma-saṁsthāpakau lokānāṁ hita-kāriṇau.</i> A pure devotee of the Supreme Personality of Godhead is always thinking of how fallen, conditioned souls can be delivered. The Supreme Personality of Godhead, influenced by the merciful devotees' attempt to deliver fallen souls, enlightens the people in general from within by His causeless mercy. If a devotee is blessed by another devotee, he becomes free from <i>karma-kāṇḍa</i> and <i>jñāna-kāṇḍa</i> activities. As confirmed in <i>Brahma-saṁhitā, vedeṣu durlabham:</i> the Supreme Personality of Godhead cannot be realized through <i>karma-kāṇḍa</i> and <i>jñāna-kāṇḍa.</i> <i>Adurlabham ātma-bhaktau:</i> the Lord is realized only by a sincere devotee.",
|
||||
"This material world, the cosmic manifestation, is created by the Supreme Personality of Godhead, and the living entities have come here to enjoy themselves. The Vedic instructions guide them according to different regulative principles, and intelligent people take advantage of these instructions. They thus enjoy material life without being disturbed. This is actually illusion, and to get out of this illusion by one's own endeavor is very difficult. The general populace is engaged in material activities, and when people are a little advanced, they become attracted by the ritualistic ceremonies mentioned in the <i>Vedas.</i> However, when one is frustrated in the performance of these ritualistic ceremonies, he again comes to material activities. In this way both the followers of the Vedic rituals and the followers of material activities are entangled in conditional life. These people get the seed of devotional service only by the good will of the <i>guru</i> and Kṛṣṇa. This is confirmed in <i>Caitanya-caritāmṛta: guru-kṛṣṇa-prasāde pāya bhakti-latā-bīja.</i>",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 29,
|
||||
"verse": 65,
|
||||
"reference": "SB 4.29.65",
|
||||
"devanagari": "तेनास्य तादृशं राजû लिंगिनो देहसम्भवम्\nश्रद्धत्स्वाननुभूतो ऽर्थो न मनः स्प्रष्टुमर्हति",
|
||||
"transliteration": "tenāsya tādṛśaṁ rājaû\nliṅgino deha-sambhavam\nśraddhatsvānanubhūto 'rtho\nna manaḥ spraṣṭum arhati",
|
||||
"devanagari": "तेनास्य तादृशं राजंल्लिंगिनो देहसम्भवम्\nश्रद्धत्स्वाननुभूतो ऽर्थो न मनः स्प्रष्टुमर्हति",
|
||||
"transliteration": "tenāsya tādṛśaṁ rājaṁl\nliṅgino deha-sambhavam\nśraddhatsvānanubhūto 'rtho\nna manaḥ spraṣṭum arhati",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tena",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 1,
|
||||
"verse": 32,
|
||||
"reference": "SB 5.1.32",
|
||||
"devanagari": "जम्बूप्लक्षशाल्मलिकुशक्रौंचशाकपुष्करसंज्ञास्तेषां \nपरिमाणं पूर्वस्मात्पूर्वस्मादुत्तर उत्तरो यथासंख्यं द्वि\nगुणमानेन बहिः समन्तत उपक्ÿप्ताः.",
|
||||
"transliteration": "jambū-plakṣa-śālmali-kuśa-krauñca-śāka-puṣkara-saṁjñās teṣāṁ \nparimāṇaṁ pūrvasmāt pūrvasmād uttara uttaro yathā-saṅkhyaṁ dvi-\nguṇa-mānena bahiḥ samantata upakÿptāḥ.",
|
||||
"devanagari": "जम्बूप्लक्षशाल्मलिकुशक्रौंचशाकपुष्करसंज्ञास्तेषां \nपरिमाणं पूर्वस्मात्पूर्वस्मादुत्तर उत्तरो यथासंख्यं द्वि\nगुणमानेन बहिः समन्तत उपकॢप्ताः.",
|
||||
"transliteration": "jambū-plakṣa-śālmali-kuśa-krauñca-śāka-puṣkara-saṁjñās teṣāṁ \nparimāṇaṁ pūrvasmāt pūrvasmād uttara uttaro yathā-saṅkhyaṁ dvi-\nguṇa-mānena bahiḥ samantata upakḷptāḥ.",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "jambū",
|
||||
@@ -116,7 +116,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "upakÿptāḥ",
|
||||
"word": "upakḷptāḥ",
|
||||
"meanings": [
|
||||
"produced."
|
||||
]
|
||||
|
||||
@@ -118,8 +118,8 @@
|
||||
],
|
||||
"translation": "<b>Desiring to get a perfect son and become an inhabitant of Pitṛloka, Mahārāja Āgnīdhra once worshiped Lord Brahmā, the master of those in charge of material creation. He went to a valley of Mandara Hill, where the damsels of the heavenly planets come down to stroll. There he collected garden flowers and other necessary paraphernalia and then engaged in severe austerities and worship.</b>",
|
||||
"purport": [
|
||||
"The King became <i>pitṛloka-kāma,</i> or desirous of being transferred to the planet named Pitṛloka. Pitṛloka is mentioned in <i>Bhagavad-gītā </i>(<i>yānti deva-vratā devān pitèn yānti pitṛ-vratāḥ</i>). To go to this planet, one needs very good sons who can make offerings to Lord Viṣṇu and then offer the remnants to their forefathers. The purpose of the <i>śrāddha</i> ceremony is to please the Supreme Personality of Godhead, Lord Viṣṇu, so that after pleasing Him one may offer <i>prasāda</i> to one's forefathers and in this way make them happy. The inhabitants of Pitṛloka are generally men of the <i>karma-kāṇḍīya,</i> or fruitive activities category, who have been transferred there because of their pious activities. They can stay there as long as their descendants offer them <i>viṣṇu-prasādam.</i> Everyone in heavenly planets such as Pitṛloka, however, must return to earth after exhausting the effects of his pious acts. As confirmed in <i>Bhagavad-gītā</i> (9.21), <i>kṣīṇe puṇye martya-lokaṁ viśanti:</i> persons who perform pious acts are transferred to higher planets, but when the effects of their pious acts are over, they are again transferred to earth.",
|
||||
"Since Mahārāja Priyavrata was a great devotee, how could he have begotten a son who desired to be transferred to Pitṛloka? Lord Kṛṣṇa says, <i>pitèn yānti pitṛ-vratāḥ:</i> persons who desire to go to Pitṛloka are transferred there. Similarly, <i>yānti mad-yājino 'pi mām: </i>persons who desire to be transferred to the spiritual planets, Vaikuṇṭhalokas, can also go there. Since Mahārāja Āgnīdhra was the son of a Vaiṣṇava, he should have desired to be transferred to the spiritual world, Vaikuṇṭhaloka. Why, then, did he desire to be transferred to Pitṛloka? In answer to this, Gosvāmī Giridhara, one of the <i>Bhāgavatam</i> commentators, remarks that Āgnīdhra was born when Mahārāja Priyavrata was infatuated by lusty desires. This may be accepted as a fact because sons are begotten with different mentalities according to the time of their conception. According to the Vedic system, therefore, before a child is conceived, the <i>garbhādhāna-saṁskāra</i> is performed. This ceremony molds the mentality of the father in such a way that when he plants his seed in the womb of his wife, he will beget a child whose mind will be completely saturated with a devotional attitude. At the present moment, however, there are no such <i>garbhādhāna-saṁskāras,</i> and therefore people generally have a lusty attitude when they beget children. Especially in this age of Kali, there are no <i>garbhādhāna</i> ceremonies; everyone enjoys sex with his wife like a cat or dog. Therefore according to śāstric injunctions, almost all the people of this age belong to the <i>śūdra</i> category. Of course, although Mahārāja Āgnīdhra had a desire to be transferred to Pitṛloka, this does not mean that his mentality was that of a <i>śūdra;</i> he was a <i>kṣatriya.</i>",
|
||||
"The King became <i>pitṛloka-kāma,</i> or desirous of being transferred to the planet named Pitṛloka. Pitṛloka is mentioned in <i>Bhagavad-gītā </i>(<i>yānti deva-vratā devān pitṝn yānti pitṛ-vratāḥ</i>). To go to this planet, one needs very good sons who can make offerings to Lord Viṣṇu and then offer the remnants to their forefathers. The purpose of the <i>śrāddha</i> ceremony is to please the Supreme Personality of Godhead, Lord Viṣṇu, so that after pleasing Him one may offer <i>prasāda</i> to one's forefathers and in this way make them happy. The inhabitants of Pitṛloka are generally men of the <i>karma-kāṇḍīya,</i> or fruitive activities category, who have been transferred there because of their pious activities. They can stay there as long as their descendants offer them <i>viṣṇu-prasādam.</i> Everyone in heavenly planets such as Pitṛloka, however, must return to earth after exhausting the effects of his pious acts. As confirmed in <i>Bhagavad-gītā</i> (9.21), <i>kṣīṇe puṇye martya-lokaṁ viśanti:</i> persons who perform pious acts are transferred to higher planets, but when the effects of their pious acts are over, they are again transferred to earth.",
|
||||
"Since Mahārāja Priyavrata was a great devotee, how could he have begotten a son who desired to be transferred to Pitṛloka? Lord Kṛṣṇa says, <i>pitṝn yānti pitṛ-vratāḥ:</i> persons who desire to go to Pitṛloka are transferred there. Similarly, <i>yānti mad-yājino 'pi mām: </i>persons who desire to be transferred to the spiritual planets, Vaikuṇṭhalokas, can also go there. Since Mahārāja Āgnīdhra was the son of a Vaiṣṇava, he should have desired to be transferred to the spiritual world, Vaikuṇṭhaloka. Why, then, did he desire to be transferred to Pitṛloka? In answer to this, Gosvāmī Giridhara, one of the <i>Bhāgavatam</i> commentators, remarks that Āgnīdhra was born when Mahārāja Priyavrata was infatuated by lusty desires. This may be accepted as a fact because sons are begotten with different mentalities according to the time of their conception. According to the Vedic system, therefore, before a child is conceived, the <i>garbhādhāna-saṁskāra</i> is performed. This ceremony molds the mentality of the father in such a way that when he plants his seed in the womb of his wife, he will beget a child whose mind will be completely saturated with a devotional attitude. At the present moment, however, there are no such <i>garbhādhāna-saṁskāras,</i> and therefore people generally have a lusty attitude when they beget children. Especially in this age of Kali, there are no <i>garbhādhāna</i> ceremonies; everyone enjoys sex with his wife like a cat or dog. Therefore according to śāstric injunctions, almost all the people of this age belong to the <i>śūdra</i> category. Of course, although Mahārāja Āgnīdhra had a desire to be transferred to Pitṛloka, this does not mean that his mentality was that of a <i>śūdra;</i> he was a <i>kṣatriya.</i>",
|
||||
"Mahārāja Āgnīdhra desired to be transferred to Pitṛloka, and therefore he needed a wife because anyone desiring to be transferred to Pitṛloka must leave behind a good son to offer yearly <i>piṇḍa,</i> or <i>prasāda</i> from Lord Viṣṇu. To have a good son, Mahārāja Āgnīdhra wanted a wife from a family of demigods. Therefore he went to Mandara Hill, where the women of the demigods generally come, to worship Lord Brahmā. In <i>Bhagavad-gītā</i> (4.12) it is said, <i>kāṅkṣantaḥ karmaṇāṁ siddhiṁ yajanta iha devatāḥ:</i> materialists who want quick results in the material world worship demigods. This is also confirmed in <i>Śrīmad-Bhāgavatam.</i> <i>Śrī-aiśvarya-prajepsavaḥ:</i> those who desire beautiful wives, substantial wealth and many sons worship the demigods, but an intelligent devotee, instead of being entangled by the happiness of this material world in the form of a beautiful wife, material opulence and children, desires to be immediately transferred back home, back to Godhead. Thus he worships the Supreme Personality of Godhead, Viṣṇu."
|
||||
]
|
||||
}
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 2,
|
||||
"verse": 23,
|
||||
"reference": "SB 5.2.23",
|
||||
"devanagari": "सम्परेते पितरि नव भ्रातरो मेरुदुहिते᳙र्मेरुदेवीं प्रतिरूपाम् \nउग्रदंष्ट्रीं लतां रम्यां श्यामां नारीं भद्रां देववीतिमिति \nसंज्ञा नवोदवहन्.",
|
||||
"transliteration": "samparete pitari nava bhrātaro meru-duhitèr merudevīṁ pratirūpām \nugradaṁṣṭrīṁ latāṁ ramyāṁ śyāmāṁ nārīṁ bhadrāṁ devavītim iti \nsaṁjñā navodavahan.",
|
||||
"devanagari": "सम्परेते पितरि नव भ्रातरो मेरुदुहितॄर्मेरुदेवीं प्रतिरूपाम् \nउग्रदंष्ट्रीं लतां रम्यां श्यामां नारीं भद्रां देववीतिमिति \nसंज्ञा नवोदवहन्.",
|
||||
"transliteration": "samparete pitari nava bhrātaro meru-duhitṝr merudevīṁ pratirūpām \nugradaṁṣṭrīṁ latāṁ ramyāṁ śyāmāṁ nārīṁ bhadrāṁ devavītim iti \nsaṁjñā navodavahan.",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "samparete pitari",
|
||||
@@ -26,7 +26,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "meru-duhitèḥ",
|
||||
"word": "meru-duhitṝḥ",
|
||||
"meanings": [
|
||||
"the daughters of Meru"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 10,
|
||||
"verse": 20,
|
||||
"reference": "SB 5.10.20",
|
||||
"devanagari": "स वै भवाû लोकनिरीक्षणार्थमव्यक्तलिंगो विचरत्यपि स्वित्\nयोगेश्वराणां गतिमन्धबुद्धिः कथं विचक्षीत गृहानुबन्धः",
|
||||
"transliteration": "sa vai bhavāû loka-nirīkṣaṇārtham\navyakta-liṅgo vicaraty api svit\nyogeśvarāṇāṁ gatim andha-buddhiḥ\nkathaṁ vicakṣīta gṛhānubandhaḥ",
|
||||
"devanagari": "स वै भवांल्लोकनिरीक्षणार्थमव्यक्तलिंगो विचरत्यपि स्वित्\nयोगेश्वराणां गतिमन्धबुद्धिः कथं विचक्षीत गृहानुबन्धः",
|
||||
"transliteration": "sa vai bhavāṁl loka-nirīkṣaṇārtham\navyakta-liṅgo vicaraty api svit\nyogeśvarāṇāṁ gatim andha-buddhiḥ\nkathaṁ vicakṣīta gṛhānubandhaḥ",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "saḥ",
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
"translation": "<b>In this way the descendants of the monkeys intermingle with each other, and they are generally known as śūdras. Without hesitating, they live and move freely, not knowing the goal of life. They are captivated simply by seeing the faces of one another, which remind them of sense gratification. They are always engaged in material activities, known as grāmya-karma, and they work hard for material benefit. Thus they forget completely that one day their small life spans will be finished and they will be degraded in the evolutionary cycle.</b>",
|
||||
"purport": [
|
||||
"Materialistic people are sometimes called <i>śūdras,</i> or descendants of monkeys, due to their monkeylike intelligence. They do not care to know how the evolutionary process is taking place, nor are they eager to know what will happen after they finish their small human life span. This is the attitude of <i>śūdras.</i> Śrī Caitanya Mahāprabhu's mission, this Kṛṣṇa consciousness movement, is trying to elevate <i>śūdras</i> to the <i>brāhmaṇa</i> platform so that they will know the real goal of life. Unfortunately, being overly attached to sense gratification, materialists are not serious in helping this movement. Instead, some of them try to suppress it. Thus it is the business of monkeys to disturb the activities of the <i>brāhmaṇas.</i> The descendants of monkeys completely forget that they have to die, and they are very proud of scientific knowledge and the progress of material civilization. The word <i>grāmya-karmaṇā</i> indicates activities meant only for the improvement of bodily comforts. Presently all human society is engaged in improving economic conditions and bodily comforts. People are not interested in knowing what is going to happen after death, nor do they believe in the transmigration of the soul. When one scientifically studies the evolutionary theory, one can understand that human life is a junction where one may take the path of promotion or degradation. As stated in <i>Bhagavad-gītā</i> (9.25):",
|
||||
"<i>yānti deva-vratā devān<br/> pitèn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"<i>yānti deva-vratā devān<br/> pitṝn yānti pitṛ-vratāḥ<br/> bhūtāni yānti bhūtejyā<br/> yānti mad-yājino 'pi mām</i>",
|
||||
"\"Those who worship the demigods will take birth among the demigods; those who worship ghosts and spirits will take birth among such beings; those who worship ancestors go to the ancestors; and those who worship Me will live with Me.\"",
|
||||
"In this life we have to prepare ourselves for promotion to the next life. Those who are in the mode of <i>rajo-guṇa</i> are generally interested in being promoted to the heavenly planets. Some, unknowingly, are degraded to lower animal forms. Those in the mode of goodness can engage in devotional service, and after that they can return home, back to Godhead (<i>yānti mad-yājino 'pi mām</i>). That is the real purpose of human life. This Kṛṣṇa consciousness movement is trying to bring intelligent human beings to the platform of devotional service. Instead of wasting time trying to attain a better position in material life, one should simply endeavor to return home, back to Godhead. Then all problems will be solved. As stated in <i>Śrīmad-Bhāgavatam</i> (1.2.17):",
|
||||
"<i>śṛṇvatāṁ sva-kathāḥ kṛṣṇaḥ<br/> puṇya-śravaṇa-kīrtanaḥ<br/> hṛdy antaḥ-stho hy abhadrāṇi<br/> vidhunoti su-hṛt-satām</i>",
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 16,
|
||||
"verse": 2,
|
||||
"reference": "SB 5.16.2",
|
||||
"devanagari": "तत्रापि प्रियव्रतरथचरणपरिखातैः सप्तभिः सप्त सिन्धव \nउपक्ÿप्ता यत एतस्याः सप्तद्वीपविशेषविकल्पस्त्वया भगवन् \nखलु सूचित एतदेवाखिलमहं मानतो लक्षणतश्च सर्वं वि\nजिज्ञासामि.",
|
||||
"transliteration": "tatrāpi priyavrata-ratha-caraṇa-parikhātaiḥ saptabhiḥ sapta sindhava \nupakÿptā yata etasyāḥ sapta-dvīpa-viśeṣa-vikalpas tvayā bhagavan \nkhalu sūcita etad evākhilam ahaṁ mānato lakṣaṇataś ca sarvaṁ vi-\njijñāsāmi.",
|
||||
"devanagari": "तत्रापि प्रियव्रतरथचरणपरिखातैः सप्तभिः सप्त सिन्धव \nउपकॢप्ता यत एतस्याः सप्तद्वीपविशेषविकल्पस्त्वया भगवन् \nखलु सूचित एतदेवाखिलमहं मानतो लक्षणतश्च सर्वं वि\nजिज्ञासामि.",
|
||||
"transliteration": "tatrāpi priyavrata-ratha-caraṇa-parikhātaiḥ saptabhiḥ sapta sindhava \nupakḷptā yata etasyāḥ sapta-dvīpa-viśeṣa-vikalpas tvayā bhagavan \nkhalu sūcita etad evākhilam ahaṁ mānato lakṣaṇataś ca sarvaṁ vi-\njijñāsāmi.",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "tatra api",
|
||||
@@ -38,7 +38,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "upakÿptāḥ",
|
||||
"word": "upakḷptāḥ",
|
||||
"meanings": [
|
||||
"created"
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"chapter": 16,
|
||||
"verse": 11,
|
||||
"reference": "SB 5.16.11",
|
||||
"devanagari": "मन्दरो मेरुमन्दरः सुपार्श्वः कुमुद इत्ययुतयोजन\nविस्तारोन्नाहा मेरोश्चतुर्दिशमवष्टम्भगिरय उपक्ÿप्ताः.",
|
||||
"transliteration": "mandaro merumandaraḥ supārśvaḥ kumuda ity ayuta-yojana-\nvistāronnāhā meroś catur-diśam avaṣṭambha-giraya upakÿptāḥ.",
|
||||
"devanagari": "मन्दरो मेरुमन्दरः सुपार्श्वः कुमुद इत्ययुतयोजन\nविस्तारोन्नाहा मेरोश्चतुर्दिशमवष्टम्भगिरय उपकॢप्ताः.",
|
||||
"transliteration": "mandaro merumandaraḥ supārśvaḥ kumuda ity ayuta-yojana-\nvistāronnāhā meroś catur-diśam avaṣṭambha-giraya upakḷptāḥ.",
|
||||
"synonyms": [
|
||||
{
|
||||
"word": "mandaraḥ",
|
||||
@@ -62,7 +62,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"word": "upakÿptāḥ",
|
||||
"word": "upakḷptāḥ",
|
||||
"meanings": [
|
||||
"situated."
|
||||
]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user