aboutsummaryrefslogtreecommitdiff
path: root/cmd/lectio-web
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 19:22:40 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 19:22:40 +0200
commitd5d175118138249fe7d9e85d1bc65fb0b7e3a398 (patch)
tree232c9c709b378acefff08bd7e7d930a7edb861fc /cmd/lectio-web
parenta9faf42cfbb1c060ac69f703f0c78616656566cb (diff)
downloadlectio-d5d175118138249fe7d9e85d1bc65fb0b7e3a398.tar.gz
lectio-d5d175118138249fe7d9e85d1bc65fb0b7e3a398.zip
caldata: allow an external universal sanctorale to override the embedded one
The universal calendar of saints can now be refreshed or replaced without a rebuild: if ~/.config/lectio/sanctorale/of.ini (OF) or ef.ini (EF) is present and parses, caldata.Base uses it instead of the embedded calendar; a missing or malformed file falls back to the embedded default, so the binary stays self-contained and correct out of the box. Local diocesan/national additions keep layering on top via calendars/ + `use` (unchanged). The temporal cycle and precedence rules stay in code -- only the sanctorale is data. - caldata.SetSanctoraleDir hook (mirrors bible/naming/i18n); Base() prefers the external file per form. config.SanctoraleDir(); wired in the CLI, TUI and web entry points. Tests cover override, no-file, and malformed-file fallback. - README: new "Calendar of saints" section (two tiers: overlay via `use`, replace via sanctorale/<form>.ini); config comment notes the override.
Diffstat (limited to 'cmd/lectio-web')
-rw-r--r--cmd/lectio-web/main.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/cmd/lectio-web/main.go b/cmd/lectio-web/main.go
index 59ea1e7..fb7f185 100644
--- a/cmd/lectio-web/main.go
+++ b/cmd/lectio-web/main.go
@@ -8,6 +8,7 @@ import (
"os"
"github.com/lukaszkasprzak/lectio/internal/bible"
+ "github.com/lukaszkasprzak/lectio/internal/caldata"
"github.com/lukaszkasprzak/lectio/internal/config"
"github.com/lukaszkasprzak/lectio/internal/i18n"
"github.com/lukaszkasprzak/lectio/internal/naming"
@@ -60,6 +61,9 @@ func run(args []string, stdout, stderr io.Writer) int {
if dir, err := config.UIDir(); err == nil {
i18n.SetUserDir(dir)
}
+ if dir, err := config.SanctoraleDir(); err == nil {
+ caldata.SetSanctoraleDir(dir)
+ }
var offline bool
var port int