officium-rs — Breviary

Renders one Hour of the Divine Office — Matins, Lauds, Prime, Tertia, Sexta, Nona, Vespers, or Compline — from the upstream Divinum Officium corpus, walked entirely in WebAssembly.

Pick an hour

Loading WASM…

Office

No query yet — pick a date, hour, and day key, then click "Render Hour".

API

// Browser:
import init, { compute_office_full } from './pkg/officium_rs.js';

await init();
const json = compute_office_full(
  2026, 5, 4,
  'trid-1570',
  'Vespera',
  'Sancti/05-04',
  '',                // next_day_key — empty disables first-vespers swap
  true,              // rubrics on
);
const office = JSON.parse(json);
// → { office: { rubric, hour, day_key, first_vespers },
//     lines:  [{k:"section", label:"Incipit"},
//              {k:"plain",   body:"..."},
//              {k:"macro",   name:"Deus_in_adjutorium", body:"..."},
//              {k:"rubric",  body:"...",  level:1},
//              ...] }