Skip to main content

max / balanced_breakfast

Keep bb-pdf for memarkable, and say so where it will be found Removing Supernote push left this crate with no caller. Max's call: keep it, and re-integrate with memarkable, which already sideloads documents into the reMarkable's library over SSH. This is the rendering half of "read this article on the tablet" and it already exists. The record goes in lib.rs rather than only in the tracker, because the next person to run across an uncalled crate will be reading the crate. It says both what not to do: not dead code to delete, and not something to wire back into src-tauri without a real caller. Dropped the Supernote from the docs and the description while here. The device was never in the code -- the page is plain A5, not Supernote geometry -- so only the naming had to change, which is also why the retarget will be cheap.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-06 18:42 UTC
Signed with PGP, not checked
Commit: a6233f1656202cf0e7c4787a33d09b5d1aad3cf3
Parent: 23436db
3 files changed, +23 insertions, -4 deletions
@@ -3,7 +3,7 @@
3 3 version.workspace = true
4 4 edition.workspace = true
5 5 license.workspace = true
6 - description = "Render Balanced Breakfast article HTML to a Supernote-friendly PDF."
6 + description = "Render Balanced Breakfast article HTML to an e-ink-friendly PDF."
7 7
8 8 [dependencies]
9 9 pter = "0.2"
@@ -10,7 +10,7 @@
10 10 <h1>The Morning Read</h1>
11 11 <p>This is a <strong>bold</strong> lead paragraph with an <em>italic</em>
12 12 aside, long enough to force line wrapping across the A5 column so we can
13 - see how the body text flows on the Supernote page.</p>
13 + see how the body text flows on the page.</p>
14 14 <h2>A second-level heading</h2>
15 15 <p>Ordinary body copy follows, then a list:</p>
16 16 <ul><li>first bullet item</li><li>second bullet item that runs long enough to wrap onto a second line for good measure</li></ul>
@@ -1,11 +1,30 @@
1 - //! Render a Balanced Breakfast article body (HTML) to a PDF suitable
2 - //! for reading on a Supernote e-ink tablet.
1 + //! Render a Balanced Breakfast article body (HTML) to a PDF suitable for
2 + //! reading on an e-ink tablet.
3 3 //!
4 4 //! Pipeline: HTML -> `pter` markdown -> `pulldown-cmark` events -> a small
5 5 //! hand-rolled `printpdf` layout. A5 portrait, Helvetica, three levels of
6 6 //! headings, bold, italic, bulleted / ordered lists, blockquotes. Images
7 7 //! and tables are dropped for v1; code blocks render as monospace inline
8 8 //! text with no syntax highlighting.
9 + //!
10 + //! # Nothing calls this today, and that is deliberate
11 + //!
12 + //! This crate was written as the rendering half of Supernote push. That
13 + //! feature was removed on 2026-08-06 when `supernote-push` was archived (the
14 + //! reMarkable displaced the Supernote), which left this with no caller. Kept
15 + //! on purpose: the intent is to re-integrate it with `Apps/memarkable`, which
16 + //! already sideloads documents into the reMarkable's library over SSH. This is
17 + //! the half of "read this article on the tablet" that exists; memarkable is
18 + //! the other half.
19 + //!
20 + //! Nothing here was device-specific, which is why the retarget is cheap. The
21 + //! page is plain A5 portrait (`layout.rs`), not Supernote hardware geometry,
22 + //! and the output is an ordinary PDF. Worth a look at the target device's
23 + //! aspect ratio when the time comes, but no rewrite is implied.
24 + //!
25 + //! So: do not delete this as dead code, and do not wire it back into
26 + //! `src-tauri` without a real caller. Both are the same mistake in opposite
27 + //! directions.
9 28
10 29 mod layout;
11 30 mod render;