<feed xmlns='http://www.w3.org/2005/Atom'>
<title>colitur.git/lib/citation/parse.mli, branch v0.9.0</title>
<subtitle>deterministic OCaml engine to compute and validate liturgical calendars for multiple rites, template-driven output to year 9999</subtitle>
<id>https://git.labunix.xyz/colitur.git/atom?h=v0.9.0</id>
<link rel='self' href='https://git.labunix.xyz/colitur.git/atom?h=v0.9.0'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/'/>
<updated>2026-08-20T12:59:03Z</updated>
<entry>
<title>feat(citation): parse citations into structure</title>
<updated>2026-08-20T12:59:03Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-20T12:59:03Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=56e36188c6afc208b96b15b9a1d3d62bbbe2f705'/>
<id>urn:sha1:56e36188c6afc208b96b15b9a1d3d62bbbe2f705</id>
<content type='text'>
The parsed form is a book and a LIST of chapter-parts: the data cites
across chapters and lists disjoint verse ranges within one.

Two rules the shipped data forces and that are not obvious: a
semicolon-separated part may inherit the previous chapter rather than
restate it, and a chapter may be separated from its verses by a comma.
</content>
</entry>
</feed>
