<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/cmd/clectio-gen/main.go, branch v0.45.1</title>
<subtitle>offline Catholic daily readings and liturgical calendar in Go, with CLI, TUI and web clients</subtitle>
<id>https://git.labunix.xyz/lectio.git/atom?h=v0.45.1</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.45.1'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-07-29T07:55:22Z</updated>
<entry>
<title>feat(clectio-gen): apply a calendar layer/sanctorale when generating</title>
<updated>2026-07-29T07:55:22Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T07:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=0db24ba21a67c99d79d321fc82391e13656c40e4'/>
<id>urn:sha1:0db24ba21a67c99d79d321fc82391e13656c40e4</id>
<content type='text'>
Add opt-in flags so clectio's tables can be regenerated from a customized
calendar instead of only the embedded universal one:

  clectio-gen -caldir DIR -use a,b [-sanctorale DIR] &lt;new|old&gt; y0 y1 out/

- -caldir + -use stack calendar layers (rank, colour, name, reading.*) over the
  calendar; -sanctorale DIR applies a full of.ini/ef.ini replacement.
- The BOOK table stays hermetic (LECTIO_CONFIG still points nowhere), so the
  generator can't read a stale user books.ini -- calendar customization and the
  book aliases are kept separate concerns.
- config.SetCalendarsDir lets CalendarsDir be pointed at an explicit layer dir
  without a full config tree (and without an unrelated books.ini there).

Verified end to end: a layer adding a feast with a proper gospel regenerates
into liturgy_of.h + verses_of.keys, and the rebuilt clectio shows it. Default
(no flags) output is byte-identical to before. make test green.
</content>
</entry>
<entry>
<title>bible: add Douay book aliases Osee-&gt;Hosea, 2 Esdras-&gt;Nehemiah; clectio-gen hermetic</title>
<updated>2026-07-28T20:49:54Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T20:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=4bb88c667edc90a5563791dff62ae52ea070b2ee'/>
<id>urn:sha1:4bb88c667edc90a5563791dff62ae52ea070b2ee</id>
<content type='text'>
Two EF Ember-day lessons ("Osee 14:2-10", "2 Esd. 8:1-10") rendered as
"(not in vul)" because the lookup path (ResolveBook, English dialect) lacked
these Douay-Rheims book forms -- they existed only in the Latin dialect, which
ResolveBook does not consult. Add them to the [en] dialect so both lectio and
clectio resolve them (the text is present in vul: Hosea 14, Nehemiah 8).

Also make clectio-gen hermetic: it now points LECTIO_CONFIG at a nonexistent
path so it always uses the EMBEDDED calendar/lectionary/book table, never the
running user's ~/.config/lectio (whose stale books.ini was silently dropping
~30 EF readings from the generated data). It warns on any reading it cannot
resolve. Full range 2025-2054 now generates with 0 dropped readings.
</content>
</entry>
<entry>
<title>cmd/clectio-gen: generator for the tiny C build; bible.LookupKeyed</title>
<updated>2026-07-28T20:08:06Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T20:08:06Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=723f223690ce6a01124ea5fbd12e1a90ee0ab3f4'/>
<id>urn:sha1:723f223690ce6a01124ea5fbd12e1a90ee0ab3f4</id>
<content type='text'>
clectio (~/git/projects/clectio) is a tiny suckless-C daily-readings build
that compiles the calendar, citations and scripture text in. clectio-gen is
its data compiler: it reuses this engine to compute, for a year range, each
day's name/colour/readings and emits corpus-independent C tables plus the
verse KEYS, so the C side is a dumb lookup and the hard liturgical logic
stays here (oracle-validated).

- bible.LookupKeyed(version, ref) returns each resolved verse's
  (book, chapter, verse) key, mirroring Lookup's splitting/versification.
  clectio-gen uses it to record the exact pericopes a lectionary cites.
- Verified: clectio's output is byte-identical to lectio's readings, day
  names 157/157 over a 3-year sample.
</content>
</entry>
</feed>
