aboutsummaryrefslogtreecommitdiff
path: root/docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md
diff options
context:
space:
mode:
authorŁukasz <lukasz@arcofasiagroup.com>2026-07-23 14:04:40 +0200
committerŁukasz <lukasz@arcofasiagroup.com>2026-07-23 14:04:40 +0200
commitf03bffb446403c775cc92dbbb966dca4b4ea9ebd (patch)
tree2925bc095e43763fe000356cac9a09ebe09d8556 /docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md
parent2e91d69ffb5989a167821979d4ed8d71a0f6ecbe (diff)
downloadlectio-f03bffb446403c775cc92dbbb966dca4b4ea9ebd.tar.gz
lectio-f03bffb446403c775cc92dbbb966dca4b4ea9ebd.zip
Addendum B themes: religious orders + liturgical seasons, colour-only, user-extensible
Replace dev-palette themes with original ascetic sets: religious orders (desert_fathers, benedictines, franciscans, memento_mori, camedules) and liturgical seasons (advent, nativity, lent, easter, pentecost, ordinary), plus transfiguration (default). Colour-only, no gimmicks (base.css owns all layout/type). Users can drop *.css in ~/.config/lectio/themes/; web_theme accepts any, serve-time fallback. docs/THEMES.md documents the role classes.
Diffstat (limited to 'docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md')
-rw-r--r--docs/superpowers/specs/2026-07-23-lectio-go-rewrite-design.md41
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.