summaryrefslogtreecommitdiff
path: root/internal/caldata
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 16:17:18 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-27 16:17:18 +0200
commita1e041dfbe55194c7fea0636d38cff33ee28315d (patch)
tree1138c5cbf5ca008dc3da11e93634c1017c63eeef /internal/caldata
parentde102e446a715883c74e6295ff223e37e397f5ed (diff)
downloadlectio-a1e041dfbe55194c7fea0636d38cff33ee28315d.tar.gz
lectio-a1e041dfbe55194c7fea0636d38cff33ee28315d.zip
feat(ef): complete offline EF readings — proper ferias, deuterocanon, Latin fallback
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-<season>-<week>-<weekday>" 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-<weekday>" 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.
Diffstat (limited to 'internal/caldata')
-rw-r--r--internal/caldata/tridentine-lectionary.ini354
1 files changed, 353 insertions, 1 deletions
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.