aboutsummaryrefslogtreecommitdiff
path: root/test/golden/ordo-2027.typ
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-20 11:42:25 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-20 11:42:25 +0200
commit900d1d781e62a08a1bda1285c8e8611a7baa0f2f (patch)
tree621e920076409f74e164cfc15016ad9910bcf40a /test/golden/ordo-2027.typ
parente2e56ac5af290b60ea01037e58e8bc00545c021c (diff)
downloadcolitur-900d1d781e62a08a1bda1285c8e8611a7baa0f2f.tar.gz
colitur-900d1d781e62a08a1bda1285c8e8611a7baa0f2f.zip
feat(templates): week headers stop repeating the month name
Every ordo booklet week header used to print the month name again even though the month heading right above it already established it -- pure noise, repeated once per week for the whole year. All seven ordo flavours now print the week's own Roman numeral plus the span of dates it covers instead, e.g. "Hebdomada I (Ian 1-2)", with no month name on the line; the LaTeX table of contents and the Typst outline (built automatically from its own headings, so editing the heading is the whole fix there) read the same way. A single-day week (e.g. a lone trailing Sunday) renders "Ian 31", not "Ian 31-31": each flavour's dash sits inside an inverted single_day section, so the engine -- which cannot itself compare first_dom to last_dom -- never has to decide anything, it only follows the data. The dash character matches each flavour's own existing convention: LaTeX/Typst's own "--" ligature, groff's \(en escape (alongside its existing \(bu), HTML's &ndash; entity (alongside its existing &middot;), and a literal en dash for the three flavours with no escaping (adoc/md/txt). Every in-template comment describing the new fields is written without ever typing two curly braces together, including in the two comments this touches that used to embed a live {{month_name}}/{{term.week}} tag pair inside a LaTeX % comment -- harmless only because that whole line already started with %, not because the engine has any comment awareness (it has none). Goldens regenerated through test_render_golden.ml's own render path (Test_view.view_of + Template.render_string), not the CLI -- the two differ in default language and would otherwise pin output the test suite never produces. Grid goldens are untouched, matching the grid templates, which have no week header. Verified against real pdflatex (two passes) and typst compile output, not merely the golden pins: both flavours print "Hebdomada I (Ian 1-2)", "Hebdomada II (Ian 3-9)", "Hebdomada III (Ian 10-16)" as their first three week headers and identical text in the table of contents/outline, and both show "Hebdomada VI (Ian 31)" for January's own trailing single-day week with no dash.
Diffstat (limited to 'test/golden/ordo-2027.typ')
-rw-r--r--test/golden/ordo-2027.typ151
1 files changed, 81 insertions, 70 deletions
diff --git a/test/golden/ordo-2027.typ b/test/golden/ordo-2027.typ
index 73d32fc..2e725ed 100644
--- a/test/golden/ordo-2027.typ
+++ b/test/golden/ordo-2027.typ
@@ -27,9 +27,16 @@
// The engine has no parent-path syntax: nested inside a month's own week
// loop, a bare week-number reference finds the WEEK's own number, and there
// is no way to reach the enclosing month's from there. That is why each
-// week object carries its own month number and month name fields
-// (lib/render/view.ml), used below via month_name/month_num instead of a
-// parent-path reference the engine cannot express.
+// week object carries its own month number, month name and abbreviated
+// month name fields (lib/render/view.ml), used below via month_name/
+// month_num/month_abbr instead of a parent-path reference the engine
+// cannot express. The same view resolves the week's own Roman numeral too
+// (num_roman, arabic num kept alongside it for a tradition that wants it),
+// the day-of-month of its first and last in-month day (first_dom/
+// last_dom), and single_day (true for a one-day week) -- the punctuation
+// choice between Ian 1 and Ian 1-2 this logic-less engine cannot make for
+// itself, so the heading below picks the dash only inside an inverted
+// single_day section.
//
// The engine also rejects an empty tag path outright (a bare-dot section or
// variable is a parse error, not an invented "current context" behaviour),
@@ -46,10 +53,14 @@
// per month with its weeks dotted-and-paginated underneath, because it
// walks the months-then-weeks nesting directly in its own hand-built TOC
// loop. Typst's outline instead builds its table of contents automatically
-// from real document headings, so this stays a flat list of "Month . Week
-// N" headings rather than being restructured into two heading levels --
-// changing outline depth/structure is a bigger, riskier change than this
-// defect calls for. Defect 2 DID add a "is this the month's first week"
+// from real document headings, so this stays a flat list of week headings
+// rather than being restructured into two heading levels -- changing
+// outline depth/structure is a bigger, riskier change than this defect
+// calls for. Each heading is the week's own Roman numeral plus the span
+// of in-month dates it covers (e.g. Hebdomada I (Ian 1-2)), with no month
+// name repeated -- the month heading below is a separate, non-heading
+// BANNER (not part of the outline) that already establishes it once per
+// month. Defect 2 DID add a "is this the month's first week"
// flag to the view model (lib/render/view.ml's own [first], the same
// "cheap flag beats invented template logic" call [last] already made
// elsewhere) -- used below for a separate, non-heading month BANNER
@@ -125,7 +136,7 @@
#text(size: 15pt, weight: "bold")[January 2027]
]
-= January #sym.dot.c Week 1
+= Week I (Jan 1--2)
@@ -158,7 +169,7 @@
-= January #sym.dot.c Week 2
+= Week II (Jan 3--9)
@@ -227,7 +238,7 @@
-= January #sym.dot.c Week 3
+= Week III (Jan 10--16)
@@ -298,7 +309,7 @@
-= January #sym.dot.c Week 4
+= Week IV (Jan 17--23)
@@ -370,7 +381,7 @@
-= January #sym.dot.c Week 5
+= Week V (Jan 24--30)
@@ -440,7 +451,7 @@
-= January #sym.dot.c Week 6
+= Week VI (Jan 31)
@@ -473,7 +484,7 @@
#text(size: 15pt, weight: "bold")[February 2027]
]
-= February #sym.dot.c Week 1
+= Week I (Feb 1--6)
@@ -536,7 +547,7 @@
-= February #sym.dot.c Week 2
+= Week II (Feb 7--13)
@@ -607,7 +618,7 @@
-= February #sym.dot.c Week 3
+= Week III (Feb 14--20)
@@ -677,7 +688,7 @@
-= February #sym.dot.c Week 4
+= Week IV (Feb 21--27)
@@ -750,7 +761,7 @@
-= February #sym.dot.c Week 5
+= Week V (Feb 28)
@@ -783,7 +794,7 @@
#text(size: 15pt, weight: "bold")[March 2027]
]
-= March #sym.dot.c Week 1
+= Week I (Mar 1--6)
@@ -847,7 +858,7 @@
-= March #sym.dot.c Week 2
+= Week II (Mar 7--13)
@@ -919,7 +930,7 @@
-= March #sym.dot.c Week 3
+= Week III (Mar 14--20)
@@ -990,7 +1001,7 @@
-= March #sym.dot.c Week 4
+= Week IV (Mar 21--27)
@@ -1058,7 +1069,7 @@
-= March #sym.dot.c Week 5
+= Week V (Mar 28--31)
@@ -1112,7 +1123,7 @@
#text(size: 15pt, weight: "bold")[April 2027]
]
-= April #sym.dot.c Week 1
+= Week I (Apr 1--3)
@@ -1152,7 +1163,7 @@
-= April #sym.dot.c Week 2
+= Week II (Apr 4--10)
@@ -1220,7 +1231,7 @@
-= April #sym.dot.c Week 3
+= Week III (Apr 11--17)
@@ -1290,7 +1301,7 @@
-= April #sym.dot.c Week 4
+= Week IV (Apr 18--24)
@@ -1359,7 +1370,7 @@
-= April #sym.dot.c Week 5
+= Week V (Apr 25--30)
@@ -1428,7 +1439,7 @@
#text(size: 15pt, weight: "bold")[May 2027]
]
-= May #sym.dot.c Week 1
+= Week I (May 1)
@@ -1454,7 +1465,7 @@
-= May #sym.dot.c Week 2
+= Week II (May 2--8)
@@ -1524,7 +1535,7 @@
-= May #sym.dot.c Week 3
+= Week III (May 9--15)
@@ -1594,7 +1605,7 @@
-= May #sym.dot.c Week 4
+= Week IV (May 16--22)
@@ -1662,7 +1673,7 @@
-= May #sym.dot.c Week 5
+= Week V (May 23--29)
@@ -1732,7 +1743,7 @@
-= May #sym.dot.c Week 6
+= Week VI (May 30--31)
@@ -1773,7 +1784,7 @@
#text(size: 15pt, weight: "bold")[June 2027]
]
-= June #sym.dot.c Week 1
+= Week I (Jun 1--5)
@@ -1828,7 +1839,7 @@
-= June #sym.dot.c Week 2
+= Week II (Jun 6--12)
@@ -1898,7 +1909,7 @@
-= June #sym.dot.c Week 3
+= Week III (Jun 13--19)
@@ -1969,7 +1980,7 @@
-= June #sym.dot.c Week 4
+= Week IV (Jun 20--26)
@@ -2037,7 +2048,7 @@
-= June #sym.dot.c Week 5
+= Week V (Jun 27--30)
@@ -2092,7 +2103,7 @@
#text(size: 15pt, weight: "bold")[July 2027]
]
-= July #sym.dot.c Week 1
+= Week I (Jul 1--3)
@@ -2133,7 +2144,7 @@
-= July #sym.dot.c Week 2
+= Week II (Jul 4--10)
@@ -2201,7 +2212,7 @@
-= July #sym.dot.c Week 3
+= Week III (Jul 11--17)
@@ -2272,7 +2283,7 @@
-= July #sym.dot.c Week 4
+= Week IV (Jul 18--24)
@@ -2344,7 +2355,7 @@
-= July #sym.dot.c Week 5
+= Week V (Jul 25--31)
@@ -2423,7 +2434,7 @@
#text(size: 15pt, weight: "bold")[August 2027]
]
-= August #sym.dot.c Week 1
+= Week I (Aug 1--7)
@@ -2494,7 +2505,7 @@
-= August #sym.dot.c Week 2
+= Week II (Aug 8--14)
@@ -2566,7 +2577,7 @@
-= August #sym.dot.c Week 3
+= Week III (Aug 15--21)
@@ -2636,7 +2647,7 @@
-= August #sym.dot.c Week 4
+= Week IV (Aug 22--28)
@@ -2707,7 +2718,7 @@
-= August #sym.dot.c Week 5
+= Week V (Aug 29--31)
@@ -2755,7 +2766,7 @@
#text(size: 15pt, weight: "bold")[September 2027]
]
-= September #sym.dot.c Week 1
+= Week I (Sep 1--4)
@@ -2804,7 +2815,7 @@
-= September #sym.dot.c Week 2
+= Week II (Sep 5--11)
@@ -2875,7 +2886,7 @@
-= September #sym.dot.c Week 3
+= Week III (Sep 12--18)
@@ -2946,7 +2957,7 @@
-= September #sym.dot.c Week 4
+= Week IV (Sep 19--25)
@@ -3018,7 +3029,7 @@
-= September #sym.dot.c Week 5
+= Week V (Sep 26--30)
@@ -3079,7 +3090,7 @@
#text(size: 15pt, weight: "bold")[October 2027]
]
-= October #sym.dot.c Week 1
+= Week I (Oct 1--2)
@@ -3113,7 +3124,7 @@
-= October #sym.dot.c Week 2
+= Week II (Oct 3--9)
@@ -3185,7 +3196,7 @@
-= October #sym.dot.c Week 3
+= Week III (Oct 10--16)
@@ -3253,7 +3264,7 @@
-= October #sym.dot.c Week 4
+= Week IV (Oct 17--23)
@@ -3323,7 +3334,7 @@
-= October #sym.dot.c Week 5
+= Week V (Oct 24--30)
@@ -3393,7 +3404,7 @@
-= October #sym.dot.c Week 6
+= Week VI (Oct 31)
@@ -3426,7 +3437,7 @@
#text(size: 15pt, weight: "bold")[November 2027]
]
-= November #sym.dot.c Week 1
+= Week I (Nov 1--6)
@@ -3488,7 +3499,7 @@
-= November #sym.dot.c Week 2
+= Week II (Nov 7--13)
@@ -3560,7 +3571,7 @@
-= November #sym.dot.c Week 3
+= Week III (Nov 14--20)
@@ -3629,7 +3640,7 @@
-= November #sym.dot.c Week 4
+= Week IV (Nov 21--27)
@@ -3700,7 +3711,7 @@
-= November #sym.dot.c Week 5
+= Week V (Nov 28--30)
@@ -3749,7 +3760,7 @@
#text(size: 15pt, weight: "bold")[December 2027]
]
-= December #sym.dot.c Week 1
+= Week I (Dec 1--4)
@@ -3800,7 +3811,7 @@
-= December #sym.dot.c Week 2
+= Week II (Dec 5--11)
@@ -3873,7 +3884,7 @@
-= December #sym.dot.c Week 3
+= Week III (Dec 12--18)
@@ -3943,7 +3954,7 @@
-= December #sym.dot.c Week 4
+= Week IV (Dec 19--25)
@@ -4012,7 +4023,7 @@
-= December #sym.dot.c Week 5
+= Week V (Dec 26--31)