You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add the synopsis comparison modal to the parallels panel
Each pericope row in the Synoptic parallels panel now carries a "compare"
button (a columns glyph) that opens a modal showing the passage across the
Gospels side by side, with the actual scripture text of each. This is phase 1
of the Gospel parallels browser (approach C); a shareable /synopsis/ route is a
later phase.
The comparison is pre-rendered at build time (a native <dialog> per pericope),
so it opens instantly with no fetch and needs only a few lines of JS to open and
to close on backdrop click (Esc and the close button are native). Each column
header links back to that Gospel's chapter at the verse ("Read with commentary
→"), and columns whose Gospel has authored notes on the pericope show a "✎ N
notes" badge, so the reader can see where commentary lives and jump there.
- src/lib/texts.ts: passageText(code, range) pulls a verse range as inline HTML,
matching ChapterText's per-segment spacing so text reads correctly across
dropped footnote markers.
- src/lib/commentary.ts: notesInRange(code, range) counts overlapping notes.
- src/lib/synopsis.ts: synopsisColumns(code, entry) assembles the columns
(self passage first, then each parallel Gospel).
- scripts/build-parallels.mjs: emit each parallel's parsed verse span (`from`)
so the columns can pull its text.
- src/components/Parallels.astro: compare button + per-pericope dialog.
- src/styles/global.css: compare-button and modal styles (theme-aware).
The panel section keeps data-pagefind-ignore, so the pre-rendered comparison
text is not indexed by search.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments