ttangents225 downloadsLay out notes as paginated word-processor pages in A4 or Letter, with page numbers, margins, a document toolbar and linked mentions as cards, in any theme.
Pagewise lays out your notes as pages, the way a word processor does. Turn it on for a note, and Reading view becomes a stack of tidy sheets with page breaks and page numbers. A document toolbar comes too, so the formatting you use most sits right above your writing.
Pagewise works with any theme and keeps your notes as plain Markdown. Turn it off, and every note looks just as it did before.

Pagewise runs on desktop with Obsidian 1.13.1 or later.
Settings → Pagewise lets you choose:
Printing and PDF export stay with Obsidian. When you export a paginated note, Obsidian sets the PDF's page breaks from its own export settings.
The toolbar sits at the top of every paginated note. Prefer it everywhere? Set "Show the toolbar on" to "All notes".
On a narrow pane, buttons tuck themselves into the More menu, so every one stays within reach.

If you have Obsidian's "Backlinks in document" option on, Pagewise gives each paginated note a friendlier ending. Under "Linked mentions", every note that links here gets a card with the passage around the link, so you can read what it says in place. Notes that link only from their properties appear as small labels underneath. Click a passage to open that note right at the link, or hover over a link for a preview.

Every one of these is optional, and Pagewise does its whole job on its own.

Pagewise works entirely on your computer. It never connects to the internet, collects no data and needs no account. It changes a note only when you use a formatting or table button, and then it writes ordinary Markdown.
Your plugin can add its own buttons to Pagewise's toolbar: a plain button, a menu or an on-and-off toggle, with an optional progress ring or dot. Copy one small file into your plugin, and a few lines connect you. Your plugin keeps working whether or not Pagewise is installed.
import { Notice, Plugin } from "obsidian";
import { connectPagewise } from "./pagewise-api";
export default class WordCountPlugin extends Plugin {
onload(): void {
connectPagewise(this, (pagewise) =>
pagewise.registerToolbarItem({
id: "word-count:count",
label: "Count words",
icon: "hash",
onClick: ({ editor }) => {
new Notice(`${editor.getValue().split(/\s+/).filter(Boolean).length} words`);
},
})
);
}
}
The toolbar guide walks you through every kind of button, with examples.
Copy main.js, manifest.json and styles.css from the latest release into <your vault>/.obsidian/plugins/pagewise/, reload Obsidian, and turn Pagewise on.
npm ci
npm run build
The build creates styles.css, checks the types, runs Obsidian's review rules and the tests, and bundles main.js. npm test runs the tests on their own.
MIT. api/pagewise-api.ts carries the MIT No Attribution license, so you can copy it into your own plugin with or without credit.