aboutsummaryrefslogtreecommitdiff
path: root/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md
diff options
context:
space:
mode:
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.md31
1 files changed, 26 insertions, 5 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 a3ab615..37608ad 100644
--- a/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md
+++ b/docs/superpowers/plans/2026-07-23-lectio-go-rewrite.md
@@ -1519,17 +1519,38 @@ the domain packages, never the reverse.
### Amendment to Task 10 (config) — web fields
Add to `Config`: `WebTheme string \`toml:"web_theme"\``, `WebPort int \`toml:"web_port"\``.
-Defaults: `WebTheme "light"`, `WebPort 0`. Validate `WebTheme` ∈
-`{light,dark,sepia,parchment,nord}`. Add the two lines to the embedded seed
-(after `offline`): `web_theme = "light"` and `web_port = 0` with the spec's
-comments. (Do this as a small follow-up commit to internal/config.)
+Defaults: `WebTheme "transfiguration"`, `WebPort 0`. Validate `WebTheme` ∈
+`{transfiguration,catppuccin,tokyonight,gruvbox,nord}`. Add to the embedded seed
+(after `offline`): `web_theme = "transfiguration"` and `web_port = 0` with the
+spec's comments. (Small follow-up commit to internal/config.)
### Task B1: internal/web — HTML render + embedded themes
**Files:** Create `internal/web/render.go`, `internal/web/render_test.go`,
-`internal/web/templates/*.html`, `internal/web/static/themes/{light,dark,sepia,parchment,nord}.css`,
+`internal/web/templates/*.html`,
+`internal/web/static/themes/{transfiguration,catppuccin,tokyonight,gruvbox,nord}.css`,
`internal/web/static/htmx.min.js` (download the pinned release).
+**Theme aesthetic + palettes.** Minimal, ascetic: a spare serif/system reading
+font, generous line-height and whitespace, no gradients/box-shadows/rounded
+chrome — each theme is just its palette applied to the role classes
+(`.heading`, `.citation`, `.vnum`, `.refrain`, body bg/fg, borders, links).
+Define a shared `base.css` (layout/typography, no colours) + one small
+colour-only file per theme. Palettes (canonical hex):
+- **transfiguration** — read the exact tokens from
+ `/home/lukasz/git/transfiguration-themes/palettes/transfiguration.json`: bg
+ `content_bg #262e28`, fg `content_text #e6dec6`, heading/accent `#d3b380`
+ (gold), citation/muted `text_muted #99a18c`, refrain/link `#97ad6e` (olive),
+ border `#4a5347`, vnum `#d3b380`.
+- **catppuccin** (Mocha): bg `#1e1e2e`, fg `#cdd6f4`, muted `#a6adc8`, accent
+ `#cba6f7` (mauve), link `#89b4fa`, refrain `#a6e3a1`, border `#313244`.
+- **tokyonight** (Night): bg `#1a1b26`, fg `#c0caf5`, muted `#565f89`, accent
+ `#7aa2f7`, link `#7dcfff`, refrain `#9ece6a`, border `#292e42`.
+- **gruvbox** (dark): bg `#282828`, fg `#ebdbb2`, muted `#928374`, accent
+ `#fabd2f` (yellow), link `#83a598`, refrain `#b8bb26`, border `#3c3836`.
+- **nord**: bg `#2e3440`, fg `#d8dee9`, muted `#4c566a`, accent `#88c0d0`, link
+ `#81a1c1`, refrain `#a3be8c`, border `#3b4252`.
+
**Interfaces:**
- Consumes `liturgy.Section`, `render.GatherVersion`, `render.OfflineVersions`.
- Produces: `web.RenderReadings(secs []liturgy.Section, versions []string, lectionary string) template.HTML`