aboutsummaryrefslogtreecommitdiff
path: root/lib/render/escape.ml
Commit message (Collapse)AuthorAgeFilesLines
* feat(render): per-flavour escaping and RFC 5545 line foldingLukasz Kasprzak2026-08-191-0/+87
Six flavours: latex, groff, html, xml, ics, none. Markdown, AsciiDoc and plain text map to none deliberately -- their metacharacters are context-dependent and escaping them aggressively produces worse output than not escaping. An unrecognised extension returns None rather than falling back to none: guessing the flavour wrong produces malformed output that looks fine until it does not. Folding backs off to a non-continuation byte, so a fold never splits a UTF-8 sequence -- the failure mode that would corrupt Polish and Latin names in a published feed.