Problem: Jesus' parables are scattered across the four Gospels. Readers who want to study a specific parable (like the Prodigal Son or the Good Samaritan) need a way to find it quickly and read all Gospel accounts side by side.
Solution: A dedicated parables section with a browseable list and detail pages. Each parable shows its full verse text, and if the parable appears in multiple Gospels, the texts are shown side by side (using the same parallel view as the Parallel Gospel Reader).
Not included: Commentary on parables, or thematic grouping of parables by topic. This is the raw text with parallel Gospel comparison.
A list page showing all parables with descriptions, and detail pages showing the full verse text for each parable.
User flow:
/parables (via sidebar or Teachings hub)Edge cases:
prerender = true)List page:
Detail page:
ParallelVerseView component as Parallel Gospels)Data:
pericopes filtered by category = 'parable', ordered by sequence_numberpericope_verses → verses → books, with jesus_speech left joinbookId into Column[] objects (same structure as Parallel Gospels)Routes:
/parables — +page.server.ts calls getParables() (pericopes WHERE category='parable')/parables/[id] — +page.server.ts calls getParableById(id) + getParableVerses(id)Shared components:
ParallelVerseView.svelte — reused from Parallel Gospels for multi-column displaygetParableDescription(title, lang) for Dutch descriptionsFiles:
apps/web/src/routes/(app)/parables/+page.svelte + +page.server.ts — listapps/web/src/routes/(app)/parables/[id]/+page.svelte + +page.server.ts — detailapps/web/src/lib/server/queries/parables.ts — getParables(), getParableVerses()apps/web/src/lib/components/bible/ParallelVerseView.svelte — shared column viewCurrent: DONE Milestone: v3 Priority: High — one of BibleWeb's distinctive study features
History:
Dependencies: