summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-19 10:32:33 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-19 10:32:44 +0200
commitb90678e560808dd788fa7d7eb319d93a83005db4 (patch)
tree73bbd6e35e3e99e5c6ad769ae0ceb02853fa5b2c /templates
parent2760d43d695ba08fc33f65357590675707b6570d (diff)
downloadcolitur-b90678e560808dd788fa7d7eb319d93a83005db4.tar.gz
colitur-b90678e560808dd788fa7d7eb319d93a83005db4.zip
docs(render): template reference, install rules, typesetting check
colitur-templates.5 documents the four syntax forms, the six flavours and their escaping, and the full view-model field reference. It states plainly that there are no partials, no raw form and no expression evaluation -- a template is data, never a program. It documents two real hazards found during this build, not theoretical ones: the outward scope fallback silently shadowing an inner name/num key with an outer one of the same name (with the safe {{#name}}...{{^la}} idiom), and the engine's lack of host-comment awareness (a {{...}} inside a LaTeX %, groff .\" or HTML <!-- --> comment is still parsed as a tag). It also states the limitation rather than hiding it: AsciiDoc and Markdown are not escaped, so a feast name containing * or _ renders as emphasis. templates/ and schema/ now install into <prefix>/share/colitur/, matching data/ef/, via new install stanzas; colitur-templates.5 installs to man5 beside colitur-overlay.5. Verified against a scratch prefix: the installed binary resolves both from the prefix, not the source tree, when run from an unrelated working directory. make check-templates typesets every shipped template through pdflatex and groff when they are installed, and prints SKIPPED loudly when they are not. Golden tests prove templates render; only this proves they typeset. A silent skip would read as a pass. Fixed a real doc/help drift while here: bin/main.ml's --help still said --overlay was accepted on day and readings only, three commands out of date (emit, table/render and publish all accept it too), disagreeing with the man page's own OVERLAYS section, which carried the identical stale line. Both are corrected; --overlay's own behaviour is unchanged.
Diffstat (limited to 'templates')
-rw-r--r--templates/dune22
1 files changed, 22 insertions, 0 deletions
diff --git a/templates/dune b/templates/dune
new file mode 100644
index 0000000..e5918a0
--- /dev/null
+++ b/templates/dune
@@ -0,0 +1,22 @@
+; The shipped templates, installed into <prefix>/share/colitur/templates/
+; so a user can render a booklet or a wall calendar straight from an
+; installed `colitur`, without a source checkout on hand -- the same
+; "runnable documentation" reasoning data/dune already gives
+; examples/diocesan-example.sexp. Nothing in colitur's own code path looks
+; these up (--template takes a plain, user-given file path, read exactly
+; like an overlay file), so this is a convenience install, not something a
+; probe function depends on the way [data_dir]/[schema_path] depend on
+; data/ef/ and schema/. Task 13.
+(install
+ (section share)
+ (package colitur)
+ (files
+ (ef/ordo.tex as templates/ef/ordo.tex)
+ (ef/ordo.ms as templates/ef/ordo.ms)
+ (ef/ordo.html as templates/ef/ordo.html)
+ (ef/ordo.adoc as templates/ef/ordo.adoc)
+ (ef/ordo.md as templates/ef/ordo.md)
+ (ef/ordo.txt as templates/ef/ordo.txt)
+ (ef/grid.tex as templates/ef/grid.tex)
+ (ef/grid.ms as templates/ef/grid.ms)
+ (ef/grid.html as templates/ef/grid.html)))