v0.17.0
The bridge between rows and documents: spreadsheets reach every
document format as tables, and document tables come out as rows; the
paths list doubles.
Added
- The bridge between rows and documents (
src/io/csv/table.rs,src/converters/rows_document.rs):csv -> markdownandtsv -> markdownturn rows into a Markdown table (first row the header, rows padded or cut to its width, line breaks in cells folded to spaces, everything GFM would misread escaped), so a spreadsheet reaches HTML, Word, text, Markdown JSON, and every document path through the planner;markdown -> csvandmarkdown -> tsvtake a document's first table out as rows, so Word, Pages, and HTML tables reach every row and hub format. The paths list doubled (88 -> 184). Oracles intests/rows_document.rs. - Benchmark pair
csv-markdownagainst Miller (mlr --icsv --omd, a real tool) with the csv crate and a bespoke table printer as context, and pulldown-cmark with the csv crate for the reverse, every line passing.
Changed
- The formats map's Mermaid diagram draws an edge between categories to the other category's box (
csv -- conditional --> document), since the hub behind the box carries it on to every format there; edges inside a category are unchanged. - Markdown, for every path through it: the writer copies plain text in runs and scans for list-opening digits only where they can matter; the block parser keeps a table's cells in one vector with row ends instead of one vector per row (markdown -> csv on a million-row table 295 -> 215 MB); inline rendering hands plain text (no inline syntax, no autolink start) through as one event without the node machinery (markdown -> csv 108 -> 121 MB/s).