diff options
Diffstat (limited to 'internal/caldata/readings.go')
| -rw-r--r-- | internal/caldata/readings.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/caldata/readings.go b/internal/caldata/readings.go index 44d1bc1..d082e26 100644 --- a/internal/caldata/readings.go +++ b/internal/caldata/readings.go @@ -63,6 +63,9 @@ func Readings(sel calendar.Selection, layers []calendar.Layer, date time.Time, d if r := efNativityOctaveReadings(day); len(r) > 0 { return r } + if r := efEpiphanytideOpeningReadings(day); len(r) > 0 { + return r + } if r := TemporalReadings("old", day.Observed.Slug); len(r) > 0 { return r } @@ -188,3 +191,34 @@ func efNativityOctaveReadings(day calendar.LiturgicalDay) []calendar.Reading { {Part: "gospel", Citation: "Luke 2:15-20"}, } } + +// efEpiphanytideOpeningReadings returns the Mass of a FERIAL day from 2 to 5 +// January. +// +// The Missal's rubric at the Most Holy Name of Jesus says so directly: +// "Diebus ferialibus a 2 ad 5 ianuarii Missa dicitur ut die 1 ianuarii" -- on +// the ferial days from the 2nd to the 5th of January, the Mass of 1 January +// (the Circumcision) is said. Titus 2:11-15 / Luke 2:21. +// +// Without this the days fell back through the walk-back to the Sunday within +// the Octave of the Nativity and read Gal 4:1-7 instead. +// +// FERIAL days only, which excludes two things on purpose. The Sunday in that +// window carries the Holy Name (RG 17(a)) and has its own Mass; and an +// otherwise-unoccupied Saturday carries Our Lady's office (RG 78) and hers, +// which is why the BVM check runs before this one and why 3 January 2026 -- +// a Saturday -- correctly reads Titus 3:4-7 rather than 2:11-15. +func efEpiphanytideOpeningReadings(day calendar.LiturgicalDay) []calendar.Reading { + if day.Date.Month() != time.January || day.Date.Day() < 2 || day.Date.Day() > 5 { + return nil + } + // The feria, not a feast or a Sunday that outranks it: the observed office + // must still be the temporal ferial one. + if !strings.HasPrefix(day.Observed.Slug, "ef-christmas-") || day.Weekday == time.Sunday { + return nil + } + return []calendar.Reading{ + {Part: "first", Citation: "Titus 2:11-15"}, + {Part: "gospel", Citation: "Luke 2:21"}, + } +} |
