From 051716cdee0197351fa966af1e13738c443045c4 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 18 Aug 2026 09:26:26 +0200 Subject: feat(data): ship a worked example overlay calendar `--overlay` shipped last week with nothing to point at. The only example was a test fixture, explicitly labelled invented and living where no user would find it, so "colitur supports local calendars" was true but undemonstrated. data/ef/examples/diocesan-example.sexp is installed to /share/colitur/examples/ and is runnable documentation: every celebration in it is invented, with example- slugs that cannot collide, and its header explains the four directives, the three date shapes, and the field vocabularies before showing any of them. It demonstrates the range deliberately rather than the minimum: a fixed-date local patron with its own propers; a movable dedication on the first Sunday of October, I class because a church's own dedication anniversary is I class in that church and at III it would lose to the Sunday every year; an Easter-relative commemoration; an Edit raising a universal feast for local use; and a Suppress shown commented out, because suppressing a universal feast is a real liturgical act and an example should not invite it casually. Two things the header says plainly, since this is the one file that lets someone change what colitur computes: an overlay is applied ON TOP of the shipped calendar and never instead of it, and an overlay is applied, NOT validated -- the five test layers assert things about the shipped data and cannot vouch for a user's file. A test asserts it loads against the real EF rank vocabulary, still demonstrates at least four directives, and applies with NO diagnostics. The last matters most: a directive naming a slug the universal calendar lacks would warn, and an example that warns teaches the wrong lesson. It deliberately does not pin which days it produces -- those celebrations are invented, and pinning their dates would make an illustrative file behave like calendar data. --- data/dune | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'data/dune') diff --git a/data/dune b/data/dune index 07e5307..aec4b3c 100644 --- a/data/dune +++ b/data/dune @@ -20,4 +20,9 @@ (ef/sanctoral.sexp as ef/sanctoral.sexp) (ef/adjustments.sexp as ef/adjustments.sexp) (ef/lectionary.sexp as ef/lectionary.sexp) - (ef/commons.sexp as ef/commons.sexp))) + (ef/commons.sexp as ef/commons.sexp) + ; Shipped as runnable documentation, NOT as calendar data: every + ; celebration in it is invented, with example- slugs. It is what + ; `colitur --overlay` points at in the man page, so it must actually be + ; installed rather than only living in the source tree. + (ef/examples/diocesan-example.sexp as examples/diocesan-example.sexp))) -- cgit v1.3