Using Vellum.
Everything you need to start, and a reference to come back to.
Keyboard shortcuts
On a Mac, use ⌘ for Ctrl and ⌥ for Alt. Type > in search (Ctrl K) to run any command by name.
| Keys | Action |
|---|---|
| Ctrl N | New page |
| Ctrl Alt N | Capture: page, voice memo, scan or photo |
| Ctrl K · Ctrl P | Search pages, or > for commands |
| ↑ ↓ · j k | Previous / next page (when not typing) |
| Enter | Edit the selected page |
| Ctrl S | Save now (pages also save as you type) |
| Keys | Action |
|---|---|
| Ctrl B · Ctrl I | Bold · italic |
| Ctrl Shift X | Strikethrough |
| Ctrl ` | Inline code |
| Ctrl K (in the editor) | Insert link |
| Ctrl Enter | Toggle task checkbox |
| [[ · ![[ · # | Link a page · embed a page or file · tag |
| Ctrl F | Find in page |
| Keys | Action |
|---|---|
| Ctrl E | Switch between editing and reading |
| Ctrl Shift F · Esc | Focus mode · leave it |
| Ctrl J | Assistant |
| Keys | Action |
|---|---|
| Ctrl-click · middle-click | Open in a new tab |
| Ctrl Alt-click | Open in the split pane |
| Ctrl Alt [ · ] | Previous / next tab |
| Ctrl Alt W | Close tab |
| Ctrl \ | Move the page to the other pane |
| Keys | Action |
|---|---|
| Ctrl Shift / | This list |
Markdown in Vellum
Pages are CommonMark Markdown with a few additions, the same ones Obsidian and GitHub use:
| Write | For |
|---|---|
[[Page]], [[Page#Heading]], [[Page|label]] | A link to another page, a heading in it, or with your own label |
![[Page]], ![[file.pdf]] | Embed a page or an attached file |
[[Page#^id]] and ^id at the end of a paragraph | Link to one block |
#tag, #area/topic | Tags, nested with / |
- [ ] to do | A task; Ctrl Enter ticks it |
--- front matter with key: value | Properties (title, tags, dates…) |
> [!note] Title | A callout (+ or - after it makes it foldable) |
$x^2$, $$…$$ | Math (KaTeX) |
A code block in mermaid | Diagrams and charts (Mermaid) |
[^1] | Footnotes |
Databases
A ``` `vellum-db ``` block in any page defines a database (YAML). Its rows are the pages it selects; their values are front matter properties.
| Key | Meaning |
|---|---|
name | The database’s name (other blocks and use("…") in code cells refer to it) |
source | notebook: Books (sub-notebooks too), tag: reading, or where: a formula over properties |
properties | A list of { key, type }; types: text, number, select, multi-select, date, checkbox, url, relation, rollup, formula; select takes options, formula a formula |
views | A list of { name, type }; types: table, board, calendar, gallery, list; a board takes group |
database: and view: | Alone in a block: show that database (and view) here, live |
Formulas use property names, numbers, text in quotes, comparisons and these functions: if, and, or, not, prop, abs, round, floor, ceil, sqrt, pow, min, max, sum, avg, count, length, empty, coalesce, upper, lower, trim, concat, contains, startswith, endswith, replace, slice, join, split, first, last, unique, number, text, format, now, today, date, dateadd, datesubtract, datediff, year, month, day, weekday, formatdate. Rollups: count, sum, avg, min, max, list.
Flashcards
Any page can hold flashcards (Study):
| Write | Card |
|---|---|
Question :: Answer | Basic, on one line (spaces around ::) |
Question ::: Answer | Reversible: also asks the answer → question |
The {{c1::heart}} pumps {{c2::blood::fluid}}. | Cloze: one card per cN; ::hint shows in the gap |
Lines, then a lone ?, then the answer lines | Multi-line, until a blank line; ?? makes it reversible |
- A list marker, task box, heading or quote before a one-line card is not part of the question.
- Not cards: front matter, fenced code, comments, table rows,
::inside code, math or links, an escaped\::, and::without spaces around it. - Images, math, code, links and recordings work on both sides; an answer may end with its source, like
(from [[Page#^block]], p. 3). - When a page’s cards are first studied, each gets a block id at the end of its line (
^k3x9q2) so its history follows it through edits;[[Page#^k3x9q2]]links to the card.
Code cells
A fenced block whose language Vellum can run becomes a cell (JavaScript, TypeScript, Python, SQL, Lua, Shell (emulated), Ruby, PHP, R, Perl, Go, Rust, C, C++, OCaml, Haskell, Zig, C#, F#, Java, Clojure, Elixir, Erlang, Scheme, Prolog). The language is the first word after the backticks; aliases like py, js, ts and rs work.
When a cell first runs, Vellum adds a short id to the fence, like {#3f9a1c2e}, so its saved output stays with it when you edit or move it. Other Markdown apps ignore it.
More: Code cells.
Backups and moving devices
Settings → Backup & export downloads one file with everything (pages, files, outputs, settings); “Restore from backup” brings it back on any device. “Export all pages” makes an Obsidian-compatible .zip of Markdown files. Encrypted sync keeps computers, phones and tablets up to date.
Requirements
- A current Chrome, Edge, Firefox or Safari with the Origin Private File System. Vellum is developed and tested in Chrome.
- Folder sync needs Chrome or Edge on a computer; device-to-device sync works wherever Vellum does. The assistant is fastest with WebGPU.
- Phones work in the browser and can add Vellum to the home screen.
Get started with Vellum
Open Vellum
Visit vellum.today. There is no sign-up: your pages are stored on this device.
Write
Start a page; it saves as you type. Use Markdown for headings, lists and to-dos.
Organise
Link pages with [[, add #tags, and gather pages in notebooks.
Collect
Drop PDFs, documents and photos into a page; their text becomes searchable.
Ask
Optionally turn on the on-device assistant to ask questions about your pages.
Keep it safe
Download a backup from Settings, or set up encrypted sync between your devices.