Wire seasonal hymn-doxology into the Matins ferial hymn
The plain ferial hymn's Monastic source (Day1-6 Hymnus, Psalterium/Special/Matutinum Special.txt) carries a real "*" seasonal- substitution marker, live-checked against the reference engine. Splits the hymn's own natural doxology ending into a new per-annum companion file and swaps it via getHymnDoxologyId/appendDoxology, same pattern already used by Prime and Compline. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AGjUyhUZJaSjiniEmnLdak
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# The ferial Matins hymn's own natural doxology ending, split out of
|
||||
# matins-hymn-ferial.yml so hours/matins.ts can swap it seasonally via
|
||||
# hymn-doxology.ts — the reference source's weekday (Day1-6) Matins hymns
|
||||
# each carry a real "*" substitution marker here, live-checked in
|
||||
# Psalterium/Special/Matutinum Special.txt, all sharing this same Latin
|
||||
# ending; the Sunday (Day0) form has no such marker (its own doxology,
|
||||
# "Præstet hoc nobis Déitas beáta...", is fixed) — not modeled here since
|
||||
# vu's Matins doesn't distinguish Sunday from ferial (see matins.ts).
|
||||
# Text/status carried over unchanged from the original file.
|
||||
id: matins-hymn-doxology-per-annum
|
||||
text:
|
||||
la: "Præsta, Pater piíssime,\nPatríque compar Únice,\nCum Spíritu Paráclito\nRegnans per omne sǽculum. Amen."
|
||||
en: "Grant this, O Father ever One\nWith Christ, thy sole-begotten Son,\nAnd Holy Ghost, whom all adore,\nReigning and blest forevermore. Amen."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -4,6 +4,11 @@
|
||||
# year-round text; only this one (evidently the ordinary-time/per-annum
|
||||
# form) is authored so far. Seasonal variants deferred (see TODO.md),
|
||||
# same incremental-content pattern as everywhere else in this project.
|
||||
#
|
||||
# The closing doxology stanza is split out into
|
||||
# matins-hymn-doxology-per-annum.yml (see hours/matins.ts) — the source
|
||||
# carries a real "*" seasonal-substitution marker there (live-checked
|
||||
# 2026-09-03, Psalterium/Special/Matutinum Special.txt).
|
||||
id: matins-hymn-ferial
|
||||
text:
|
||||
la: >-
|
||||
@@ -41,15 +46,6 @@ text:
|
||||
Et ore te canéntium
|
||||
|
||||
Laudéris in perpétuum.
|
||||
|
||||
|
||||
Præsta, Pater piíssime,
|
||||
|
||||
Patríque compar Únice,
|
||||
|
||||
Cum Spíritu Paráclito
|
||||
|
||||
Regnans per omne sǽculum. Amen.
|
||||
en: >-
|
||||
Our limbs refreshed with slumber now,
|
||||
|
||||
@@ -85,15 +81,6 @@ text:
|
||||
That by their lips who thee adore
|
||||
|
||||
Thou mayst be praised forevermore.
|
||||
|
||||
|
||||
Grant this, O Father ever One
|
||||
|
||||
With Christ, thy sole-begotten Son,
|
||||
|
||||
And Holy Ghost, whom all adore,
|
||||
|
||||
Reigning and blest forevermore. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
+10
-1
@@ -76,9 +76,11 @@ import { getPsalmVerses } from '../psalter';
|
||||
import { getPsalmsFor, type PsalmRef } from '../psalter/distribution';
|
||||
import { getScriptureVerses } from '../scripture';
|
||||
import { getOpeningVersicleId } from './opening-versicle';
|
||||
import { getHymnDoxologyId } from './hymn-doxology';
|
||||
import { applyFlexaMark } from './antiphon';
|
||||
import {
|
||||
resolveCommon,
|
||||
appendDoxology,
|
||||
getDayCollect,
|
||||
getOfficeOverrideId,
|
||||
resolveOfficeWinner,
|
||||
@@ -454,7 +456,14 @@ function resolveMatinsHymn(day: LiturgicalDay): ResolvedText {
|
||||
return seasonal;
|
||||
}
|
||||
}
|
||||
return resolveCommon('matins-hymn-ferial');
|
||||
// The plain ferial hymn's own Monastic source (Day1-6 Hymnus, Psalterium/
|
||||
// Special/Matutinum Special.txt) carries a real seasonal-doxology
|
||||
// substitution marker (live-checked 2026-09-03) — unlike the Advent/
|
||||
// Paschaltide seasonal hymns above, whose Monastic forms are each fixed,
|
||||
// non-swapping text, so only this final fallback needs the swap.
|
||||
const body = resolveCommon('matins-hymn-ferial');
|
||||
const doxology = resolveCommon(getHymnDoxologyId(day, 'matins-hymn-doxology-per-annum'));
|
||||
return appendDoxology(body, doxology);
|
||||
}
|
||||
|
||||
/** The plain ferial weekday nocturn's real antiphoned psalmody — a
|
||||
|
||||
Reference in New Issue
Block a user