Projects BibleWeb Parallel Gospels Pericope list browser
Done

Pericope list browser

Area: Parallel Gospels Milestone: v2

Context

Problem: The four Gospels tell the same story from different perspectives. Readers studying a specific event (e.g., the Crucifixion, the Feeding of the Five Thousand) need to find where each Gospel covers it and compare the accounts.

Solution: A browseable list of Gospel pericopes (passages/events) at /parallel. Each pericope represents a narrative unit that may appear in one or more Gospels. Clicking a pericope opens the side-by-side comparison view.

Not included: Non-Gospel pericopes or Old Testament parallel passages. This is specifically for the four Gospels (Matthew, Mark, Luke, John).

Functional

User flow:

  1. User navigates to /parallel (via sidebar → "Parallel Gospel Reader")
  2. Sees a scrollable list of pericopes (narrative events) with titles and descriptions
  3. Each card shows: title (bold), 1-2 sentence description, right arrow
  4. Click a card → navigates to /parallel/[id] showing side-by-side Gospel columns
  5. List includes both narrative pericopes and parables

Edge cases:

  • List ordered by sequence_number (roughly following the Gospel narrative order)
  • Pericopes with category = 'parable' also appear here (shared with the Parables browser)
  • Font size controls (A-/A+) available on the page
  • Tier-gated: parallelGospel (Pro+)

UX & Design

Layout: Vertical card list with generous spacing.

Cards: Title (bold, dark), description (muted, 1-2 lines), right arrow chevron. Subtle hover effect.

Header: "Parallel Gospel Reader" with subtitle "Select a passage to compare across the Gospels"

Technical

Route: /parallel+page.server.ts calls getPericopes()

DB table: pericopesid, title, description, sequence_number, category

Query: getPericopes() — fetches all rows ordered by sequence_number

i18n: getPericopeTitle(englishTitle, lang) and getPericopeDescription(...) for Dutch translations

Tier gate: TierGate feature="parallelGospel"

Files:

  • apps/web/src/routes/(app)/parallel/+page.svelte + +page.server.ts
  • apps/web/src/lib/server/queries/pericopes.tsgetPericopes()

Status

Current: DONE Milestone: v2 Priority: High — entry point to the parallel Gospel study experience

History:

  • BibleGame had a similar pericope list
  • Web version adds descriptions and i18n support

Dependencies:

  • Requires: pericopes data (DONE)
  • Used by: side-by-side view (DONE), parables browser (DONE, shares pericope data)

Screenshots

Feature screenshot