Changelog
0.2.1
validate(tree, options?): reports the mistakes that render silently wrong, with a path into the tree and a fix in each message. Checks fill and spacer placement,justifyalongside a fill, table keys that no row has (with a suggestion), empty columns, unregistered fonts, long text directly in a row, andpaddingon a table. Never throws, never renders.- Documentation site at https://grandbusta.github.io/spyde/, with
llms.txtandllms-full.txtfor AI assistants and a page of rules for writing Spyde with one. - README shortened to install, one example, and a pointer to the documentation.
- The raw PDFKit comparison example was removed from the repository.
0.2.0
Documents are no longer limited to one page.
Breaking
renderreturnsUint8Arrayinstead ofBuffer. Files, responses, and uploads accept it unchanged;Buffer.from(pdf)wraps it if a Node-only method is needed.- Tall content produces more pages. A root
columnnow continues onto further pages instead of being clipped to one.
New
- Pagination: columns and tables break across pages;
keep,pageBreak; table headers repeat and are never orphaned. image,spacer,divider,width,height,table.alignandjustifyonrowandcolumn;padding,background,marginas container options;keepas an option oncolumnandtable.renderHtmlandrenderDisplayList;fieldon text styles; the live preview example.- Pagination is a single pass; text measurement is memoised. A 2000-row statement went from 888 ms to 84 ms.
- A text with a line height tighter than the font's natural spacing now draws every line.
0.1.1
README updates.
0.1.0
First release: the single-page engine with text, padding, background, fill, row, column, and render.