aboutsummaryrefslogtreecommitdiff
path: root/templates/ef/ordo.html
Commit message (Collapse)AuthorAgeFilesLines
* feat(templates): the ordo booklet, rebuiltLukasz Kasprzak2026-08-191-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A5, one week per page, with a table of contents, each day in a framed box and a colour swatch so the page is scannable without reading. Real names throughout, and every fixed string routed through the term vocabulary so a translated booklet needs no template edit. The previous version was A4, printed slugs, ran days together with no visual separation, had no contents, and gave the liturgical colour only as the word white. It was not usable as a printed booklet. lib/render/view.ml already carried month_num/month_name on each week object from Task 5, so no kernel/view change was needed here -- the template uses those instead of a parent path the engine cannot express. Box padding, margins and secondary-line font size were tightened past the brief's own starting values: at the brief's sizes a week with several long commemoration names (e.g. Feb 21-27, three of seven days carrying one) overflowed onto a second physical page, breaking one-week-per-page. Verified by measuring page count against the known week count (63 weeks in 2027) until every content page carried exactly one week, not by eye. The header comments of all six flavours were themselves a trap the brief warns about: writing double braces to NAME a template field inside a LaTeX %, groff .\", HTML <!-- -->, or AsciiDoc // comment gets parsed as a real tag by this brace-only engine, not treated as inert prose. An early draft's own comments did this and produced 'empty tag path' parse errors and a silently-unclosed section; every comment in all six templates is now written without ever typing two braces in a row. The other five flavours keep their existing structure; only the dead {{#name}}{{la}}{{^la}}{{slug}}{{/la}}{{/name}} idiom is replaced with a plain {{name}} (extended to comms entries too, which carry their own resolved name), and the fixed labels (Ordo, Epistle, Gospel, Commemoration) now come from {{term.*}}. Golden regeneration could not follow the brief's own `colitur table` shell-out literally: the CLI's current default language is Latin-only (bin/main.ml's Task-5 bridge), while test_render_golden.ml renders through Test_view's English-primary/Latin-fallback table, so the two produce different text for the same slug. The goldens were regenerated through the test's own render path instead (a temporary env-gated block in test_render_golden.ml, reverted before this commit), so they agree with what the suite actually computes. All six ordo golden tests pass; the three grid ones are Task 9's scope. make check-templates passes with zero warnings. The CLI-rendered PDF is A5 (148x210mm), 65 pages -- 2 pages of title/contents plus exactly one page per week (63), verified with no overflow.
* feat(templates): ordo booklet in six flavours, pinned by goldensLukasz Kasprzak2026-08-191-0/+28
LaTeX and groff are the print paths; HTML carries a print stylesheet; AsciiDoc, Markdown and plain text are the plain-consumer paths. AsciiDoc and Markdown use flavour none, and say so in a comment: their metacharacters are context-dependent and escaping them aggressively produces worse output than not escaping. The consequence is real and documented -- a feast name containing * renders as emphasis. Golden tests pin all six byte-for-byte for 2027. They prove the templates RENDER, not that they TYPESET; compiling needs TeX and groff, which is Task 13's opt-in make check-templates.