Markdown → EPUB 3 export, CSS Paged Media margin boxes and compressed output for the Swift PDF engine, and a round of Pages-extraction fidelity fixes.
EPUB
- New Markdown → EPUB 3 export in the
rendercommand (#41): chapters split per heading, packaged as a valid EPUB 3 container.
SwiftTextRender — Swift PDF engine
- CSS Paged Media margin boxes (#39):
@top-leftthrough@bottom-rightwithcontent, page counters, and per-page-context styling — running headers and footers land in the right place. - PDF content streams are FlateDecode-compressed (#44): output files shrink substantially with no rendering change.
- Fixed an O(n²) blowup in the paginated painter — many-page documents render in linear time.
Pages extraction fidelity
- Separated ordered lists restart at 1 (#47): each Markdown ordered-list container now gets its own inherited list-style instance, and nested unordered lists no longer break the parent's numbering continuity.
- Paragraph-style formatting is preserved (#49): bold, font size, and list numbering carried on paragraph styles (including anonymous "Body + bold" overrides and style inheritance via named parents) survive extraction; paragraph-style runs merge positionally in rich table cells; plain-text mode keeps generated list numbers.
- Underline survives to Markdown (#50): the inherited character-style underline property is decoded and emitted as inline
<u>, skipping redundant markup on hyperlinks.
Fixes
- Smart-punctuation reversal no longer mangles literal typographic characters (#38): curly quotes, dashes, and ellipses that were typed literally are left alone instead of being "un-smartened".
- Linux build fix in the render engine.
Full Changelog: 2.0.0...2.1.0