Label Matins nocturns and the Invitatory in the rendered ordo
Deploy / deploy (push) Successful in 1m17s

Adds a section-heading ResolvedPart kind and emits "Invitatory" and
"Nocturn I/II/III" headings in matins.ts, so the hour's structural
boundaries are visible instead of rendering as one undifferentiated
stream of parts. Ferial (1-nocturn) days get no Nocturn heading, matching
their existing single-unnumbered-nocturn design.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-19 05:28:44 -04:00
parent e7bbc7c9f5
commit a9f673fef9
5 changed files with 31 additions and 2 deletions
+2
View File
@@ -122,6 +122,8 @@ function renderPart(part: ResolvedPart, languages: readonly string[]): string {
${part.psalms.map((p) => renderPart(p, languages)).join('')}
</section>
`;
case 'section-heading':
return `<h2 class="section-heading">${escapeHtml(part.label)}</h2>`;
case 'te-deum':
return `
<section class="ordo-part ordo-part-te-deum">