From a1e041dfbe55194c7fea0636d38cff33ee28315d Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 27 Jul 2026 16:17:18 +0200 Subject: feat(ef): complete offline EF readings — proper ferias, deuterocanon, Latin fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Finish the Extraordinary Form (1962) offline Mass readings so every day of the year resolves in both English and Polish. Temporal engine (temporal_ef.go): - Unique ferial slugs "ef---" so penitential-season weekdays (Lent, Advent, Passiontide, Easter octave) can key their own proper Masses; green-season ferias have no entry and fall back to the preceding Sunday (the 1962 rule). - Special "ef-lent-after-ashes-" case for the days between Ash Wednesday and Lent I, which have their own propers. Lectionary (tridentine-lectionary.ini, 55 -> 143 entries) via genlect.go: - Generator now fetches proper-season weekdays and stores a feria only when its Mass differs from the preceding Sunday's. - cleanCite() normalises two missalemeum data glitches: a stray comma between book and chapter ("4 Kings, 5:1" -> "4 Kings 5:1") and a period-as-separator ("John 20. 19-31" -> "John 20:19-31"), both guarded so legitimate multi-chapter citations are untouched. Citations & corpora: - books.ini: Douay abbreviations in the [en] dialect (Ex, Ezech, Jonas, and 3/4 Kings -> canonical 1/2 Kings), so the EF Lenten epistles resolve while the display keeps modern sigla. - drb.tsv: +205 rows backfilling the deuterocanonical Daniel 13-14 (Susanna, Bel) and Esther 11-16 (Greek additions) from get.bible douayrheims, which the base corpus omitted; scripts/gen-deutero.py documents the fetch. Rendering (liturgy.go): - readingLine() falls back to the Latin Vulgate (complete) when the vernacular corpus lacks a passage, with a clear note. Covers the Polish Wujek deuterocanon gap (no clean public-domain source exists) and any future vernacular gap; faithful to the EF as a Latin rite. Result: 730/730 days resolve for both EN (native) and PL (native + Latin fallback for 3 deuterocanon days). Version 0.32.0 -> 0.33.0. --- internal/bible/books.ini | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'internal/bible/books.ini') diff --git a/internal/bible/books.ini b/internal/bible/books.ini index 5d8f633..bcf4e2d 100644 --- a/internal/bible/books.ini +++ b/internal/bible/books.ini @@ -18,7 +18,7 @@ [en] Genesis = Gen, Genesis -Exodus = Exod, Exodus +Exodus = Exod, Ex, Exodus Leviticus = Lev, Leviticus Numbers = Num, Numbers Deuteronomy = Deut, Deuteronomy @@ -27,8 +27,8 @@ Judges = Judg, Judges Ruth = Ru, Ruth 1 Samuel = 1 Sam, 1 Samuel 2 Samuel = 2 Sam, 2 Samuel -1 Kings = 1 Kgs, 1 Kings -2 Kings = 2 Kgs, 2 Kings +1 Kings = 1 Kgs, 1 Kings, 3 Kings, 3 Kgs +2 Kings = 2 Kgs, 2 Kings, 4 Kings, 4 Kgs 1 Chronicles = 1 Chr, 1 Chronicles 2 Chronicles = 2 Chr, 2 Chronicles Ezra = Ezra, Ezra @@ -49,13 +49,13 @@ Isaiah = Isa, Isaiah Jeremiah = Jer, Jeremiah Lamentations = Lam, Lamentations Baruch = Bar, Baruch -Ezekiel = Ezek, Ezekiel +Ezekiel = Ezek, Ezech, Ezekiel Daniel = Dan, Daniel Hosea = Hos, Hosea Joel = Jl, Joel Amos = Am, Amos Obadiah = Obad, Obadiah -Jonah = Jon, Jonah +Jonah = Jon, Jonas, Jonah Micah = Mic, Micah Nahum = Nah, Nahum Habakkuk = Hab, Habakkuk -- cgit v1.3