From 27a8fbdf738f7fdb4c9a42ec99f08855dbed440b Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 19 Aug 2026 09:47:41 +0200 Subject: feat(templates): ordo booklet in six flavours, pinned by goldens 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. --- test/test_render_golden.ml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/test_render_golden.ml (limited to 'test/test_render_golden.ml') diff --git a/test/test_render_golden.ml b/test/test_render_golden.ml new file mode 100644 index 0000000..913513a --- /dev/null +++ b/test/test_render_golden.ml @@ -0,0 +1,40 @@ +(* Pins the six shipped ordo booklet templates, one per flavour, under + templates/ef/, against a byte-for-byte golden render of 2027. These are + the templates a real user ships with colitur, rendered through the same + Template.render_string / View.of_days path colitur table uses -- so a + change to the view shape, the escaping rules, or the templates themselves + that alters output is caught here, not only in test_view.ml's shape + assertions. *) + +module T = Colitur_render.Template +module E = Colitur_render.Escape + +let render_template path year = + let ic = open_in_bin path in + let src = really_input_string ic (in_channel_length ic) in + close_in ic; + let ext = + match String.rindex_opt path '.' with + | Some i -> String.sub path i (String.length path - i) + | None -> "" + in + let flavour = match E.of_extension ext with Some f -> f | None -> Alcotest.failf "flavour for %s" ext in + let v = Test_view.view_of year in + match T.render_string ~flavour src v with Ok s -> s | Error e -> Alcotest.failf "%s: %s" path e + +let read path = + let ic = open_in_bin path in + let s = really_input_string ic (in_channel_length ic) in + close_in ic; + s + +let check_golden name = + let got = render_template ("../templates/ef/" ^ name) 2027 in + let want = read ("golden/" ^ Filename.remove_extension name ^ "-2027" ^ Filename.extension name) in + Alcotest.(check string) name want got + +let cases = [ "ordo.tex"; "ordo.ms"; "ordo.html"; "ordo.adoc"; "ordo.md"; "ordo.txt" ] + +let suite = + ( "Render/golden", + List.map (fun n -> Alcotest.test_case n `Quick (fun () -> check_golden n)) cases ) -- cgit v1.3 From 24de019a3e1d5b9a6d4601bdd65489813baa7e58 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 19 Aug 2026 09:59:47 +0200 Subject: feat(templates): wall calendar grid in LaTeX, groff and HTML Three flavours, not six: a month grid in Markdown or plain text is a worse artefact than the booklet already is, and shipping a template we would not use ourselves is maintenance with no reader. These are the first templates to use weeks and in_month, so this is where the view model earns its keep -- the booklet and the grid come from one model with no second code path. Every cell carries a per-cell 'last' boolean (already in the view). A table row needs a separator BETWEEN cells and the engine deliberately has no 'unless last' construct; the rule is shape the data, not the template. Without it the LaTeX grid emits eight columns for seven cells and pdflatex rejects the file. Day cells resolve their label as {{#name}}{{la}}{{^la}}{{slug}}{{/la}} {{/name}}, never a bare {{name.la}}: the enclosing month object has its own name.la, and the engine's scope lookup falls back outward, so a bare dotted lookup would render the month's own Latin name on every day lacking one -- a wall calendar where every day reads "January". Verified on the goldens: Ianuarius appears exactly once per file, the month heading, never as a day label. --- templates/ef/grid.html | 35 ++++++ templates/ef/grid.ms | 25 ++++ templates/ef/grid.tex | 35 ++++++ test/dune | 8 +- test/golden/grid-2027.html | 287 +++++++++++++++++++++++++++++++++++++++++++++ test/golden/grid-2027.ms | 186 +++++++++++++++++++++++++++++ test/golden/grid-2027.tex | 174 +++++++++++++++++++++++++++ test/test_render_golden.ml | 4 +- 8 files changed, 752 insertions(+), 2 deletions(-) create mode 100644 templates/ef/grid.html create mode 100644 templates/ef/grid.ms create mode 100644 templates/ef/grid.tex create mode 100644 test/golden/grid-2027.html create mode 100644 test/golden/grid-2027.ms create mode 100644 test/golden/grid-2027.tex (limited to 'test/test_render_golden.ml') diff --git a/templates/ef/grid.html b/templates/ef/grid.html new file mode 100644 index 0000000..b92e14a --- /dev/null +++ b/templates/ef/grid.html @@ -0,0 +1,35 @@ + + + + +Calendarium {{year}} + +

Calendarium {{year}} · {{rite}}

+{{#months}} + + + + {{#weeks}} + {{#days}}{{#in_month}}{{/in_month}}{{^in_month}}{{/in_month}}{{/days}} + + {{/weeks}} +
{{name.la}}
DomLunMarMerIovVenSab
{{dom}}{{#name}}{{la}}{{^la}}{{slug}}{{/la}}{{/name}}
+{{/months}} + diff --git a/templates/ef/grid.ms b/templates/ef/grid.ms new file mode 100644 index 0000000..0ec2fb3 --- /dev/null +++ b/templates/ef/grid.ms @@ -0,0 +1,25 @@ +.\" colitur wall calendar -- groff ms with tbl. flavour: groff +.\" Build: colitur table --year 2027 --template grid.ms | groff -ms -t -Tpdf > grid.pdf +.\" +.\" Day label falls back to the slug when the day carries no Latin name (most +.\" temporal days, and most sanctoral entries, which are Latin-less in the +.\" shipped data) -- see ordo.tex's own comment for why the fallback is +.\" written as a name-section wrapping a plain var and its inverse, rather +.\" than a single dotted lookup and its inverse. +.\" +.\" Every cell also carries a last flag, true on the seventh of its row: tbl +.\" needs the tab separator BETWEEN columns, not after the last one, and the +.\" engine has no unless-last construct, so the flag comes from data. +.TL +Calendarium {{year}} \(bu {{rite}} +{{#months}} +.SH +{{name.la}} +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab +{{#weeks}}{{#days}}{{#in_month}}{{dom}} {{#name}}{{la}}{{^la}}{{slug}}{{/la}}{{/name}}{{/in_month}}{{^last}} {{/last}}{{/days}} +{{/weeks}}.TE +{{/months}} diff --git a/templates/ef/grid.tex b/templates/ef/grid.tex new file mode 100644 index 0000000..51432e9 --- /dev/null +++ b/templates/ef/grid.tex @@ -0,0 +1,35 @@ +% colitur wall calendar -- LaTeX. flavour: latex +% Build: colitur table --year 2027 --template grid.tex > grid.tex && pdflatex grid.tex +% +% Day label falls back to the slug when the day carries no Latin name (most +% temporal days, and most sanctoral entries, which are Latin-less in the +% shipped data). The fallback is written as a name-section wrapping a plain +% var and its inverse, deliberately NOT as a single dotted-path lookup +% followed by its own inverse: a dotted lookup that misses climbs to the +% enclosing scope for the WHOLE path, and the month object also carries a +% same-named key one level up, so the naive form would render the month's +% own Latin name on every day lacking one, and never fall back at all. +% +% Every cell also carries a last flag, true on the seventh of its row: the +% engine has no unless-last construct, so the separator BETWEEN cells comes +% from data, not the template. A trailing separator on every cell would give +% eight columns for seven and pdflatex would reject the file outright. +\documentclass[10pt,landscape]{article} +\usepackage[a4paper,margin=10mm]{geometry} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[table]{xcolor} +\definecolor{lwhite}{HTML}{FFFFFF}\definecolor{lred}{HTML}{FFDDDD} +\definecolor{lgreen}{HTML}{DDFFDD}\definecolor{lviolet}{HTML}{EEAAEE} +\definecolor{lrose}{HTML}{FFDDEE}\definecolor{lblack}{HTML}{DDDDDD} +\begin{document} +{{#months}} +\section*{ {{name.la}} {{year}} } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline +{{#weeks}}{{#days}}{{#in_month}}\cellcolor{l{{colour}}}\textbf{ {{dom}} } \footnotesize {{#name}}{{la}}{{^la}}{{slug}}{{/la}}{{/name}}{{/in_month}}{{^last}} & {{/last}}{{/days}} \\ \hline +{{/weeks}} +\end{tabular} +\newpage +{{/months}} +\end{document} diff --git a/test/dune b/test/dune index 504a639..aa4bd66 100644 --- a/test/dune +++ b/test/dune @@ -19,12 +19,18 @@ ../templates/ef/ordo.adoc ../templates/ef/ordo.md ../templates/ef/ordo.txt + ../templates/ef/grid.tex + ../templates/ef/grid.ms + ../templates/ef/grid.html golden/ordo-2027.tex golden/ordo-2027.ms golden/ordo-2027.html golden/ordo-2027.adoc golden/ordo-2027.md - golden/ordo-2027.txt) + golden/ordo-2027.txt + golden/grid-2027.tex + golden/grid-2027.ms + golden/grid-2027.html) (preprocess (pps ppx_sexp_conv))) diff --git a/test/golden/grid-2027.html b/test/golden/grid-2027.html new file mode 100644 index 0000000..9068788 --- /dev/null +++ b/test/golden/grid-2027.html @@ -0,0 +1,287 @@ + + + + +Calendarium 2027 + +

Calendarium 2027 · ef

+ + + + + + + + + + + + + + + + + + + + + + + +
Ianuarius
DomLunMarMerIovVenSab
1ef-circumcision2Officium sanctae Mariae in sabbato
3Sanctissimi Nominis Iesu4ef-christmas-1-monday5ef-christmas-1-tuesday6ef-epiphany7ef-christmas-2-thursday8ef-christmas-2-friday9Officium sanctae Mariae in sabbato
10Sanctae Familiae Iesu, Mariae, Ioseph11ef-time-after-epiphany-1-monday12ef-time-after-epiphany-1-tuesday13commemoration-of-the-baptism-of-the-lord14hilary15paul-the-first-hermit16marcellus-i
17ef-time-after-epiphany-sunday-218ef-time-after-epiphany-2-monday19ef-time-after-epiphany-2-tuesday20sts-fabian-sebastian21agnes22sts-vincent-anastasius23raymond-of-pe-afort
24ef-septuagesima-sunday-125conversion-of-st-paul26polycarp27john-chrysostom28peter-nolasco29francis-de-sales30martina
31ef-septuagesima-sunday-2
+ + + + + + + + + + + + + + + + + + + + +
Februarius
DomLunMarMerIovVenSab
1ignatius-of-antioch2purification-of-the-blessed-virgin-mary3ef-septuagesima-2-wednesday4andrew-corsini5agatha6titus
7ef-septuagesima-sunday-38john-of-matha9cyril-of-alexandria10ef-ash-wednesday11ef-lent-after-ashes-thursday12ef-lent-after-ashes-friday13ef-lent-after-ashes-saturday
14ef-lent-sunday-115ef-lent-1-monday16ef-lent-1-tuesday17ef-lent-ember-wed18ef-lent-1-thursday19ef-lent-ember-fri20ef-lent-ember-sat
21ef-lent-sunday-222chair-of-st-peter23ef-lent-2-tuesday24matthias25ef-lent-2-thursday26ef-lent-2-friday27ef-lent-2-saturday
28ef-lent-sunday-3
+ + + + + + + + + + + + + + + + + + + + +
Martius
DomLunMarMerIovVenSab
1ef-lent-3-monday2ef-lent-3-tuesday3ef-lent-3-wednesday4ef-lent-3-thursday5ef-lent-3-friday6ef-lent-3-saturday
7ef-lent-sunday-48ef-lent-4-monday9ef-lent-4-tuesday10ef-lent-4-wednesday11ef-lent-4-thursday12ef-lent-4-friday13ef-lent-4-saturday
14ef-passion-sunday15ef-passiontide-1-monday16ef-passiontide-1-tuesday17ef-passiontide-1-wednesday18ef-passiontide-1-thursday19joseph-spouse-of-the-bl-virgin-mary20ef-passiontide-1-saturday
21ef-palm-sunday22ef-passiontide-2-monday23ef-passiontide-2-tuesday24ef-passiontide-2-wednesday25Feria V in Cena Domini26Feria VI in Passione et Morte Domini27Sabbato sancto
28ef-easter-sunday29ef-easter-1-monday30ef-easter-1-tuesday31ef-easter-1-wednesday
+ + + + + + + + + + + + + + + + + + + + +
Aprilis
DomLunMarMerIovVenSab
1ef-easter-1-thursday2ef-easter-1-friday3ef-easter-1-saturday
4ef-low-sunday5annunciation-of-the-blessed-virgin-mary6ef-easter-2-tuesday7ef-easter-2-wednesday8ef-easter-2-thursday9ef-easter-2-friday10Officium sanctae Mariae in sabbato
11ef-easter-sunday-312ef-easter-3-monday13hermenegild14justin15ef-easter-3-thursday16ef-easter-3-friday17Officium sanctae Mariae in sabbato
18ef-easter-sunday-419ef-easter-4-monday20ef-easter-4-tuesday21anselm22sts-soter-caius23ef-easter-4-friday24fidelis-of-sigmaringen
25ef-easter-sunday-526sts-cletus-marcellinus27peter-canisius28paul-of-the-cross29peter-of-verona30catherine-of-siena
+ + + + + + + + + + + + + + + + + + + + + + + +
Maius
DomLunMarMerIovVenSab
1joseph-the-workman
2ef-easter-sunday-63ef-rogation-monday4monica5ef-ascension-vigil6ef-ascension7stanislaus8Officium sanctae Mariae in sabbato
9ef-easter-sunday-710antoninus11sts-philip-james12sts-nereus-achilleus-domitilla-pancras13robert-bellarmine14ef-easter-7-friday15ef-pentecost-vigil
16ef-pentecost17ef-easter-8-monday18ef-easter-8-tuesday19ef-pentecost-ember-wed20ef-easter-8-thursday21ef-pentecost-ember-fri22ef-pentecost-ember-sat
23ef-trinity24ef-time-after-pentecost-1-monday25gregory-vii26philip-neri27ef-corpus-christi28augustine-of-canterbury29mary-magdalene-de-pazzi
30ef-time-after-pentecost-sunday-231queenship-of-the-blessed-virgin-mary
+ + + + + + + + + + + + + + + + + + + + +
Iunius
DomLunMarMerIovVenSab
1angela-merici2ef-time-after-pentecost-2-wednesday3ef-time-after-pentecost-2-thursday4ef-sacred-heart5boniface
6ef-time-after-pentecost-sunday-37ef-time-after-pentecost-3-monday8ef-time-after-pentecost-3-tuesday9ef-time-after-pentecost-3-wednesday10margaret-of-scotland11barnabas12john-of-san-fecundo
13ef-time-after-pentecost-sunday-414basil-the-great15ef-time-after-pentecost-4-tuesday16ef-time-after-pentecost-4-wednesday17gregory-barbarigo18ephrem-of-syria19julia-of-falconieri
20ef-time-after-pentecost-sunday-521aloysius-gongzaga22paulinus-of-nola23vigil-of-the-nativity-of-st-john-the-baptist24nativity-of-st-john-the-baptist25william26sts-john-paul
27ef-time-after-pentecost-sunday-628vigil-of-sts-peter-paul29sts-peter-paul30in-commemoratione-sancti-pauli-apostoli
+ + + + + + + + + + + + + + + + + + + + +
Iulius
DomLunMarMerIovVenSab
1precious-blood-of-our-lord-jesus-christ2visitation-of-the-blessed-virgin-mary3irenaeus
4ef-time-after-pentecost-sunday-75anthony-mary-zaccariah6ef-time-after-pentecost-7-tuesday7sts-cyril-methodius8elizabeth-of-portugal9ef-time-after-pentecost-7-friday10seven-holy-brothers-and-sts-rufina-secunda
11ef-time-after-pentecost-sunday-812john-gualbert13ef-time-after-pentecost-8-tuesday14bonaventure15henry-the-emperor16ef-time-after-pentecost-8-friday17Officium sanctae Mariae in sabbato
18ef-time-after-pentecost-sunday-919vincent-de-paul20jerome-emiliani21laurence-of-brindisi22mary-magdalene23apollinaris24Officium sanctae Mariae in sabbato
25ef-time-after-pentecost-sunday-1026anne-mother-of-the-blessed-virgin27ef-time-after-pentecost-10-tuesday28sts-nazarius-celsus-st-victor-i-st-innocent-i29martha30ef-time-after-pentecost-10-friday31ignatius-loyola
+ + + + + + + + + + + + + + + + + + + + +
Augustus
DomLunMarMerIovVenSab
1ef-time-after-pentecost-sunday-112alphonsus-liguori3ef-time-after-pentecost-11-tuesday4dominic5dedication-of-the-basilica-of-st-mary-major6transfiguration-of-our-lord7cajetan
8ef-time-after-pentecost-sunday-129vigil-of-st-lawrence10lawrence11ef-time-after-pentecost-12-wednesday12clare13ef-time-after-pentecost-12-friday14vigil-of-the-assumption
15assumption-of-the-blessed-virgin-mary16joachim-father-of-the-blessed-virgin17hyacinth18ef-time-after-pentecost-13-wednesday19john-eudes20bernard-of-clairvaux21jane-frances-de-chantal
22ef-time-after-pentecost-sunday-1423philip-benizi24bartholomew25louis-ix26ef-time-after-pentecost-14-thursday27joseph-calasance28augustine
29ef-time-after-pentecost-sunday-1530rose-of-lima31raymond-nonnatus
+ + + + + + + + + + + + + + + + + + + + +
September
DomLunMarMerIovVenSab
1ef-time-after-pentecost-15-wednesday2stephen-of-hungary3pius-x4Officium sanctae Mariae in sabbato
5ef-time-after-pentecost-sunday-166ef-time-after-pentecost-16-monday7ef-time-after-pentecost-16-tuesday8nativity-of-the-blessed-virgin-mary9ef-time-after-pentecost-16-thursday10nicholas-of-tolentino11Officium sanctae Mariae in sabbato
12ef-time-after-pentecost-sunday-1713ef-time-after-pentecost-17-monday14exaltation-of-the-holy-cross15seven-sorrows-of-the-blessed-virgin-mary16sts-cornelius-cyprian17ef-time-after-pentecost-17-friday18joseph-of-cupertino
19ef-time-after-pentecost-sunday-1820ef-time-after-pentecost-18-monday21matthew22ef-september-ember-wed23linus24ef-september-ember-fri25ef-september-ember-sat
26ef-time-after-pentecost-sunday-1927sts-cosmas-damian28wenceslaus29dedication-of-st-michael-the-archangel30jerome
+ + + + + + + + + + + + + + + + + + + + + + + +
October
DomLunMarMerIovVenSab
1ef-time-after-pentecost-19-friday2holy-guardian-angels
3ef-time-after-pentecost-sunday-204francis-of-assisi5ef-time-after-pentecost-20-tuesday6bruno7our-lady-of-the-rosary8bridget-of-sweden9john-leonardi
10ef-time-after-pentecost-sunday-2111maternity-of-the-blessed-virgin-mary12ef-time-after-pentecost-21-tuesday13edward14callistus-i15teresa-of-avila16hedwig
17ef-time-after-pentecost-sunday-2218luke-the-evangelist19peter-of-alcantara20john-cantius21ef-time-after-pentecost-22-thursday22ef-time-after-pentecost-22-friday23anthony-mary-claret
24ef-time-after-pentecost-sunday-2325ef-time-after-pentecost-23-monday26ef-time-after-pentecost-23-tuesday27ef-time-after-pentecost-23-wednesday28sts-simon-jude29ef-time-after-pentecost-23-friday30Officium sanctae Mariae in sabbato
31ef-christ-the-king
+ + + + + + + + + + + + + + + + + + + + +
November
DomLunMarMerIovVenSab
1all-saints2commemoration-of-all-souls3ef-time-after-pentecost-24-wednesday4charles-borromeo5ef-time-after-pentecost-24-friday6Officium sanctae Mariae in sabbato
7ef-time-after-epiphany-sunday-58ef-time-after-pentecost-25-monday9dedication-of-the-archbasilica-of-our-holy-savior10andrew-avellino11martin-of-tours12martin-i13didacus
14ef-time-after-epiphany-sunday-615albert-the-great16gertrude-the-great17gregory-the-wonderworker18dedication-of-the-basilicas-of-sts-peter-paul19elizabeth-of-hungary20felix-of-valois
21ef-time-after-pentecost-sunday-2422cecilia23clement-i24john-of-the-cross25catherine-of-alexandria26sylvester27Officium sanctae Mariae in sabbato
28ef-advent-sunday-129ef-advent-1-monday30andrew
+ + + + + + + + + + + + + + + + + + + + +
December
DomLunMarMerIovVenSab
1ef-advent-1-wednesday2vivian3francis-xavier4peter-chrysologus
5ef-advent-sunday-26nicholas7ambrose8immaculate-conception-of-the-blessed-virgin-mary9ef-advent-2-thursday10ef-advent-2-friday11damasus-i
12ef-advent-sunday-313lucy14ef-advent-3-tuesday15ef-advent-ember-wed16eusebius17ef-advent-ember-fri18ef-advent-ember-sat
19ef-advent-sunday-420ef-advent-4-monday21thomas22ef-advent-4-wednesday23ef-advent-4-thursday24ef-nativity-vigil25ef-nativity
26ef-christmas-sunday-027john-the-evangelist28holy-innocents29ef-nativity-octave-day-530ef-nativity-octave-day-631ef-nativity-octave-day-7
+ + diff --git a/test/golden/grid-2027.ms b/test/golden/grid-2027.ms new file mode 100644 index 0000000..785d59a --- /dev/null +++ b/test/golden/grid-2027.ms @@ -0,0 +1,186 @@ +.\" colitur wall calendar -- groff ms with tbl. flavour: groff +.\" Build: colitur table --year 2027 --template grid.ms | groff -ms -t -Tpdf > grid.pdf +.\" +.\" Day label falls back to the slug when the day carries no Latin name (most +.\" temporal days, and most sanctoral entries, which are Latin-less in the +.\" shipped data) -- see ordo.tex's own comment for why the fallback is +.\" written as a name-section wrapping a plain var and its inverse, rather +.\" than a single dotted lookup and its inverse. +.\" +.\" Every cell also carries a last flag, true on the seventh of its row: tbl +.\" needs the tab separator BETWEEN columns, not after the last one, and the +.\" engine has no unless-last construct, so the flag comes from data. +.TL +Calendarium 2027 \(bu ef + +.SH +Ianuarius +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ef-circumcision 2 Officium sanctae Mariae in sabbato +3 Sanctissimi Nominis Iesu 4 ef-christmas-1-monday 5 ef-christmas-1-tuesday 6 ef-epiphany 7 ef-christmas-2-thursday 8 ef-christmas-2-friday 9 Officium sanctae Mariae in sabbato +10 Sanctae Familiae Iesu, Mariae, Ioseph 11 ef-time-after-epiphany-1-monday 12 ef-time-after-epiphany-1-tuesday 13 commemoration-of-the-baptism-of-the-lord 14 hilary 15 paul-the-first-hermit 16 marcellus-i +17 ef-time-after-epiphany-sunday-2 18 ef-time-after-epiphany-2-monday 19 ef-time-after-epiphany-2-tuesday 20 sts-fabian-sebastian 21 agnes 22 sts-vincent-anastasius 23 raymond-of-pe-afort +24 ef-septuagesima-sunday-1 25 conversion-of-st-paul 26 polycarp 27 john-chrysostom 28 peter-nolasco 29 francis-de-sales 30 martina +31 ef-septuagesima-sunday-2 +.TE + +.SH +Februarius +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ignatius-of-antioch 2 purification-of-the-blessed-virgin-mary 3 ef-septuagesima-2-wednesday 4 andrew-corsini 5 agatha 6 titus +7 ef-septuagesima-sunday-3 8 john-of-matha 9 cyril-of-alexandria 10 ef-ash-wednesday 11 ef-lent-after-ashes-thursday 12 ef-lent-after-ashes-friday 13 ef-lent-after-ashes-saturday +14 ef-lent-sunday-1 15 ef-lent-1-monday 16 ef-lent-1-tuesday 17 ef-lent-ember-wed 18 ef-lent-1-thursday 19 ef-lent-ember-fri 20 ef-lent-ember-sat +21 ef-lent-sunday-2 22 chair-of-st-peter 23 ef-lent-2-tuesday 24 matthias 25 ef-lent-2-thursday 26 ef-lent-2-friday 27 ef-lent-2-saturday +28 ef-lent-sunday-3 +.TE + +.SH +Martius +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ef-lent-3-monday 2 ef-lent-3-tuesday 3 ef-lent-3-wednesday 4 ef-lent-3-thursday 5 ef-lent-3-friday 6 ef-lent-3-saturday +7 ef-lent-sunday-4 8 ef-lent-4-monday 9 ef-lent-4-tuesday 10 ef-lent-4-wednesday 11 ef-lent-4-thursday 12 ef-lent-4-friday 13 ef-lent-4-saturday +14 ef-passion-sunday 15 ef-passiontide-1-monday 16 ef-passiontide-1-tuesday 17 ef-passiontide-1-wednesday 18 ef-passiontide-1-thursday 19 joseph-spouse-of-the-bl-virgin-mary 20 ef-passiontide-1-saturday +21 ef-palm-sunday 22 ef-passiontide-2-monday 23 ef-passiontide-2-tuesday 24 ef-passiontide-2-wednesday 25 Feria V in Cena Domini 26 Feria VI in Passione et Morte Domini 27 Sabbato sancto +28 ef-easter-sunday 29 ef-easter-1-monday 30 ef-easter-1-tuesday 31 ef-easter-1-wednesday +.TE + +.SH +Aprilis +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ef-easter-1-thursday 2 ef-easter-1-friday 3 ef-easter-1-saturday +4 ef-low-sunday 5 annunciation-of-the-blessed-virgin-mary 6 ef-easter-2-tuesday 7 ef-easter-2-wednesday 8 ef-easter-2-thursday 9 ef-easter-2-friday 10 Officium sanctae Mariae in sabbato +11 ef-easter-sunday-3 12 ef-easter-3-monday 13 hermenegild 14 justin 15 ef-easter-3-thursday 16 ef-easter-3-friday 17 Officium sanctae Mariae in sabbato +18 ef-easter-sunday-4 19 ef-easter-4-monday 20 ef-easter-4-tuesday 21 anselm 22 sts-soter-caius 23 ef-easter-4-friday 24 fidelis-of-sigmaringen +25 ef-easter-sunday-5 26 sts-cletus-marcellinus 27 peter-canisius 28 paul-of-the-cross 29 peter-of-verona 30 catherine-of-siena +.TE + +.SH +Maius +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 joseph-the-workman +2 ef-easter-sunday-6 3 ef-rogation-monday 4 monica 5 ef-ascension-vigil 6 ef-ascension 7 stanislaus 8 Officium sanctae Mariae in sabbato +9 ef-easter-sunday-7 10 antoninus 11 sts-philip-james 12 sts-nereus-achilleus-domitilla-pancras 13 robert-bellarmine 14 ef-easter-7-friday 15 ef-pentecost-vigil +16 ef-pentecost 17 ef-easter-8-monday 18 ef-easter-8-tuesday 19 ef-pentecost-ember-wed 20 ef-easter-8-thursday 21 ef-pentecost-ember-fri 22 ef-pentecost-ember-sat +23 ef-trinity 24 ef-time-after-pentecost-1-monday 25 gregory-vii 26 philip-neri 27 ef-corpus-christi 28 augustine-of-canterbury 29 mary-magdalene-de-pazzi +30 ef-time-after-pentecost-sunday-2 31 queenship-of-the-blessed-virgin-mary +.TE + +.SH +Iunius +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 angela-merici 2 ef-time-after-pentecost-2-wednesday 3 ef-time-after-pentecost-2-thursday 4 ef-sacred-heart 5 boniface +6 ef-time-after-pentecost-sunday-3 7 ef-time-after-pentecost-3-monday 8 ef-time-after-pentecost-3-tuesday 9 ef-time-after-pentecost-3-wednesday 10 margaret-of-scotland 11 barnabas 12 john-of-san-fecundo +13 ef-time-after-pentecost-sunday-4 14 basil-the-great 15 ef-time-after-pentecost-4-tuesday 16 ef-time-after-pentecost-4-wednesday 17 gregory-barbarigo 18 ephrem-of-syria 19 julia-of-falconieri +20 ef-time-after-pentecost-sunday-5 21 aloysius-gongzaga 22 paulinus-of-nola 23 vigil-of-the-nativity-of-st-john-the-baptist 24 nativity-of-st-john-the-baptist 25 william 26 sts-john-paul +27 ef-time-after-pentecost-sunday-6 28 vigil-of-sts-peter-paul 29 sts-peter-paul 30 in-commemoratione-sancti-pauli-apostoli +.TE + +.SH +Iulius +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 precious-blood-of-our-lord-jesus-christ 2 visitation-of-the-blessed-virgin-mary 3 irenaeus +4 ef-time-after-pentecost-sunday-7 5 anthony-mary-zaccariah 6 ef-time-after-pentecost-7-tuesday 7 sts-cyril-methodius 8 elizabeth-of-portugal 9 ef-time-after-pentecost-7-friday 10 seven-holy-brothers-and-sts-rufina-secunda +11 ef-time-after-pentecost-sunday-8 12 john-gualbert 13 ef-time-after-pentecost-8-tuesday 14 bonaventure 15 henry-the-emperor 16 ef-time-after-pentecost-8-friday 17 Officium sanctae Mariae in sabbato +18 ef-time-after-pentecost-sunday-9 19 vincent-de-paul 20 jerome-emiliani 21 laurence-of-brindisi 22 mary-magdalene 23 apollinaris 24 Officium sanctae Mariae in sabbato +25 ef-time-after-pentecost-sunday-10 26 anne-mother-of-the-blessed-virgin 27 ef-time-after-pentecost-10-tuesday 28 sts-nazarius-celsus-st-victor-i-st-innocent-i 29 martha 30 ef-time-after-pentecost-10-friday 31 ignatius-loyola +.TE + +.SH +Augustus +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab +1 ef-time-after-pentecost-sunday-11 2 alphonsus-liguori 3 ef-time-after-pentecost-11-tuesday 4 dominic 5 dedication-of-the-basilica-of-st-mary-major 6 transfiguration-of-our-lord 7 cajetan +8 ef-time-after-pentecost-sunday-12 9 vigil-of-st-lawrence 10 lawrence 11 ef-time-after-pentecost-12-wednesday 12 clare 13 ef-time-after-pentecost-12-friday 14 vigil-of-the-assumption +15 assumption-of-the-blessed-virgin-mary 16 joachim-father-of-the-blessed-virgin 17 hyacinth 18 ef-time-after-pentecost-13-wednesday 19 john-eudes 20 bernard-of-clairvaux 21 jane-frances-de-chantal +22 ef-time-after-pentecost-sunday-14 23 philip-benizi 24 bartholomew 25 louis-ix 26 ef-time-after-pentecost-14-thursday 27 joseph-calasance 28 augustine +29 ef-time-after-pentecost-sunday-15 30 rose-of-lima 31 raymond-nonnatus +.TE + +.SH +September +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ef-time-after-pentecost-15-wednesday 2 stephen-of-hungary 3 pius-x 4 Officium sanctae Mariae in sabbato +5 ef-time-after-pentecost-sunday-16 6 ef-time-after-pentecost-16-monday 7 ef-time-after-pentecost-16-tuesday 8 nativity-of-the-blessed-virgin-mary 9 ef-time-after-pentecost-16-thursday 10 nicholas-of-tolentino 11 Officium sanctae Mariae in sabbato +12 ef-time-after-pentecost-sunday-17 13 ef-time-after-pentecost-17-monday 14 exaltation-of-the-holy-cross 15 seven-sorrows-of-the-blessed-virgin-mary 16 sts-cornelius-cyprian 17 ef-time-after-pentecost-17-friday 18 joseph-of-cupertino +19 ef-time-after-pentecost-sunday-18 20 ef-time-after-pentecost-18-monday 21 matthew 22 ef-september-ember-wed 23 linus 24 ef-september-ember-fri 25 ef-september-ember-sat +26 ef-time-after-pentecost-sunday-19 27 sts-cosmas-damian 28 wenceslaus 29 dedication-of-st-michael-the-archangel 30 jerome +.TE + +.SH +October +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ef-time-after-pentecost-19-friday 2 holy-guardian-angels +3 ef-time-after-pentecost-sunday-20 4 francis-of-assisi 5 ef-time-after-pentecost-20-tuesday 6 bruno 7 our-lady-of-the-rosary 8 bridget-of-sweden 9 john-leonardi +10 ef-time-after-pentecost-sunday-21 11 maternity-of-the-blessed-virgin-mary 12 ef-time-after-pentecost-21-tuesday 13 edward 14 callistus-i 15 teresa-of-avila 16 hedwig +17 ef-time-after-pentecost-sunday-22 18 luke-the-evangelist 19 peter-of-alcantara 20 john-cantius 21 ef-time-after-pentecost-22-thursday 22 ef-time-after-pentecost-22-friday 23 anthony-mary-claret +24 ef-time-after-pentecost-sunday-23 25 ef-time-after-pentecost-23-monday 26 ef-time-after-pentecost-23-tuesday 27 ef-time-after-pentecost-23-wednesday 28 sts-simon-jude 29 ef-time-after-pentecost-23-friday 30 Officium sanctae Mariae in sabbato +31 ef-christ-the-king +.TE + +.SH +November +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 all-saints 2 commemoration-of-all-souls 3 ef-time-after-pentecost-24-wednesday 4 charles-borromeo 5 ef-time-after-pentecost-24-friday 6 Officium sanctae Mariae in sabbato +7 ef-time-after-epiphany-sunday-5 8 ef-time-after-pentecost-25-monday 9 dedication-of-the-archbasilica-of-our-holy-savior 10 andrew-avellino 11 martin-of-tours 12 martin-i 13 didacus +14 ef-time-after-epiphany-sunday-6 15 albert-the-great 16 gertrude-the-great 17 gregory-the-wonderworker 18 dedication-of-the-basilicas-of-sts-peter-paul 19 elizabeth-of-hungary 20 felix-of-valois +21 ef-time-after-pentecost-sunday-24 22 cecilia 23 clement-i 24 john-of-the-cross 25 catherine-of-alexandria 26 sylvester 27 Officium sanctae Mariae in sabbato +28 ef-advent-sunday-1 29 ef-advent-1-monday 30 andrew +.TE + +.SH +December +.TS +allbox; +c c c c c c c +l l l l l l l. +Dom Lun Mar Mer Iov Ven Sab + 1 ef-advent-1-wednesday 2 vivian 3 francis-xavier 4 peter-chrysologus +5 ef-advent-sunday-2 6 nicholas 7 ambrose 8 immaculate-conception-of-the-blessed-virgin-mary 9 ef-advent-2-thursday 10 ef-advent-2-friday 11 damasus-i +12 ef-advent-sunday-3 13 lucy 14 ef-advent-3-tuesday 15 ef-advent-ember-wed 16 eusebius 17 ef-advent-ember-fri 18 ef-advent-ember-sat +19 ef-advent-sunday-4 20 ef-advent-4-monday 21 thomas 22 ef-advent-4-wednesday 23 ef-advent-4-thursday 24 ef-nativity-vigil 25 ef-nativity +26 ef-christmas-sunday-0 27 john-the-evangelist 28 holy-innocents 29 ef-nativity-octave-day-5 30 ef-nativity-octave-day-6 31 ef-nativity-octave-day-7 +.TE + diff --git a/test/golden/grid-2027.tex b/test/golden/grid-2027.tex new file mode 100644 index 0000000..9a50ddd --- /dev/null +++ b/test/golden/grid-2027.tex @@ -0,0 +1,174 @@ +% colitur wall calendar -- LaTeX. flavour: latex +% Build: colitur table --year 2027 --template grid.tex > grid.tex && pdflatex grid.tex +% +% Day label falls back to the slug when the day carries no Latin name (most +% temporal days, and most sanctoral entries, which are Latin-less in the +% shipped data). The fallback is written as a name-section wrapping a plain +% var and its inverse, deliberately NOT as a single dotted-path lookup +% followed by its own inverse: a dotted lookup that misses climbs to the +% enclosing scope for the WHOLE path, and the month object also carries a +% same-named key one level up, so the naive form would render the month's +% own Latin name on every day lacking one, and never fall back at all. +% +% Every cell also carries a last flag, true on the seventh of its row: the +% engine has no unless-last construct, so the separator BETWEEN cells comes +% from data, not the template. A trailing separator on every cell would give +% eight columns for seven and pdflatex would reject the file outright. +\documentclass[10pt,landscape]{article} +\usepackage[a4paper,margin=10mm]{geometry} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[table]{xcolor} +\definecolor{lwhite}{HTML}{FFFFFF}\definecolor{lred}{HTML}{FFDDDD} +\definecolor{lgreen}{HTML}{DDFFDD}\definecolor{lviolet}{HTML}{EEAAEE} +\definecolor{lrose}{HTML}{FFDDEE}\definecolor{lblack}{HTML}{DDDDDD} +\begin{document} + +\section*{ Ianuarius 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize ef-circumcision & \cellcolor{lwhite}\textbf{ 2 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lwhite}\textbf{ 3 } \footnotesize Sanctissimi Nominis Iesu & \cellcolor{lwhite}\textbf{ 4 } \footnotesize ef-christmas-1-monday & \cellcolor{lwhite}\textbf{ 5 } \footnotesize ef-christmas-1-tuesday & \cellcolor{lwhite}\textbf{ 6 } \footnotesize ef-epiphany & \cellcolor{lwhite}\textbf{ 7 } \footnotesize ef-christmas-2-thursday & \cellcolor{lwhite}\textbf{ 8 } \footnotesize ef-christmas-2-friday & \cellcolor{lwhite}\textbf{ 9 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lwhite}\textbf{ 10 } \footnotesize Sanctae Familiae Iesu, Mariae, Ioseph & \cellcolor{lwhite}\textbf{ 11 } \footnotesize ef-time-after-epiphany-1-monday & \cellcolor{lwhite}\textbf{ 12 } \footnotesize ef-time-after-epiphany-1-tuesday & \cellcolor{lwhite}\textbf{ 13 } \footnotesize commemoration-of-the-baptism-of-the-lord & \cellcolor{lwhite}\textbf{ 14 } \footnotesize hilary & \cellcolor{lwhite}\textbf{ 15 } \footnotesize paul-the-first-hermit & \cellcolor{lred}\textbf{ 16 } \footnotesize marcellus-i \\ \hline +\cellcolor{lgreen}\textbf{ 17 } \footnotesize ef-time-after-epiphany-sunday-2 & \cellcolor{lgreen}\textbf{ 18 } \footnotesize ef-time-after-epiphany-2-monday & \cellcolor{lgreen}\textbf{ 19 } \footnotesize ef-time-after-epiphany-2-tuesday & \cellcolor{lred}\textbf{ 20 } \footnotesize sts-fabian-sebastian & \cellcolor{lred}\textbf{ 21 } \footnotesize agnes & \cellcolor{lred}\textbf{ 22 } \footnotesize sts-vincent-anastasius & \cellcolor{lwhite}\textbf{ 23 } \footnotesize raymond-of-pe-afort \\ \hline +\cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-septuagesima-sunday-1 & \cellcolor{lwhite}\textbf{ 25 } \footnotesize conversion-of-st-paul & \cellcolor{lred}\textbf{ 26 } \footnotesize polycarp & \cellcolor{lwhite}\textbf{ 27 } \footnotesize john-chrysostom & \cellcolor{lwhite}\textbf{ 28 } \footnotesize peter-nolasco & \cellcolor{lwhite}\textbf{ 29 } \footnotesize francis-de-sales & \cellcolor{lred}\textbf{ 30 } \footnotesize martina \\ \hline +\cellcolor{lviolet}\textbf{ 31 } \footnotesize ef-septuagesima-sunday-2 & & & & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ Februarius 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & \cellcolor{lred}\textbf{ 1 } \footnotesize ignatius-of-antioch & \cellcolor{lwhite}\textbf{ 2 } \footnotesize purification-of-the-blessed-virgin-mary & \cellcolor{lviolet}\textbf{ 3 } \footnotesize ef-septuagesima-2-wednesday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize andrew-corsini & \cellcolor{lred}\textbf{ 5 } \footnotesize agatha & \cellcolor{lwhite}\textbf{ 6 } \footnotesize titus \\ \hline +\cellcolor{lviolet}\textbf{ 7 } \footnotesize ef-septuagesima-sunday-3 & \cellcolor{lwhite}\textbf{ 8 } \footnotesize john-of-matha & \cellcolor{lwhite}\textbf{ 9 } \footnotesize cyril-of-alexandria & \cellcolor{lviolet}\textbf{ 10 } \footnotesize ef-ash-wednesday & \cellcolor{lviolet}\textbf{ 11 } \footnotesize ef-lent-after-ashes-thursday & \cellcolor{lviolet}\textbf{ 12 } \footnotesize ef-lent-after-ashes-friday & \cellcolor{lviolet}\textbf{ 13 } \footnotesize ef-lent-after-ashes-saturday \\ \hline +\cellcolor{lviolet}\textbf{ 14 } \footnotesize ef-lent-sunday-1 & \cellcolor{lviolet}\textbf{ 15 } \footnotesize ef-lent-1-monday & \cellcolor{lviolet}\textbf{ 16 } \footnotesize ef-lent-1-tuesday & \cellcolor{lviolet}\textbf{ 17 } \footnotesize ef-lent-ember-wed & \cellcolor{lviolet}\textbf{ 18 } \footnotesize ef-lent-1-thursday & \cellcolor{lviolet}\textbf{ 19 } \footnotesize ef-lent-ember-fri & \cellcolor{lviolet}\textbf{ 20 } \footnotesize ef-lent-ember-sat \\ \hline +\cellcolor{lviolet}\textbf{ 21 } \footnotesize ef-lent-sunday-2 & \cellcolor{lwhite}\textbf{ 22 } \footnotesize chair-of-st-peter & \cellcolor{lviolet}\textbf{ 23 } \footnotesize ef-lent-2-tuesday & \cellcolor{lred}\textbf{ 24 } \footnotesize matthias & \cellcolor{lviolet}\textbf{ 25 } \footnotesize ef-lent-2-thursday & \cellcolor{lviolet}\textbf{ 26 } \footnotesize ef-lent-2-friday & \cellcolor{lviolet}\textbf{ 27 } \footnotesize ef-lent-2-saturday \\ \hline +\cellcolor{lviolet}\textbf{ 28 } \footnotesize ef-lent-sunday-3 & & & & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ Martius 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & \cellcolor{lviolet}\textbf{ 1 } \footnotesize ef-lent-3-monday & \cellcolor{lviolet}\textbf{ 2 } \footnotesize ef-lent-3-tuesday & \cellcolor{lviolet}\textbf{ 3 } \footnotesize ef-lent-3-wednesday & \cellcolor{lviolet}\textbf{ 4 } \footnotesize ef-lent-3-thursday & \cellcolor{lviolet}\textbf{ 5 } \footnotesize ef-lent-3-friday & \cellcolor{lviolet}\textbf{ 6 } \footnotesize ef-lent-3-saturday \\ \hline +\cellcolor{lrose}\textbf{ 7 } \footnotesize ef-lent-sunday-4 & \cellcolor{lviolet}\textbf{ 8 } \footnotesize ef-lent-4-monday & \cellcolor{lviolet}\textbf{ 9 } \footnotesize ef-lent-4-tuesday & \cellcolor{lviolet}\textbf{ 10 } \footnotesize ef-lent-4-wednesday & \cellcolor{lviolet}\textbf{ 11 } \footnotesize ef-lent-4-thursday & \cellcolor{lviolet}\textbf{ 12 } \footnotesize ef-lent-4-friday & \cellcolor{lviolet}\textbf{ 13 } \footnotesize ef-lent-4-saturday \\ \hline +\cellcolor{lviolet}\textbf{ 14 } \footnotesize ef-passion-sunday & \cellcolor{lviolet}\textbf{ 15 } \footnotesize ef-passiontide-1-monday & \cellcolor{lviolet}\textbf{ 16 } \footnotesize ef-passiontide-1-tuesday & \cellcolor{lviolet}\textbf{ 17 } \footnotesize ef-passiontide-1-wednesday & \cellcolor{lviolet}\textbf{ 18 } \footnotesize ef-passiontide-1-thursday & \cellcolor{lwhite}\textbf{ 19 } \footnotesize joseph-spouse-of-the-bl-virgin-mary & \cellcolor{lviolet}\textbf{ 20 } \footnotesize ef-passiontide-1-saturday \\ \hline +\cellcolor{lviolet}\textbf{ 21 } \footnotesize ef-palm-sunday & \cellcolor{lviolet}\textbf{ 22 } \footnotesize ef-passiontide-2-monday & \cellcolor{lviolet}\textbf{ 23 } \footnotesize ef-passiontide-2-tuesday & \cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-passiontide-2-wednesday & \cellcolor{lwhite}\textbf{ 25 } \footnotesize Feria V in Cena Domini & \cellcolor{lblack}\textbf{ 26 } \footnotesize Feria VI in Passione et Morte Domini & \cellcolor{lviolet}\textbf{ 27 } \footnotesize Sabbato sancto \\ \hline +\cellcolor{lwhite}\textbf{ 28 } \footnotesize ef-easter-sunday & \cellcolor{lwhite}\textbf{ 29 } \footnotesize ef-easter-1-monday & \cellcolor{lwhite}\textbf{ 30 } \footnotesize ef-easter-1-tuesday & \cellcolor{lwhite}\textbf{ 31 } \footnotesize ef-easter-1-wednesday & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ Aprilis 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize ef-easter-1-thursday & \cellcolor{lwhite}\textbf{ 2 } \footnotesize ef-easter-1-friday & \cellcolor{lwhite}\textbf{ 3 } \footnotesize ef-easter-1-saturday \\ \hline +\cellcolor{lwhite}\textbf{ 4 } \footnotesize ef-low-sunday & \cellcolor{lwhite}\textbf{ 5 } \footnotesize annunciation-of-the-blessed-virgin-mary & \cellcolor{lwhite}\textbf{ 6 } \footnotesize ef-easter-2-tuesday & \cellcolor{lwhite}\textbf{ 7 } \footnotesize ef-easter-2-wednesday & \cellcolor{lwhite}\textbf{ 8 } \footnotesize ef-easter-2-thursday & \cellcolor{lwhite}\textbf{ 9 } \footnotesize ef-easter-2-friday & \cellcolor{lwhite}\textbf{ 10 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lwhite}\textbf{ 11 } \footnotesize ef-easter-sunday-3 & \cellcolor{lwhite}\textbf{ 12 } \footnotesize ef-easter-3-monday & \cellcolor{lred}\textbf{ 13 } \footnotesize hermenegild & \cellcolor{lred}\textbf{ 14 } \footnotesize justin & \cellcolor{lwhite}\textbf{ 15 } \footnotesize ef-easter-3-thursday & \cellcolor{lwhite}\textbf{ 16 } \footnotesize ef-easter-3-friday & \cellcolor{lwhite}\textbf{ 17 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lwhite}\textbf{ 18 } \footnotesize ef-easter-sunday-4 & \cellcolor{lwhite}\textbf{ 19 } \footnotesize ef-easter-4-monday & \cellcolor{lwhite}\textbf{ 20 } \footnotesize ef-easter-4-tuesday & \cellcolor{lwhite}\textbf{ 21 } \footnotesize anselm & \cellcolor{lred}\textbf{ 22 } \footnotesize sts-soter-caius & \cellcolor{lwhite}\textbf{ 23 } \footnotesize ef-easter-4-friday & \cellcolor{lred}\textbf{ 24 } \footnotesize fidelis-of-sigmaringen \\ \hline +\cellcolor{lwhite}\textbf{ 25 } \footnotesize ef-easter-sunday-5 & \cellcolor{lred}\textbf{ 26 } \footnotesize sts-cletus-marcellinus & \cellcolor{lwhite}\textbf{ 27 } \footnotesize peter-canisius & \cellcolor{lwhite}\textbf{ 28 } \footnotesize paul-of-the-cross & \cellcolor{lred}\textbf{ 29 } \footnotesize peter-of-verona & \cellcolor{lwhite}\textbf{ 30 } \footnotesize catherine-of-siena & \\ \hline + +\end{tabular} +\newpage + +\section*{ Maius 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & & & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize joseph-the-workman \\ \hline +\cellcolor{lwhite}\textbf{ 2 } \footnotesize ef-easter-sunday-6 & \cellcolor{lviolet}\textbf{ 3 } \footnotesize ef-rogation-monday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize monica & \cellcolor{lwhite}\textbf{ 5 } \footnotesize ef-ascension-vigil & \cellcolor{lwhite}\textbf{ 6 } \footnotesize ef-ascension & \cellcolor{lred}\textbf{ 7 } \footnotesize stanislaus & \cellcolor{lwhite}\textbf{ 8 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lwhite}\textbf{ 9 } \footnotesize ef-easter-sunday-7 & \cellcolor{lwhite}\textbf{ 10 } \footnotesize antoninus & \cellcolor{lred}\textbf{ 11 } \footnotesize sts-philip-james & \cellcolor{lred}\textbf{ 12 } \footnotesize sts-nereus-achilleus-domitilla-pancras & \cellcolor{lwhite}\textbf{ 13 } \footnotesize robert-bellarmine & \cellcolor{lwhite}\textbf{ 14 } \footnotesize ef-easter-7-friday & \cellcolor{lred}\textbf{ 15 } \footnotesize ef-pentecost-vigil \\ \hline +\cellcolor{lred}\textbf{ 16 } \footnotesize ef-pentecost & \cellcolor{lred}\textbf{ 17 } \footnotesize ef-easter-8-monday & \cellcolor{lred}\textbf{ 18 } \footnotesize ef-easter-8-tuesday & \cellcolor{lred}\textbf{ 19 } \footnotesize ef-pentecost-ember-wed & \cellcolor{lred}\textbf{ 20 } \footnotesize ef-easter-8-thursday & \cellcolor{lred}\textbf{ 21 } \footnotesize ef-pentecost-ember-fri & \cellcolor{lred}\textbf{ 22 } \footnotesize ef-pentecost-ember-sat \\ \hline +\cellcolor{lwhite}\textbf{ 23 } \footnotesize ef-trinity & \cellcolor{lgreen}\textbf{ 24 } \footnotesize ef-time-after-pentecost-1-monday & \cellcolor{lwhite}\textbf{ 25 } \footnotesize gregory-vii & \cellcolor{lwhite}\textbf{ 26 } \footnotesize philip-neri & \cellcolor{lwhite}\textbf{ 27 } \footnotesize ef-corpus-christi & \cellcolor{lwhite}\textbf{ 28 } \footnotesize augustine-of-canterbury & \cellcolor{lwhite}\textbf{ 29 } \footnotesize mary-magdalene-de-pazzi \\ \hline +\cellcolor{lgreen}\textbf{ 30 } \footnotesize ef-time-after-pentecost-sunday-2 & \cellcolor{lwhite}\textbf{ 31 } \footnotesize queenship-of-the-blessed-virgin-mary & & & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ Iunius 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & \cellcolor{lwhite}\textbf{ 1 } \footnotesize angela-merici & \cellcolor{lgreen}\textbf{ 2 } \footnotesize ef-time-after-pentecost-2-wednesday & \cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-2-thursday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize ef-sacred-heart & \cellcolor{lred}\textbf{ 5 } \footnotesize boniface \\ \hline +\cellcolor{lgreen}\textbf{ 6 } \footnotesize ef-time-after-pentecost-sunday-3 & \cellcolor{lgreen}\textbf{ 7 } \footnotesize ef-time-after-pentecost-3-monday & \cellcolor{lgreen}\textbf{ 8 } \footnotesize ef-time-after-pentecost-3-tuesday & \cellcolor{lgreen}\textbf{ 9 } \footnotesize ef-time-after-pentecost-3-wednesday & \cellcolor{lwhite}\textbf{ 10 } \footnotesize margaret-of-scotland & \cellcolor{lred}\textbf{ 11 } \footnotesize barnabas & \cellcolor{lwhite}\textbf{ 12 } \footnotesize john-of-san-fecundo \\ \hline +\cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-sunday-4 & \cellcolor{lwhite}\textbf{ 14 } \footnotesize basil-the-great & \cellcolor{lgreen}\textbf{ 15 } \footnotesize ef-time-after-pentecost-4-tuesday & \cellcolor{lgreen}\textbf{ 16 } \footnotesize ef-time-after-pentecost-4-wednesday & \cellcolor{lwhite}\textbf{ 17 } \footnotesize gregory-barbarigo & \cellcolor{lwhite}\textbf{ 18 } \footnotesize ephrem-of-syria & \cellcolor{lwhite}\textbf{ 19 } \footnotesize julia-of-falconieri \\ \hline +\cellcolor{lgreen}\textbf{ 20 } \footnotesize ef-time-after-pentecost-sunday-5 & \cellcolor{lwhite}\textbf{ 21 } \footnotesize aloysius-gongzaga & \cellcolor{lwhite}\textbf{ 22 } \footnotesize paulinus-of-nola & \cellcolor{lviolet}\textbf{ 23 } \footnotesize vigil-of-the-nativity-of-st-john-the-baptist & \cellcolor{lwhite}\textbf{ 24 } \footnotesize nativity-of-st-john-the-baptist & \cellcolor{lwhite}\textbf{ 25 } \footnotesize william & \cellcolor{lred}\textbf{ 26 } \footnotesize sts-john-paul \\ \hline +\cellcolor{lgreen}\textbf{ 27 } \footnotesize ef-time-after-pentecost-sunday-6 & \cellcolor{lviolet}\textbf{ 28 } \footnotesize vigil-of-sts-peter-paul & \cellcolor{lred}\textbf{ 29 } \footnotesize sts-peter-paul & \cellcolor{lred}\textbf{ 30 } \footnotesize in-commemoratione-sancti-pauli-apostoli & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ Iulius 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & & \cellcolor{lred}\textbf{ 1 } \footnotesize precious-blood-of-our-lord-jesus-christ & \cellcolor{lwhite}\textbf{ 2 } \footnotesize visitation-of-the-blessed-virgin-mary & \cellcolor{lred}\textbf{ 3 } \footnotesize irenaeus \\ \hline +\cellcolor{lgreen}\textbf{ 4 } \footnotesize ef-time-after-pentecost-sunday-7 & \cellcolor{lwhite}\textbf{ 5 } \footnotesize anthony-mary-zaccariah & \cellcolor{lgreen}\textbf{ 6 } \footnotesize ef-time-after-pentecost-7-tuesday & \cellcolor{lwhite}\textbf{ 7 } \footnotesize sts-cyril-methodius & \cellcolor{lwhite}\textbf{ 8 } \footnotesize elizabeth-of-portugal & \cellcolor{lgreen}\textbf{ 9 } \footnotesize ef-time-after-pentecost-7-friday & \cellcolor{lred}\textbf{ 10 } \footnotesize seven-holy-brothers-and-sts-rufina-secunda \\ \hline +\cellcolor{lgreen}\textbf{ 11 } \footnotesize ef-time-after-pentecost-sunday-8 & \cellcolor{lwhite}\textbf{ 12 } \footnotesize john-gualbert & \cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-8-tuesday & \cellcolor{lwhite}\textbf{ 14 } \footnotesize bonaventure & \cellcolor{lwhite}\textbf{ 15 } \footnotesize henry-the-emperor & \cellcolor{lgreen}\textbf{ 16 } \footnotesize ef-time-after-pentecost-8-friday & \cellcolor{lwhite}\textbf{ 17 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lgreen}\textbf{ 18 } \footnotesize ef-time-after-pentecost-sunday-9 & \cellcolor{lwhite}\textbf{ 19 } \footnotesize vincent-de-paul & \cellcolor{lwhite}\textbf{ 20 } \footnotesize jerome-emiliani & \cellcolor{lwhite}\textbf{ 21 } \footnotesize laurence-of-brindisi & \cellcolor{lwhite}\textbf{ 22 } \footnotesize mary-magdalene & \cellcolor{lred}\textbf{ 23 } \footnotesize apollinaris & \cellcolor{lwhite}\textbf{ 24 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lgreen}\textbf{ 25 } \footnotesize ef-time-after-pentecost-sunday-10 & \cellcolor{lwhite}\textbf{ 26 } \footnotesize anne-mother-of-the-blessed-virgin & \cellcolor{lgreen}\textbf{ 27 } \footnotesize ef-time-after-pentecost-10-tuesday & \cellcolor{lred}\textbf{ 28 } \footnotesize sts-nazarius-celsus-st-victor-i-st-innocent-i & \cellcolor{lwhite}\textbf{ 29 } \footnotesize martha & \cellcolor{lgreen}\textbf{ 30 } \footnotesize ef-time-after-pentecost-10-friday & \cellcolor{lwhite}\textbf{ 31 } \footnotesize ignatius-loyola \\ \hline + +\end{tabular} +\newpage + +\section*{ Augustus 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline +\cellcolor{lgreen}\textbf{ 1 } \footnotesize ef-time-after-pentecost-sunday-11 & \cellcolor{lwhite}\textbf{ 2 } \footnotesize alphonsus-liguori & \cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-11-tuesday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize dominic & \cellcolor{lwhite}\textbf{ 5 } \footnotesize dedication-of-the-basilica-of-st-mary-major & \cellcolor{lwhite}\textbf{ 6 } \footnotesize transfiguration-of-our-lord & \cellcolor{lwhite}\textbf{ 7 } \footnotesize cajetan \\ \hline +\cellcolor{lgreen}\textbf{ 8 } \footnotesize ef-time-after-pentecost-sunday-12 & \cellcolor{lviolet}\textbf{ 9 } \footnotesize vigil-of-st-lawrence & \cellcolor{lred}\textbf{ 10 } \footnotesize lawrence & \cellcolor{lgreen}\textbf{ 11 } \footnotesize ef-time-after-pentecost-12-wednesday & \cellcolor{lwhite}\textbf{ 12 } \footnotesize clare & \cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-12-friday & \cellcolor{lviolet}\textbf{ 14 } \footnotesize vigil-of-the-assumption \\ \hline +\cellcolor{lwhite}\textbf{ 15 } \footnotesize assumption-of-the-blessed-virgin-mary & \cellcolor{lwhite}\textbf{ 16 } \footnotesize joachim-father-of-the-blessed-virgin & \cellcolor{lwhite}\textbf{ 17 } \footnotesize hyacinth & \cellcolor{lgreen}\textbf{ 18 } \footnotesize ef-time-after-pentecost-13-wednesday & \cellcolor{lwhite}\textbf{ 19 } \footnotesize john-eudes & \cellcolor{lwhite}\textbf{ 20 } \footnotesize bernard-of-clairvaux & \cellcolor{lwhite}\textbf{ 21 } \footnotesize jane-frances-de-chantal \\ \hline +\cellcolor{lgreen}\textbf{ 22 } \footnotesize ef-time-after-pentecost-sunday-14 & \cellcolor{lwhite}\textbf{ 23 } \footnotesize philip-benizi & \cellcolor{lred}\textbf{ 24 } \footnotesize bartholomew & \cellcolor{lwhite}\textbf{ 25 } \footnotesize louis-ix & \cellcolor{lgreen}\textbf{ 26 } \footnotesize ef-time-after-pentecost-14-thursday & \cellcolor{lwhite}\textbf{ 27 } \footnotesize joseph-calasance & \cellcolor{lwhite}\textbf{ 28 } \footnotesize augustine \\ \hline +\cellcolor{lgreen}\textbf{ 29 } \footnotesize ef-time-after-pentecost-sunday-15 & \cellcolor{lwhite}\textbf{ 30 } \footnotesize rose-of-lima & \cellcolor{lwhite}\textbf{ 31 } \footnotesize raymond-nonnatus & & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ September 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & \cellcolor{lgreen}\textbf{ 1 } \footnotesize ef-time-after-pentecost-15-wednesday & \cellcolor{lwhite}\textbf{ 2 } \footnotesize stephen-of-hungary & \cellcolor{lwhite}\textbf{ 3 } \footnotesize pius-x & \cellcolor{lwhite}\textbf{ 4 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lgreen}\textbf{ 5 } \footnotesize ef-time-after-pentecost-sunday-16 & \cellcolor{lgreen}\textbf{ 6 } \footnotesize ef-time-after-pentecost-16-monday & \cellcolor{lgreen}\textbf{ 7 } \footnotesize ef-time-after-pentecost-16-tuesday & \cellcolor{lwhite}\textbf{ 8 } \footnotesize nativity-of-the-blessed-virgin-mary & \cellcolor{lgreen}\textbf{ 9 } \footnotesize ef-time-after-pentecost-16-thursday & \cellcolor{lwhite}\textbf{ 10 } \footnotesize nicholas-of-tolentino & \cellcolor{lwhite}\textbf{ 11 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lgreen}\textbf{ 12 } \footnotesize ef-time-after-pentecost-sunday-17 & \cellcolor{lgreen}\textbf{ 13 } \footnotesize ef-time-after-pentecost-17-monday & \cellcolor{lred}\textbf{ 14 } \footnotesize exaltation-of-the-holy-cross & \cellcolor{lwhite}\textbf{ 15 } \footnotesize seven-sorrows-of-the-blessed-virgin-mary & \cellcolor{lred}\textbf{ 16 } \footnotesize sts-cornelius-cyprian & \cellcolor{lgreen}\textbf{ 17 } \footnotesize ef-time-after-pentecost-17-friday & \cellcolor{lwhite}\textbf{ 18 } \footnotesize joseph-of-cupertino \\ \hline +\cellcolor{lgreen}\textbf{ 19 } \footnotesize ef-time-after-pentecost-sunday-18 & \cellcolor{lgreen}\textbf{ 20 } \footnotesize ef-time-after-pentecost-18-monday & \cellcolor{lred}\textbf{ 21 } \footnotesize matthew & \cellcolor{lviolet}\textbf{ 22 } \footnotesize ef-september-ember-wed & \cellcolor{lred}\textbf{ 23 } \footnotesize linus & \cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-september-ember-fri & \cellcolor{lviolet}\textbf{ 25 } \footnotesize ef-september-ember-sat \\ \hline +\cellcolor{lgreen}\textbf{ 26 } \footnotesize ef-time-after-pentecost-sunday-19 & \cellcolor{lred}\textbf{ 27 } \footnotesize sts-cosmas-damian & \cellcolor{lred}\textbf{ 28 } \footnotesize wenceslaus & \cellcolor{lwhite}\textbf{ 29 } \footnotesize dedication-of-st-michael-the-archangel & \cellcolor{lwhite}\textbf{ 30 } \footnotesize jerome & & \\ \hline + +\end{tabular} +\newpage + +\section*{ October 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & & & \cellcolor{lgreen}\textbf{ 1 } \footnotesize ef-time-after-pentecost-19-friday & \cellcolor{lwhite}\textbf{ 2 } \footnotesize holy-guardian-angels \\ \hline +\cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-sunday-20 & \cellcolor{lwhite}\textbf{ 4 } \footnotesize francis-of-assisi & \cellcolor{lgreen}\textbf{ 5 } \footnotesize ef-time-after-pentecost-20-tuesday & \cellcolor{lwhite}\textbf{ 6 } \footnotesize bruno & \cellcolor{lwhite}\textbf{ 7 } \footnotesize our-lady-of-the-rosary & \cellcolor{lwhite}\textbf{ 8 } \footnotesize bridget-of-sweden & \cellcolor{lwhite}\textbf{ 9 } \footnotesize john-leonardi \\ \hline +\cellcolor{lgreen}\textbf{ 10 } \footnotesize ef-time-after-pentecost-sunday-21 & \cellcolor{lwhite}\textbf{ 11 } \footnotesize maternity-of-the-blessed-virgin-mary & \cellcolor{lgreen}\textbf{ 12 } \footnotesize ef-time-after-pentecost-21-tuesday & \cellcolor{lwhite}\textbf{ 13 } \footnotesize edward & \cellcolor{lred}\textbf{ 14 } \footnotesize callistus-i & \cellcolor{lwhite}\textbf{ 15 } \footnotesize teresa-of-avila & \cellcolor{lwhite}\textbf{ 16 } \footnotesize hedwig \\ \hline +\cellcolor{lgreen}\textbf{ 17 } \footnotesize ef-time-after-pentecost-sunday-22 & \cellcolor{lred}\textbf{ 18 } \footnotesize luke-the-evangelist & \cellcolor{lwhite}\textbf{ 19 } \footnotesize peter-of-alcantara & \cellcolor{lwhite}\textbf{ 20 } \footnotesize john-cantius & \cellcolor{lgreen}\textbf{ 21 } \footnotesize ef-time-after-pentecost-22-thursday & \cellcolor{lgreen}\textbf{ 22 } \footnotesize ef-time-after-pentecost-22-friday & \cellcolor{lwhite}\textbf{ 23 } \footnotesize anthony-mary-claret \\ \hline +\cellcolor{lgreen}\textbf{ 24 } \footnotesize ef-time-after-pentecost-sunday-23 & \cellcolor{lgreen}\textbf{ 25 } \footnotesize ef-time-after-pentecost-23-monday & \cellcolor{lgreen}\textbf{ 26 } \footnotesize ef-time-after-pentecost-23-tuesday & \cellcolor{lgreen}\textbf{ 27 } \footnotesize ef-time-after-pentecost-23-wednesday & \cellcolor{lred}\textbf{ 28 } \footnotesize sts-simon-jude & \cellcolor{lgreen}\textbf{ 29 } \footnotesize ef-time-after-pentecost-23-friday & \cellcolor{lwhite}\textbf{ 30 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lwhite}\textbf{ 31 } \footnotesize ef-christ-the-king & & & & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ November 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & \cellcolor{lwhite}\textbf{ 1 } \footnotesize all-saints & \cellcolor{lblack}\textbf{ 2 } \footnotesize commemoration-of-all-souls & \cellcolor{lgreen}\textbf{ 3 } \footnotesize ef-time-after-pentecost-24-wednesday & \cellcolor{lwhite}\textbf{ 4 } \footnotesize charles-borromeo & \cellcolor{lgreen}\textbf{ 5 } \footnotesize ef-time-after-pentecost-24-friday & \cellcolor{lwhite}\textbf{ 6 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lgreen}\textbf{ 7 } \footnotesize ef-time-after-epiphany-sunday-5 & \cellcolor{lgreen}\textbf{ 8 } \footnotesize ef-time-after-pentecost-25-monday & \cellcolor{lwhite}\textbf{ 9 } \footnotesize dedication-of-the-archbasilica-of-our-holy-savior & \cellcolor{lwhite}\textbf{ 10 } \footnotesize andrew-avellino & \cellcolor{lwhite}\textbf{ 11 } \footnotesize martin-of-tours & \cellcolor{lred}\textbf{ 12 } \footnotesize martin-i & \cellcolor{lwhite}\textbf{ 13 } \footnotesize didacus \\ \hline +\cellcolor{lgreen}\textbf{ 14 } \footnotesize ef-time-after-epiphany-sunday-6 & \cellcolor{lwhite}\textbf{ 15 } \footnotesize albert-the-great & \cellcolor{lwhite}\textbf{ 16 } \footnotesize gertrude-the-great & \cellcolor{lwhite}\textbf{ 17 } \footnotesize gregory-the-wonderworker & \cellcolor{lwhite}\textbf{ 18 } \footnotesize dedication-of-the-basilicas-of-sts-peter-paul & \cellcolor{lwhite}\textbf{ 19 } \footnotesize elizabeth-of-hungary & \cellcolor{lwhite}\textbf{ 20 } \footnotesize felix-of-valois \\ \hline +\cellcolor{lgreen}\textbf{ 21 } \footnotesize ef-time-after-pentecost-sunday-24 & \cellcolor{lred}\textbf{ 22 } \footnotesize cecilia & \cellcolor{lred}\textbf{ 23 } \footnotesize clement-i & \cellcolor{lwhite}\textbf{ 24 } \footnotesize john-of-the-cross & \cellcolor{lred}\textbf{ 25 } \footnotesize catherine-of-alexandria & \cellcolor{lwhite}\textbf{ 26 } \footnotesize sylvester & \cellcolor{lwhite}\textbf{ 27 } \footnotesize Officium sanctae Mariae in sabbato \\ \hline +\cellcolor{lviolet}\textbf{ 28 } \footnotesize ef-advent-sunday-1 & \cellcolor{lviolet}\textbf{ 29 } \footnotesize ef-advent-1-monday & \cellcolor{lred}\textbf{ 30 } \footnotesize andrew & & & & \\ \hline + +\end{tabular} +\newpage + +\section*{ December 2027 } +\begin{tabular}{|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|p{2.6cm}|} +\hline Dom & Lun & Mar & Mer & Iov & Ven & Sab \\ \hline + & & & \cellcolor{lviolet}\textbf{ 1 } \footnotesize ef-advent-1-wednesday & \cellcolor{lred}\textbf{ 2 } \footnotesize vivian & \cellcolor{lwhite}\textbf{ 3 } \footnotesize francis-xavier & \cellcolor{lwhite}\textbf{ 4 } \footnotesize peter-chrysologus \\ \hline +\cellcolor{lviolet}\textbf{ 5 } \footnotesize ef-advent-sunday-2 & \cellcolor{lwhite}\textbf{ 6 } \footnotesize nicholas & \cellcolor{lwhite}\textbf{ 7 } \footnotesize ambrose & \cellcolor{lwhite}\textbf{ 8 } \footnotesize immaculate-conception-of-the-blessed-virgin-mary & \cellcolor{lviolet}\textbf{ 9 } \footnotesize ef-advent-2-thursday & \cellcolor{lviolet}\textbf{ 10 } \footnotesize ef-advent-2-friday & \cellcolor{lwhite}\textbf{ 11 } \footnotesize damasus-i \\ \hline +\cellcolor{lrose}\textbf{ 12 } \footnotesize ef-advent-sunday-3 & \cellcolor{lred}\textbf{ 13 } \footnotesize lucy & \cellcolor{lviolet}\textbf{ 14 } \footnotesize ef-advent-3-tuesday & \cellcolor{lviolet}\textbf{ 15 } \footnotesize ef-advent-ember-wed & \cellcolor{lred}\textbf{ 16 } \footnotesize eusebius & \cellcolor{lviolet}\textbf{ 17 } \footnotesize ef-advent-ember-fri & \cellcolor{lviolet}\textbf{ 18 } \footnotesize ef-advent-ember-sat \\ \hline +\cellcolor{lviolet}\textbf{ 19 } \footnotesize ef-advent-sunday-4 & \cellcolor{lviolet}\textbf{ 20 } \footnotesize ef-advent-4-monday & \cellcolor{lred}\textbf{ 21 } \footnotesize thomas & \cellcolor{lviolet}\textbf{ 22 } \footnotesize ef-advent-4-wednesday & \cellcolor{lviolet}\textbf{ 23 } \footnotesize ef-advent-4-thursday & \cellcolor{lviolet}\textbf{ 24 } \footnotesize ef-nativity-vigil & \cellcolor{lwhite}\textbf{ 25 } \footnotesize ef-nativity \\ \hline +\cellcolor{lwhite}\textbf{ 26 } \footnotesize ef-christmas-sunday-0 & \cellcolor{lwhite}\textbf{ 27 } \footnotesize john-the-evangelist & \cellcolor{lred}\textbf{ 28 } \footnotesize holy-innocents & \cellcolor{lwhite}\textbf{ 29 } \footnotesize ef-nativity-octave-day-5 & \cellcolor{lwhite}\textbf{ 30 } \footnotesize ef-nativity-octave-day-6 & \cellcolor{lwhite}\textbf{ 31 } \footnotesize ef-nativity-octave-day-7 & \\ \hline + +\end{tabular} +\newpage + +\end{document} diff --git a/test/test_render_golden.ml b/test/test_render_golden.ml index 913513a..6340109 100644 --- a/test/test_render_golden.ml +++ b/test/test_render_golden.ml @@ -33,7 +33,9 @@ let check_golden name = let want = read ("golden/" ^ Filename.remove_extension name ^ "-2027" ^ Filename.extension name) in Alcotest.(check string) name want got -let cases = [ "ordo.tex"; "ordo.ms"; "ordo.html"; "ordo.adoc"; "ordo.md"; "ordo.txt" ] +let cases = + [ "ordo.tex"; "ordo.ms"; "ordo.html"; "ordo.adoc"; "ordo.md"; "ordo.txt"; + "grid.tex"; "grid.ms"; "grid.html" ] let suite = ( "Render/golden", -- cgit v1.3