summaryrefslogtreecommitdiff
path: root/internal/cli/cli.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 11:57:45 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 11:57:45 +0200
commitfeede51697be870ae183a95b513ef64f031dbd0f (patch)
tree6700a80f996d2bba204c0452db2d2bbc16bff619 /internal/cli/cli.go
parent626f2275438a37e5cd2efb5964281b9bef5ce8cc (diff)
downloadlectio-feede51697be870ae183a95b513ef64f031dbd0f.tar.gz
lectio-feede51697be870ae183a95b513ef64f031dbd0f.zip
feat(readings): compute the daily view offline (OF + EF)
Route readings.Load through the embedded calendar engine and lectionary data instead of the niedziela/missalemeum scrapers. The daily view now computes each day (calendar.Compute + caldata.Readings) and renders text from the public-domain corpora, with citations resolved per corpus. - bible.OFRef: normalise an English-canonical OF citation (drop sub-verse letters, ";" -> ",") and renumber Psalms for the target Psalter (Hebrew->Vulgate chapter for vul/grb/wuj; DRB title-fold verses for drb). - liturgy.Section gains Ref (English-canonical lookup ref) alongside Citation (sigla-dialect display); the loader fills both, resolveRef uses Ref, headings/citation command show Citation. - EffectiveVersions always drops "bt" (no offline corpus); the single daily version defaults to vernacularVersion (reading corpus else Latin). Scraper packages remain in the tree, unreferenced, pending removal.
Diffstat (limited to 'internal/cli/cli.go')
-rw-r--r--internal/cli/cli.go28
1 files changed, 11 insertions, 17 deletions
diff --git a/internal/cli/cli.go b/internal/cli/cli.go
index f65774f..d671c91 100644
--- a/internal/cli/cli.go
+++ b/internal/cli/cli.go
@@ -396,19 +396,9 @@ func gospelCitation(sec liturgy.Section) string {
// is parsed to canonical and re-rendered in the target dialect; a citation
// whose book can't be parsed comes back in its source form unchanged.
func dialectCitation(cfg config.Config, tbl *bible.BookTable, sec liturgy.Section) string {
- raw := gospelCitation(sec)
- if raw == "" || tbl == nil {
- return raw
- }
- sourceLang := "pl"
- if cfg.Lectionary == "traditional" {
- sourceLang = cfg.TraditionalLang
- }
- canonical, ok := tbl.ParseRef(sourceLang, raw)
- if !ok {
- return raw
- }
- return tbl.FormatRef(cfg.SiglaLang(), canonical)
+ // The offline loader already rendered Citation in the reader's sigla dialect
+ // (see readings.citationForms), so the gospel reference is shown as-is.
+ return gospelCitation(sec)
}
// runExport handles --md/--pdf: load the day's readings and write them as
@@ -425,8 +415,8 @@ func runExport(cfg config.Config, date, version string, all, refresh, asPDF bool
fmt.Fprintln(stderr, "lectio: no readings found for", date)
return 1
}
- if vs := render.EffectiveVersions([]string{version}, cfg.Lectionary, cfg.Offline); len(vs) > 0 {
- version = vs[0]
+ if version == "" || version == "bt" {
+ version = vernacularVersion(cfg)
}
var data []byte
@@ -747,8 +737,12 @@ func fetchAndPrint(cfg config.Config, version, date string, all, raw bool, width
return 1
}
- if vs := render.EffectiveVersions([]string{version}, cfg.Lectionary, cfg.Offline); len(vs) > 0 {
- version = vs[0]
+ // The single-version daily view renders lectio's own reading corpus (an
+ // explicit reading_version, else the vernacular that matches the UI
+ // language, else the complete Latin Vulgate -- the same choice -L makes),
+ // so the former "bt" niedziela default now maps to a real, offline corpus.
+ if version == "" || version == "bt" {
+ version = vernacularVersion(cfg)
}
w := resolveWidth(width, false, stdout)