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/caldata/tridentine-lectionary.ini | 354 ++++++++++++++++++++++++++++- 1 file changed, 353 insertions(+), 1 deletion(-) (limited to 'internal/caldata/tridentine-lectionary.ini') diff --git a/internal/caldata/tridentine-lectionary.ini b/internal/caldata/tridentine-lectionary.ini index d0002ad..372be6b 100644 --- a/internal/caldata/tridentine-lectionary.ini +++ b/internal/caldata/tridentine-lectionary.ini @@ -1,6 +1,82 @@ ; EF (1962) temporal lectionary, keyed by lectio's computed temporal-day slug. ; Generated from missalemeum (Divinum Officium). Epistle (first) + Gospel citations. +[ef-advent-1-friday] +first = Heb 13:7-17 +gospel = Matt 25:14-23 + +[ef-advent-1-monday] +first = Sir 51:13-17. +gospel = Matt 13:44-52. + +[ef-advent-1-saturday] +first = 2 Tim 4:1-8 +gospel = Matt 5:13-19 + +[ef-advent-1-tuesday] +first = Rom 10:10-18 +gospel = Mark 16:15-18 + +[ef-advent-1-wednesday] +first = 2 Tim 4:1-8 +gospel = Matt 5:13-19 + +[ef-advent-2-friday] +first = 2 Cor 10:17-18; 11:1-2 +gospel = Matt 13:44-52. + +[ef-advent-2-monday] +first = Rom 15:4-13 +gospel = Matt 11:2-10 + +[ef-advent-2-saturday] +first = Rom 15:4-13 +gospel = Matt 11:2-10 + +[ef-advent-2-thursday] +first = Rom 15:4-13 +gospel = Matt 11:2-10 + +[ef-advent-2-tuesday] +first = Rom 15:4-13 +gospel = Matt 11:2-10 + +[ef-advent-2-wednesday] +first = 1 Pet 5:1-4; 5:10-11. +gospel = Matt 16:13-19 + +[ef-advent-3-friday] +first = Isa 11:1-5 +gospel = Luke 1:39-47 + +[ef-advent-3-monday] +first = 2 Cor. 1:3-7 +gospel = Matt 16:24-27. + +[ef-advent-3-saturday] +first = Eph 2:19-22 +gospel = John 20:24-29 + +[ef-advent-3-wednesday] +first = Isa 7:10-15 +gospel = Luke 1:26-38 + +[ef-advent-4-friday] +first = Rom 1:1-6 +gospel = Matt 1:18-21 + +[ef-advent-4-thursday] +first = Rom 1:1-6 +gospel = Matt 1:18-21 + +[ef-advent-4-tuesday] +first = Rom 1:1-6 +gospel = Matt 1:18-21 + +[ef-advent-4-wednesday] +first = Rom 1:1-6 +gospel = Matt 1:18-21 + [ef-advent-sunday-1] first = Rom 13:11-14 gospel = Luke 21:25-33 @@ -17,6 +93,14 @@ gospel = John 1:19-28 first = 1 Cor. 4:1-5 gospel = Luke 3:1-6 +[ef-ascension] +first = Acts 1:1-11 +gospel = Mark 16:14-20 + +[ef-ash-wednesday] +first = Joel 2:12-19 +gospel = Matt 6:16-21 + [ef-christ-the-king] first = Col 1:12-20. gospel = John 18:33-37 @@ -25,6 +109,142 @@ gospel = John 18:33-37 first = Gal 4:1-7 gospel = Luke 2:33-40 +[ef-easter-1-friday] +first = 1 Pet 3:18-22 +gospel = Matt 28:16-20 + +[ef-easter-1-monday] +first = Acts 10:37-43. +gospel = Luke 24:13-35 + +[ef-easter-1-saturday] +first = 1 Pet 2:1-10 +gospel = John 20:1-9 + +[ef-easter-1-thursday] +first = Acts 8:26-40 +gospel = John 20:11-18 + +[ef-easter-1-tuesday] +first = Acts 13:16; 13:26-33 +gospel = Luke 24:36-47 + +[ef-easter-1-wednesday] +first = Acts 3:13-15; 3:17-19 +gospel = John 21:1-14 + +[ef-easter-2-monday] +first = Isa 7:10-15 +gospel = Luke 1:26-38 + +[ef-easter-2-saturday] +first = Wis 10:10-14 +gospel = Luke 14:26-33. + +[ef-easter-2-thursday] +first = 1 Pet 5:1-4; 5:10-11. +gospel = Matt 16:13-19 + +[ef-easter-3-saturday] +first = Ecclus 24:14-16 +gospel = John 19:25-27 + +[ef-easter-4-friday] +first = 1 Pet 5:1-4; 5:10-11. +gospel = Matt 16:13-19 + +[ef-easter-4-monday] +first = 1 Pet 5:1-4; 5:10-11. +gospel = Matt 16:13-19 + +[ef-easter-4-saturday] +first = 2 Tim 4:1-8 +gospel = Matt 5:13-19 + +[ef-easter-4-thursday] +first = Ezek 1:10-14 +gospel = Luke 10:1-9 + +[ef-easter-4-wednesday] +first = Wis 5:1-5 +gospel = John 15:1-7 + +[ef-easter-5-monday] +first = 2 Tim. 2:8-10; 3:10-12. +gospel = Matt 10:34-42 + +[ef-easter-5-saturday] +first = 1 Tim. 5:3-10. +gospel = Luke 7:11-16 + +[ef-easter-5-thursday] +first = 2 Cor. 4:5-14 +gospel = Matt 10:23-28 + +[ef-easter-5-tuesday] +first = 2 Cor 10:17-18; 11:1-2 +gospel = Matt 25:1-13. + +[ef-easter-5-wednesday] +first = Col. 3:14-15, 17, 23-24 +gospel = Matt 13:54-58 + +[ef-easter-6-friday] +first = Sir 44:16-27; 45:3-20 +gospel = Matt 25:14-23 + +[ef-easter-6-saturday] +first = Wis. 5:1-5 +gospel = John 14:1-13 + +[ef-easter-6-tuesday] +first = Wis 5:1-5 +gospel = John 15:1-7 + +[ef-easter-6-wednesday] +first = Eph. 4:7-13. +gospel = John 17:1-11. + +[ef-easter-7-friday] +first = Sir 31:8-11 +gospel = Luke 12:35-40 + +[ef-easter-7-monday] +first = Wis 7:7-14. +gospel = Matt 5:13-19 + +[ef-easter-7-saturday] +first = Acts 19:1-8. +gospel = John 14:15-21. + +[ef-easter-7-wednesday] +first = Sir 31:8-11 +gospel = Matt 18:1-5 + +[ef-easter-8-friday] +first = Joel 2:23-24; 26-27 +gospel = Luke 5:17-26 + +[ef-easter-8-monday] +first = Acts 10:34, 42-48 +gospel = John 3:16-21 + +[ef-easter-8-saturday] +first = Rom 5:1-5. +gospel = Luke 4:38-44. + +[ef-easter-8-thursday] +first = Acts 8:5-8 +gospel = Luke 9:1-6 + +[ef-easter-8-tuesday] +first = Acts 8:14-17. +gospel = John 10:1-10. + +[ef-easter-8-wednesday] +first = Acts 5:12-16 +gospel = John 6:44-52. + [ef-easter-sunday] first = 1 Cor 5:7-8 gospel = Mark 16:1-7 @@ -49,6 +269,114 @@ gospel = John 16:23-30 first = 1 Pet 4:7-11. gospel = John 15:26-27; 16:1-4. +[ef-lent-1-friday] +first = Ezech 18:20-28 +gospel = John 5:1-15 + +[ef-lent-1-monday] +first = Ezech 34:11-16 +gospel = Matt 25:31-46 + +[ef-lent-1-saturday] +first = 1 Thess. 5:14-23 +gospel = Matt 17:1-9 + +[ef-lent-1-thursday] +first = 1 Pet 1:1-7 +gospel = Matt 16:13-19 + +[ef-lent-1-tuesday] +first = Isa 55:6-11 +gospel = Matt 21:10-17 + +[ef-lent-1-wednesday] +first = 3 Kgs. 19:3-8 +gospel = Matt 12:38-50 + +[ef-lent-2-friday] +first = Gen 37:6-22 +gospel = Matt 21:33-46 + +[ef-lent-2-monday] +first = Dan 9:15-19 +gospel = John 8:21-29 + +[ef-lent-2-saturday] +first = Gen 27:6-40 +gospel = Luke 15:11-32 + +[ef-lent-2-thursday] +first = Jer 17:5-10 +gospel = Luke 16:19-31 + +[ef-lent-2-tuesday] +first = 3 Kings 17:8-16 +gospel = Matt 23:1-12 + +[ef-lent-2-wednesday] +first = Esther 13:8-11; 15-17. +gospel = Matt 20:17-28 + +[ef-lent-3-friday] +first = Num 20:1, 3; 6-13. +gospel = John 4:5-42 + +[ef-lent-3-monday] +first = 4 Kings 5:1-15 +gospel = Luke 4:23-30 + +[ef-lent-3-saturday] +first = Dan 13:1-9, 15-17, 19-30, 33-62. +gospel = John 8:1-11 + +[ef-lent-3-thursday] +first = Jer 7:1-7 +gospel = Luke 4:38-44. + +[ef-lent-3-tuesday] +first = 4 Kings 4:1-7 +gospel = Matt 18:15-22 + +[ef-lent-3-wednesday] +first = Ex 20:12-24 +gospel = Matt 15:1-20 + +[ef-lent-4-friday] +first = 3 Kings 17:17-24 +gospel = John 11:1-45 + +[ef-lent-4-monday] +first = 3 Kings 3:16-28 +gospel = John 2:13-25 + +[ef-lent-4-saturday] +first = Isa 49:8-15 +gospel = John 8:12-20 + +[ef-lent-4-thursday] +first = 4 Kings 4:25-38 +gospel = Luke 7:11-16 + +[ef-lent-4-tuesday] +first = Ex 32:7-14 +gospel = John 7:14-31 + +[ef-lent-4-wednesday] +first = Isa. 1:16-19 +gospel = John 9:1-38 + +[ef-lent-after-ashes-friday] +first = Isa 58:1-9 +gospel = Matt 5:43-48; 6:1-4 + +[ef-lent-after-ashes-saturday] +first = Isa 58:9-14 +gospel = Mark 6:47-56 + +[ef-lent-after-ashes-thursday] +first = Isa 38:1-6 +gospel = Matt 8:5-13 + [ef-lent-sunday-1] first = 2 Cor. 6:1-10 gospel = Matt 4:1-11 @@ -67,7 +395,7 @@ gospel = John 6:1-15 [ef-low-sunday] first = 1 John 5:4-10 -gospel = John 20. 19-31 +gospel = John 20:19-31 [ef-palm-sunday] first = Phil 2:5-11 @@ -77,6 +405,30 @@ gospel = Matt. 26:36-75; 27:1-60. first = Heb 9:11-15. gospel = John 8:46-59. +[ef-passiontide-0-friday] +first = Jer 17:13-18 +gospel = John 11:47-54 + +[ef-passiontide-0-monday] +first = Jonas 3:1-10 +gospel = John 7:32-39 + +[ef-passiontide-0-saturday] +first = Jer 18:18-23 +gospel = John 12:10-36 + +[ef-passiontide-0-thursday] +first = Dan 3:25, 34-45. +gospel = Luke 7:36-50 + +[ef-passiontide-0-tuesday] +first = Jer 11:18-20 +gospel = Mark 14:32-72; 15, 1-46 + +[ef-passiontide-0-wednesday] +first = Lev 19:1-2, 11-19, 25 +gospel = John 10:22-38 + [ef-pentecost] first = Acts 2:1-11. gospel = John 14:23-31. -- cgit v1.3