diff options
Diffstat (limited to 'docs/superpowers/specs')
| -rw-r--r-- | docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md b/docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md index a56f345..76aa26d 100644 --- a/docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md +++ b/docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md @@ -306,15 +306,36 @@ self-contained single binary — no cgo, no build step. responsive compare columns. - **Themes.** Minimal, ascetic (spare typography, generous whitespace, no gradients/shadows/rounded chrome — just the palette applied to the role - classes). Embedded CSS themes based on the popular named palettes, switchable - live in the UI and defaulted by `web_theme`: `transfiguration` (the user's own - palette — dark hill-green, parchment text, gold accents; canonical hex in - `~/git/transfiguration-themes/palettes/transfiguration.json`), plus - `catppuccin`, `tokyonight`, `gruvbox`, `nord`, `dracula`, `solarized`, - `everforest`, `rosepine`, `onedark`. The colour roles (heading / citation / - verse number / refrain / body) are CSS classes each theme restyles. The active - theme is stored in a cookie; `web_theme` is the initial default (ships as - `transfiguration`). + classes). Original themes evoking religious orders / spiritual traditions, + switchable live and defaulted by `web_theme`: + - `transfiguration` — the user's own palette (dark hill-green, parchment text, + gold halos; canonical hex in `~/git/transfiguration-themes/palettes/transfiguration.json`). Default. + - `desert_fathers` — light: sun-bleached sand and ochre, austere (Egyptian desert hermits). + - `benedictines` — dark: near-black habit, illuminated gold, parchment (ora et labora). + - `franciscans` — warm undyed-brown habit with olive/creation greens (Il Poverello). + - `memento_mori` — stark greyscale, ash and bone, one dried-blood accent (contemplative austerity). + - `camedules` — light: white habit, cool slate-blue and sage, serene (Camaldolese hermits). + + And a set following the **liturgical seasons** and their proper colours: + - `advent` — violet, contemplative preparation. + - `nativity` — white and gold, the light of Christmas (light). + - `lent` — ashen, desaturated violet, penitential. + - `easter` — radiant white and gold, the Paschal glory (light). + - `pentecost` — the red flame of the Spirit, gold tongues of fire. + - `ordinary` — green, growth and hope (light). + + **Colour only — no gimmicks.** A theme file sets ONLY colour values for the + role variables/classes (heading / citation / verse number / refrain / body / + links / borders). No background images, no per-theme fonts, no ornaments, + animations, or effects. All layout, typography and spacing live once in the + shared `base.css`; themes never touch them. The active theme is stored in a + cookie; `web_theme` is the initial default (ships as `transfiguration`). +- **User themes.** Others can add their own: any `*.css` in + `${XDG_CONFIG_HOME:-~/.config}/lectio/themes/` becomes a selectable theme named + after its filename stem (a user file overrides a built-in of the same name). A + custom theme only needs to define the documented role classes. So `web_theme` + may name a built-in or a user theme; an unknown name falls back to the default + at serve time with a warning (not a hard config error). - **Reuse.** Consumes the same core: `readings.Load` → `[]liturgy.Section`, `render.GatherVersion`'s `(label, blocks)` fed into templates. No changes to the domain packages — `internal/web` imports them, never the reverse. @@ -334,7 +355,7 @@ default_version = "pl" # TUI start / `lectio show` default width = 0 # CLI wrap width; 0 = detect terminal all = false # default to all parts (true) or just the gospel (false) offline = false # true = never fetch; read only harvested sigla + cache -web_theme = "transfiguration" # theme: transfiguration|catppuccin|tokyonight|gruvbox|nord|dracula|solarized|everforest|rosepine|onedark +web_theme = "transfiguration" # built-in order/season theme or a user theme in ~/.config/lectio/themes/ (see docs/THEMES.md) web_port = 0 # lectio-web port; 0 = auto-pick a free port # Which parts to show. Both tables are commented out -> every part is shown. |
