▲ | lewisjoe 2 days ago | |
Sounds like a wild ride! Thanks for making this open-source. Quick question: 1. I see you've hand-written parsers yourself both css & html, why not use existing parsers? was minimizing dependencies one of your goals? 2. Does the project recongnize headers / footers and other such @page css rules? 3. Fragmentation(pagination) logic has a huge set of challenges (at least from what I read about Chrome implementing fragmentation) - did you come across this? - https://developer.chrome.com/docs/chromium/renderingng-fragm.... Was fragmentation logic really that difficult to implement? | ||
▲ | sammycage 2 days ago | parent [-] | |
Thanks for your questions! 1. The documentation for HTML and CSS parsers is pretty straightforward and easier to implement, so I thought it was better to write them myself. 2. It fully supports margin boxes (headers and footers) using properties like @top-left and @bottom-center inside @page rules. You can see more here: https://github.com/plutoprint/plutobook/blob/main/FEATURES.m... 3. Yes, I did come across this. Fragmentation logic is as difficult as it sounds. Right now PlutoBook works with a single, consistent page size throughout a document and does not support named pages, which simplifies things a lot. Feel free to contact me via email if you have more questions. |