diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/caldata/of-lectionary.ini | 150 | ||||
| -rw-r--r-- | internal/caldata/of_test.go | 3 | ||||
| -rw-r--r-- | internal/calendar/temporal.go | 12 |
3 files changed, 164 insertions, 1 deletions
diff --git a/internal/caldata/of-lectionary.ini b/internal/caldata/of-lectionary.ini index 8d36425..41b68cb 100644 --- a/internal/caldata/of-lectionary.ini +++ b/internal/caldata/of-lectionary.ini @@ -5000,3 +5000,153 @@ gospel = John 16:16-20 first = The Acts 18:1-8 psalm = Psalms 98:1,2-3ab,3cd-4 gospel = John 16:16-20 + +[christmas-dec-29-I] +first = 1 John 2:3-11 +psalm = Psalms 96:1-2a,2b-3,5b-6 +gospel = Luke 2:22-35 + +[christmas-dec-29-II] +first = 1 John 2:3-11 +psalm = Psalms 96:1-2a,2b-3,5b-6 +gospel = Luke 2:22-35 + +[christmas-dec-30-I] +first = 1 John 2:12-17 +psalm = Psalms 96:7-8a,8b-9,10 +gospel = Luke 2:36-40 + +[christmas-dec-30-II] +first = 1 John 2:12-17 +psalm = Psalms 96:7-8a,8b-9,10 +gospel = Luke 2:36-40 + +[christmas-dec-31-I] +first = 1 John 2:18-21 +psalm = Psalms 96:1-2,11-12,13 +gospel = John 1:1-18 + +[christmas-dec-31-II] +first = 1 John 2:18-21 +psalm = Psalms 96:1-2,11-12,13 +gospel = John 1:1-18 + +[christmas-jan-2-I] +first = 1 John 2:22-28 +psalm = Psalms 98:1,2-3ab,3cd-4 +gospel = John 1:19-28 + +[christmas-jan-2-II] +first = 1 John 2:22-28 +psalm = Psalms 98:1,2-3ab,3cd-4 +gospel = John 1:19-28 + +[christmas-jan-3-I] +first = 1 John 2:29-3:6 +psalm = Psalms 98:1,3cd-4,5-6 +gospel = John 1:29-34 + +[christmas-jan-3-II] +first = 1 John 2:29-3:6 +psalm = Psalms 98:1,3cd-4,5-6 +gospel = John 1:29-34 + +[christmas-jan-4-I] +first = 1 John 3:7-10 +psalm = Psalms 98:1,7-8,9 +gospel = John 1:35-42 + +[christmas-jan-4-II] +first = 1 John 3:7-10 +psalm = Psalms 98:1,7-8,9 +gospel = John 1:35-42 + +[christmas-jan-5-I] +first = 1 John 3:11-21 +psalm = Psalms 100:1b-2,3,4,5 +gospel = John 1:43-51 + +[christmas-jan-5-II] +first = 1 John 3:11-21 +psalm = Psalms 100:1b-2,3,4,5 +gospel = John 1:43-51 + +[christmas-jan-6-I] +first = 1 John 5:5-13 +psalm = Psalms 147:12-13,14-15,19-20 +gospel = Mark 1:7-11 + +[christmas-jan-6-II] +first = 1 John 5:5-13 +psalm = Psalms 147:12-13,14-15,19-20 +gospel = Mark 1:7-11 + +[christmas-jan-7-I] +first = 1 John 5:14-21 +psalm = Psalms 149:1-2,3-4,5+6a+9b +gospel = John 2:1-11 + +[christmas-jan-7-II] +first = 1 John 5:14-21 +psalm = Psalms 149:1-2,3-4,5+6a+9b +gospel = John 2:1-11 + +[christmas-after-epiphany-mon-I] +first = 1 John 3:22-4:6 +psalm = Psalms 2:7bc-8,10-12a +gospel = Matthew 4:12-17,23-25 + +[christmas-after-epiphany-mon-II] +first = 1 John 3:22-4:6 +psalm = Psalms 2:7bc-8,10-12a +gospel = Matthew 4:12-17,23-25 + +[christmas-after-epiphany-tue-I] +first = 1 John 4:7-10 +psalm = Psalms 72:1-2,3-4,7-8 +gospel = Mark 6:34-44 + +[christmas-after-epiphany-tue-II] +first = 1 John 4:7-10 +psalm = Psalms 72:1-2,3-4,7-8 +gospel = Mark 6:34-44 + +[christmas-after-epiphany-wed-I] +first = 1 John 4:11-18 +psalm = Psalms 72:1-2,10,12-13 +gospel = Mark 6:45-52 + +[christmas-after-epiphany-wed-II] +first = 1 John 4:11-18 +psalm = Psalms 72:1-2,10,12-13 +gospel = Mark 6:45-52 + +[christmas-after-epiphany-thu-I] +first = 1 John 4:19-5:4 +psalm = Psalms 72:1-2,14+15bc,17 +gospel = Luke 4:14-22a + +[christmas-after-epiphany-thu-II] +first = 1 John 4:19-5:4 +psalm = Psalms 72:1-2,14+15bc,17 +gospel = Luke 4:14-22a + +[christmas-after-epiphany-fri-I] +first = 1 John 5:5-13 +psalm = Psalms 147:12-13,14-15,19-20 +gospel = Luke 5:12-16 + +[christmas-after-epiphany-fri-II] +first = 1 John 5:5-13 +psalm = Psalms 147:12-13,14-15,19-20 +gospel = Luke 5:12-16 + +[christmas-after-epiphany-sat-I] +first = 1 John 5:14-21 +psalm = Psalms 149:1-2,3-4,5+6a+9b +gospel = John 3:22-30 + +[christmas-after-epiphany-sat-II] +first = 1 John 5:14-21 +psalm = Psalms 149:1-2,3-4,5+6a+9b +gospel = John 3:22-30 diff --git a/internal/caldata/of_test.go b/internal/caldata/of_test.go index 086883a..ca5cc24 100644 --- a/internal/caldata/of_test.go +++ b/internal/caldata/of_test.go @@ -95,6 +95,9 @@ func TestOFSeasonalFerials(t *testing.T) { {"easter-octave-mon-I", "Acts 2:14"}, // was absent {"advent-dec-17-I", "Genesis 49"}, {"advent-dec-24-I", "2 Samuel 7"}, + {"christmas-dec-29-I", "1 John 2:3-11"}, // Christmas octave, by date + {"christmas-jan-2-I", "1 John 2:22-28"}, // before Epiphany, by date + {"christmas-after-epiphany-mon-I", "1 John 3:22"}, // after Epiphany, by weekday } { var first string for _, r := range TemporalReadings("new", tc.key) { diff --git a/internal/calendar/temporal.go b/internal/calendar/temporal.go index dadae49..b0dc653 100644 --- a/internal/calendar/temporal.go +++ b/internal/calendar/temporal.go @@ -223,13 +223,23 @@ func temporal(date time.Time, sel Selection) temporalDay { return ferialDay(Advent, "advent-"+itoa(week)+"-"+weekdayAbbr(wd), Violet, week, privFeria) case !date.Before(christmasThis): // Dec 25..Dec 31 — Christmas octave + // The octave-day ferials (Dec 29-31) have readings proper to the date; + // Dec 25-28 are the Nativity and its feasts (Stephen/John/Innocents). + if date.Day() >= 29 { + return ferialDay(Christmas, "christmas-dec-"+itoa(date.Day()), White, 0, false) + } return ferialDay(Christmas, "christmas-octave-"+weekdayAbbr(wd), White, 0, false) case !date.After(baptismThis): // Jan 1..Baptism — Christmas season if sun { return sundayDay(Christmas, "christmas-sunday-"+weekdayAbbr(wd), White, 0) } - return ferialDay(Christmas, "christmas-"+weekdayAbbr(wd), White, 0, false) + // Before Epiphany the weekdays are proper to the date (Jan 2-7); after + // Epiphany they are keyed by weekday (the days before the Baptism). + if date.Before(epiphany(y, sel)) { + return ferialDay(Christmas, "christmas-jan-"+itoa(date.Day()), White, 0, false) + } + return ferialDay(Christmas, "christmas-after-epiphany-"+weekdayAbbr(wd), White, 0, false) default: // Ordinary Time (span 1: after Baptism..before Lent; span 2: after Pentecost..before Advent) var week int |
