Commit Graph
8 Commits
Author SHA1 Message Date
pj 5c0040955e fix(export): correct list nesting, marks, line-start escaping, svg type
Four export-correctness fixes intermingled across the Typst and EPUB
renderers:

- H7: neutralize newlines in escaped text and apply leading-marker
  escaping (= - + / and N.) to the first text node of every block
  (paragraph, heading, list item, blockquote) and figure captions, even
  when that run carries a mark, so author text can never inject Typst
  markup or phantom headings/TOC entries.
- H9: render lists recursively so nested lists survive and multi-
  paragraph list items keep their paragraph breaks (Typst functional
  list()/enum(); EPUB nested <ul>/<ol> and multiple <p> in <li>).
- H10: render strike, underline and inline code marks in both exporters
  (Typst #strike/#underline/#raw; EPUB <s>/<u>/<code> with css).
- H8b: normalize +-bearing image subtypes so an imported svg+xml cover
  becomes cover.svg with the correct media type.

Validated the generated Typst constructs compile with typst 0.15.

Claude-Session: https://claude.ai/code/session_01RzTWrLiy4zGuw2hZSQGamk
2026-06-22 13:24:19 -04:00
pj 7cc36e3e40 changes 2026-06-22 09:56:20 -04:00
pj 47710970c2 changes 2026-06-21 14:17:57 -04:00
pj 0e0d334f6a changes 2026-06-20 23:46:10 -04:00
pj c86d5a7d5c changes 2026-06-20 19:48:18 -04:00
pj 734ded73ac changes 2026-06-20 19:23:28 -04:00
pj f8ddde5e91 fix(epub): embed fonts in the Rust packager instead of fetching in the webview 2026-06-20 14:30:07 -04:00
pj b1bd42fe2f feat(epub): add EPUB3 generator and zip packager 2026-06-20 13:02:30 -04:00