diff options
Diffstat (limited to 'docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md')
| -rw-r--r-- | docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md | 32 |
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. |
