//! Render a Balanced Breakfast article body (HTML) to a PDF suitable //! for reading on a Supernote e-ink tablet. //! //! Pipeline: HTML -> `pter` markdown -> `pulldown-cmark` events -> a small //! hand-rolled `printpdf` layout. A5 portrait, Helvetica, three levels of //! headings, bold, italic, bulleted / ordered lists, blockquotes. Images //! and tables are dropped for v1; code blocks render as monospace inline //! text with no syntax highlighting. mod layout; mod render; pub use render::render_article; #[derive(Debug, thiserror::Error)] pub enum Error { #[error("printpdf: {0}")] PrintPdf(String), #[error("empty article body")] Empty, }