aboutsummaryrefslogtreecommitdiff
path: root/docs/superpowers
diff options
context:
space:
mode:
Diffstat (limited to 'docs/superpowers')
-rw-r--r--docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md b/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md
index 6ab484e..af00bb0 100644
--- a/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md
+++ b/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md
@@ -1673,6 +1673,38 @@ func TestIndexAndPartial(t *testing.T) {
Add `lectio-web` to the Makefile `build`/`install`/`cross` targets and `.gitignore`;
document `lectio-web`, its keys/controls, and the themes in the README.
+## Addendum C: web display modes (horizontal / vertical / interlinear)
+
+Adds a display-layout option to `lectio-web`, defaulted in config and switchable
+in the top bar. Full task detail in `.superpowers/sdd/task-B3-brief.md`.
+
+### Task B3: internal/web display modes + config `web_display`
+- **config**: add `WebDisplay string` (default `"horizontal"`), normalized to one
+ of `horizontal|vertical|interlinear` (unknown → `horizontal`); seed line in
+ `config.toml`.
+- **render**: add `GatherVerses(version, sec, lectionary) (label string, verses
+ []bible.Verse, versified bool)` — shares GatherVersion's citation/ToEnglishRef/
+ psalm-system resolution but returns raw verses; `versified=false` for `pl` (no
+ verse numbers) and on any lookup failure. Refactor the shared resolution out of
+ GatherVersion so both use it.
+- **web/render**: `RenderReadings(secs, versions, lectionary, display string)`:
+ - `horizontal` — current stacked layout (unchanged).
+ - `vertical` — one column per version (row-index aligned, like CLI `compare`),
+ in a `.display-vertical` grid.
+ - `interlinear` — excludes `pl` (no verse numbers): the version list is mapped
+ through the same pl→wuj substitution as `render.OfflineVersions` (drop pl,
+ substitute wuj if wuj absent), then the versified versions interleave by
+ `chapter:verse` — each verse key printed once (`.vnum`), followed by one
+ `.version-label` + text line per version. Union of verse keys taken in the
+ first version's order, appending any keys later versions add.
+ - Layout for all three lives in `base.css` (colour-only theme constraint intact;
+ new structural elements reuse existing role classes `.vnum`/`.version-label`).
+- **server**: a `display` `<select>` in the top bar (horizontal/vertical/
+ interlinear) carrying `hx-get=/readings`; `/readings` reads `display` (default
+ `cfg.WebDisplay`) and passes it to `RenderReadings`; the `/` page seeds the
+ select from `cfg.WebDisplay`.
+- **README** (folds into Task 14): document the three modes + `web_display`.
+
## Self-Review Notes
- Spec coverage: two binaries (T1,12,13,15-via-14), embedded corpora (T1,4), lookup (T4,5), aliases incl. `J`→John (T3), citation conversion + psalm systems (T2,6), fetch/parse (T7,8), cache HTML+JSON (T8), sigla harvest + offline (T9), config incl. `offline` (T10), render + dedup + pl→wuj (T11), subcommands (T12), colored reader TUI (T13), Makefile/cross/README (T1,14). All spec sections map to a task.