diff options
| -rw-r--r-- | internal/caldata/roman-calendar.ini | 163 | ||||
| -rw-r--r-- | scripts/gen-sanctoral.go | 21 |
2 files changed, 74 insertions, 110 deletions
diff --git a/internal/caldata/roman-calendar.ini b/internal/caldata/roman-calendar.ini index 8804612..a11655c 100644 --- a/internal/caldata/roman-calendar.ini +++ b/internal/caldata/roman-calendar.ini @@ -61,29 +61,21 @@ name.en = Saint Anthony of Egypt, abbot name.pl = św. Antoniego, opata name.la = S. Antonii, abbatis -[the-memorial-of-the-blessed-virgin-mary-on-saturday] -date = 01-18 -rank = optional -class = bvm -colour = white -name.en = The Memorial of the Blessed Virgin Mary on Saturday -name.la = The Memorial of the Blessed Virgin Mary on Saturday - -[sebastian-martyr] +[fabian-pope-and-martyr] date = 01-20 rank = optional class = saint colour = red -name.en = Saint Sebastian, martyr -name.la = S. Sebastiani, martyris +name.en = Saint Fabian, pope and martyr +name.la = S. Fabiani, papae et martyris -[fabian-pope-and-martyr] +[sebastian-martyr] date = 01-20 rank = optional class = saint colour = red -name.en = Saint Fabian, pope and martyr -name.la = S. Fabiani, papae et martyris +name.en = Saint Sebastian, martyr +name.la = S. Sebastiani, martyris [agnes-virgin-and-martyr] date = 01-21 @@ -160,7 +152,6 @@ rank = feast class = lord colour = white name.en = Presentation of the Lord -name.pl = Ofiarowania Pańskiego name.la = IN PRAESENTATIONE DOMINI [ansgar-bishop] @@ -197,21 +188,21 @@ name.en = Saints Paul Miki and companions, martyrs name.pl = świętych męczenników Pawła Miki i Towarzyszy name.la = Ss. Pauli Miki et sociorum, martyrum -[jerome-emiliani-priest] +[josephine-bakhita-virgin] date = 02-08 rank = optional class = saint colour = white -name.en = Saint Jerome Emiliani, priest -name.la = S. Hieronymi Emiliani +name.en = Saint Josephine Bakhita, virgin +name.la = S. Iosephinae Bakhita, virginis -[josephine-bakhita-virgin] +[jerome-emiliani-priest] date = 02-08 rank = optional class = saint colour = white -name.en = Saint Josephine Bakhita, virgin -name.la = S. Iosephinae Bakhita, virginis +name.en = Saint Jerome Emiliani, priest +name.la = S. Hieronymi Emiliani [scholastica-virgin] date = 02-10 @@ -346,14 +337,6 @@ colour = red name.en = Saint Mark the Evangelist name.la = S. Marci, evangelistae -[peter-chanel-priest-and-martyr] -date = 04-28 -rank = optional -class = saint -colour = red -name.en = Saint Peter Chanel, priest and martyr -name.la = S. Petri Chanel, presbyteri et martyris - [louis-grignon-de-montfort-priest] date = 04-28 rank = optional @@ -362,6 +345,14 @@ colour = white name.en = Saint Louis Grignon de Montfort, priest name.la = S. Ludovici Mariae Grignion de Montfort, presbyteri +[peter-chanel-priest-and-martyr] +date = 04-28 +rank = optional +class = saint +colour = red +name.en = Saint Peter Chanel, priest and martyr +name.la = S. Petri Chanel, presbyteri et martyris + [catherine-of-siena-virgin-and-doctor-of-the-church] date = 04-29 rank = memorial @@ -470,6 +461,14 @@ colour = white name.en = Saint Rita of Cascia name.la = S. Ritae de Cascia, religiosae +[mary-magdalene-de-pazzi-virgin] +date = 05-25 +rank = optional +class = saint +colour = white +name.en = Saint Mary Magdalene de Pazzi, virgin +name.la = S. Mariae Magdalenae de' Pazzi, virginis + [bede-the-venerable-priest-and-doctor] date = 05-25 rank = optional @@ -486,14 +485,6 @@ colour = white name.en = Saint Gregory VII, pope name.la = S. Gregorii VII, papae -[mary-magdalene-de-pazzi-virgin] -date = 05-25 -rank = optional -class = saint -colour = white -name.en = Saint Mary Magdalene de Pazzi, virgin -name.la = S. Mariae Magdalenae de' Pazzi, virginis - [philip-neri-priest] date = 05-26 rank = memorial @@ -562,15 +553,6 @@ colour = white name.en = Saint Norbert, bishop name.la = S. Norberti, episcopi -[mary-mother-of-the-church] -date = 06-09 -rank = memorial -class = saint -colour = white -name.en = Mary, Mother of the Church -name.pl = Najświętszej Maryi Panny Matki Kościoła -name.la = Mary, Mother of the Church - [ephrem-deacon-and-doctor] date = 06-09 rank = optional @@ -597,15 +579,6 @@ name.en = Saint Anthony of Padua, priest and doctor name.pl = św. Antoniego z Padwy, prezbitera i doktora Kościoła name.la = S. Antonii de Padova, presbyteri et Ecclesiae doctoris -[trinity-sunday] -date = 06-15 -rank = solemnity -class = saint -colour = white -name.en = Trinity Sunday -name.pl = Najświętszej Trójcy -name.la = Trinity Sunday - [romuald-abbot] date = 06-19 rank = optional @@ -656,14 +629,6 @@ colour = white name.en = Saint Cyril of Alexandria, bishop and doctor name.la = S. Cyrilli Alexandrini, episcopi et Ecclesiae doctoris -[the-immaculate-heart-of-mary] -date = 06-28 -rank = optional -class = bvm -colour = white -name.en = The Immaculate Heart of Mary -name.la = The Immaculate Heart of Mary - [irenaeus-bishop-and-martyr] date = 06-28 rank = optional @@ -678,7 +643,6 @@ rank = solemnity class = saint colour = red name.en = Saints Peter and Paul, Apostles -name.pl = świętych Apostołów Piotra i Pawła name.la = Ss. PETRI ET PAULI, APOSTOLORUM [first-martyrs-of-the-church-of-rome] @@ -866,21 +830,21 @@ name.en = Saint Alphonsus Maria de Liguori, bishop and doctor of the Church name.pl = św. Alfonsa Marii Liguoriego, biskupa i doktora Kościoła name.la = S. Alfonsi Mariae de' Liguori, episcopi et Ecclesiae doctoris -[eusebius-of-vercelli-bishop] +[peter-julian-eymard-priest] date = 08-02 rank = optional class = saint colour = white -name.en = Saint Eusebius of Vercelli, bishop -name.la = S. Eusebii Vercellensis, episcopi +name.en = Saint Peter Julian Eymard, priest +name.la = S. Petri Iuliani Eymard, presbyteri -[peter-julian-eymard-priest] +[eusebius-of-vercelli-bishop] date = 08-02 rank = optional class = saint colour = white -name.en = Saint Peter Julian Eymard, priest -name.la = S. Petri Iuliani Eymard, presbyteri +name.en = Saint Eusebius of Vercelli, bishop +name.la = S. Eusebii Vercellensis, episcopi [jean-vianney-the-cure-of-ars-priest] date = 08-04 @@ -1143,7 +1107,6 @@ rank = feast class = lord colour = red name.en = Triumph of the Holy Cross -name.pl = Podwyższenia Krzyża Świętego name.la = IN EXALTATIONE SANCTAE CRUCIS [our-lady-of-sorrows] @@ -1342,21 +1305,21 @@ name.en = Saint Teresa of Jesus, virgin and doctor name.pl = św. Teresy od Jezusa, dziewicy i doktora Kościoła name.la = S. Teresiae a Iesu, virginis et Ecclesiae doctoris -[margaret-mary-alacoque-virgin] +[hedwig-religious] date = 10-16 rank = optional class = saint colour = white -name.en = Saint Margaret Mary Alacoque, virgin -name.la = S. Margaritae Mariae Alacoque, virginis +name.en = Saint Hedwig, religious +name.la = S. Hedvigis, religiosae -[hedwig-religious] +[margaret-mary-alacoque-virgin] date = 10-16 rank = optional class = saint colour = white -name.en = Saint Hedwig, religious -name.la = S. Hedvigis, religiosae +name.en = Saint Margaret Mary Alacoque, virgin +name.la = S. Margaritae Mariae Alacoque, virginis [ignatius-of-antioch-bishop-and-martyr] date = 10-17 @@ -1376,14 +1339,6 @@ name.en = Saint Luke the Evangelist name.pl = św. Łukasza, ewangelisty name.la = S. Lucae, evangelistae -[saints-jean-de-brebeuf-isaac-jogues-priests-and-martyrs-and-their-companions-martyrs] -date = 10-19 -rank = optional -class = saint -colour = red -name.en = Saints Jean de Brébeuf, Isaac Jogues, priests and martyrs; and their companions, martyrs -name.la = Ss. Ioannis de Brébeuf et Isaac Jogues, presbyterorum, et sociorum, martyrum - [paul-of-the-cross-priest] date = 10-19 rank = optional @@ -1392,6 +1347,14 @@ colour = white name.en = Saint Paul of the Cross, priest name.la = S. Pauli a Cruce, presbyteri +[saints-jean-de-brebeuf-isaac-jogues-priests-and-martyrs-and-their-companions-martyrs] +date = 10-19 +rank = optional +class = saint +colour = red +name.en = Saints Jean de Brébeuf, Isaac Jogues, priests and martyrs; and their companions, martyrs +name.la = Ss. Ioannis de Brébeuf et Isaac Jogues, presbyterorum, et sociorum, martyrum + [john-paul-ii-pope] date = 10-22 rank = optional @@ -1440,7 +1403,6 @@ rank = solemnity class = saint colour = white name.en = All Souls -name.pl = wszystkich wiernych zmarłych name.la = IN COMMEMORATIONE OMNIUM FIDELIUM DEFUNCTORUM [martin-de-porres-religious] @@ -1503,21 +1465,21 @@ colour = white name.en = Saint Albert the Great, bishop and doctor name.la = S. Alberti Magni, episcopi et Ecclesiae doctoris -[margaret-of-scotland] +[gertrude-the-great-virgin] date = 11-16 rank = optional class = saint colour = white -name.en = Saint Margaret of Scotland -name.la = S. Margaritae Scotiae +name.en = Saint Gertrude the Great, virgin +name.la = S. Gertrudis, virginis -[gertrude-the-great-virgin] +[margaret-of-scotland] date = 11-16 rank = optional class = saint colour = white -name.en = Saint Gertrude the Great, virgin -name.la = S. Gertrudis, virginis +name.en = Saint Margaret of Scotland +name.la = S. Margaritae Scotiae [elizabeth-of-hungary-religious] date = 11-17 @@ -1554,14 +1516,13 @@ name.en = Saint Cecilia, virgin and martyr name.pl = św. Cecylii, dziewicy i męczennicy name.la = S. Caeciliae, virginis et martyris -[christ-the-king] +[columban-religious] date = 11-23 -rank = solemnity +rank = optional class = saint colour = white -name.en = Christ The King -name.pl = Jezusa Chrystusa Króla Wszechświata -name.la = Christ The King +name.en = Saint Columban, religious +name.la = S. Columbani, abbatis [clement-i-pope-and-martyr] date = 11-23 @@ -1571,14 +1532,6 @@ colour = red name.en = Saint Clement I, pope and martyr name.la = S. Clementis I, papae et martyris -[columban-religious] -date = 11-23 -rank = optional -class = saint -colour = white -name.en = Saint Columban, religious -name.la = S. Columbani, abbatis - [andrew-dung-lac-and-his-companions-martyrs] date = 11-24 rank = memorial diff --git a/scripts/gen-sanctoral.go b/scripts/gen-sanctoral.go index 561bec0..6d81d66 100644 --- a/scripts/gen-sanctoral.go +++ b/scripts/gen-sanctoral.go @@ -112,6 +112,15 @@ func main() { entries := map[string]entry{} // slug -> entry (first year wins per slug) + // Genuinely MOVABLE celebrations tied to the temporal cycle (no fixed date): + // a fixed-date sanctoral cannot represent them; they need temporal-engine + // support. Skipped here (tracked as a known gap). + movableSkip := map[string]bool{ + "mary-mother-of-the-church": true, // Monday after Pentecost + "the-immaculate-heart-of-mary": true, // Saturday after the Sacred Heart + "the-memorial-of-the-blessed-virgin-mary-on-saturday": true, // any free Saturday + } + // Reference years: cover every weekday so a saint whose date is a Sunday in // one year is captured in another. 2025 is past -> niedziela gives pl names. for _, y := range []int{2025, 2026, 2027} { @@ -134,10 +143,12 @@ func main() { // Christmas, Easter cycle, etc.). Sanctoral dates are ferial (or a // plain Sunday) in the pure temporal. temp := calendar.Compute(t, sel, nil) - if temp.Observed.Rank == calendar.RankSolemnity && t.Weekday() != time.Sunday { - continue - } - if temp.Observed.Rank == calendar.RankFeast { + // Skip dates the temporal engine owns: Sundays and its own + // solemnities/feasts (Christmas & Easter cycles, Christ the King, + // Trinity, Corpus Christi, …). Sanctoral saints are captured on their + // weekday (ferial) occurrences -- and since a fixed date lands on a + // weekday in most years, one reference year suffices per saint. + if temp.Observed.Rank == calendar.RankSolemnity || temp.Observed.Rank == calendar.RankFeast { continue } // Polish name for the observed (obligatory) celebration, 2025 only. @@ -153,7 +164,7 @@ func main() { continue // "ferial" or unknown -> not a sanctoral saint } slug := slugify(c.Title) - if slug == "" { + if slug == "" || movableSkip[slug] { continue } if _, seen := entries[slug]; seen { |
