← All updates

Canvas renders now look like Obsidian

Canvas card content uses an Obsidian theme by default — real Obsidian type sizes and spacing, a node label above every file card, and more cards fit without a continuation page. Pass theme "github" or "default" for the old look.

apicanvasobsidianrendering

Cards on /api/v1/canvas now render with an Obsidian theme by default. The values come from Obsidian's own reading-view CSS: 16px body text at 1.5 line height, un-underlined headings at Obsidian's em sizes and weights, Obsidian's heading spacing, a 2px accent blockquote bar, 0.875em inline code on #fafafa, code blocks with Obsidian's padding, 2px horizontal rules and bordered tables with no zebra striping. Card boxes follow Obsidian too — 24px horizontal padding, the min(height × 0.1 − 3, 16) vertical padding that gives short cards less, and the node colour at 7% as a coloured card's tint.

The practical effect: a canvas PDF looks like the board does in Obsidian, and cards are less likely to spill into continuation pages. In our spec-coverage fixture the #Second heading file card — which used to need a continuation page — now shrinks to fit on the board, because GitHub's underlined headings and paragraph spacing are gone.

File cards also changed shape. A note card used to open with a synthetic # File name heading inside the box; now the file name is a faint, single-line label above the card, the way Obsidian draws a file node — so a subpath card shows exactly the section you pointed at, and the file name still reads in the PDF's structure tree for screen readers. Cards that do overflow still head their continuation section with the file's name.

Nothing changes for /api/v1/md, whose default theme stays github. On canvas you can opt back into the old card content with options.theme:

{ "canvas": { "nodes": [ … ] }, "options": { "theme": "github" } }

"github" and "default" select the two markdown themes exactly as they render on /md. The Obsidian card geometry (padding, tint, node labels) applies either way. Everything is documented in the canvas guide and on /docs/api.