Add name-template substitution for Common-of-a-Holy-Woman's invitatory antiphon
Deploy / deploy (push) Successful in 1m20s

Commune/C7's own invitatory antiphon ("Laudémus Deum nostrum * In
confessióne beátæ N..") needs a per-saint genitive-singular name, unlike
every other Common invitatory antiphon currently authored. Exports
resolve-common.ts's existing substituteName helper (previously only used
by getDayCollect for collectCommon/collectName) and wires it into
resolveMatinsInvitatoryText via a new SaintRecord.invitatoryName field
-- kept separate from collectName since the two templates' {N}
placeholders don't always need the same grammatical case. Fills in real
declined names for the 3 saints using common-of-a-holy-woman (Anne,
Martha, Mary Magdalene).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012AVXS5iTrk3c2anSYVGwxS
This commit is contained in:
2026-08-27 09:26:22 -04:00
parent f55cd46272
commit 366ada1b26
8 changed files with 74 additions and 8 deletions
+1 -1
View File
@@ -471,7 +471,7 @@ export function resolveOfficeBundle(
* saint who shares it. Positional: the template's `{N}` occurrences fill
* left-to-right from `names`, in document order — most templates have
* one, a few (two co-named saints commemorated together) have two. */
function substituteName(text: ResolvedText, name: { la: string[]; en: string[] }): ResolvedText {
export function substituteName(text: ResolvedText, name: { la: string[]; en: string[] }): ResolvedText {
const substituted: Partial<Record<string, string>> = {};
for (const [lang, t] of Object.entries(text.text)) {
if (!t) {